Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | /* window.c */ |
Colin Kennedy | 2157035 | 2024-03-03 16:16:47 +0100 | [diff] [blame] | 2 | int check_can_set_curbuf_disabled(void); |
| 3 | int check_can_set_curbuf_forceit(int forceit); |
Bram Moolenaar | 9fda815 | 2022-11-19 13:14:10 +0000 | [diff] [blame] | 4 | int window_layout_locked(enum CMD_index cmd); |
Bram Moolenaar | 0f6e28f | 2022-02-20 20:49:35 +0000 | [diff] [blame] | 5 | win_T *prevwin_curwin(void); |
Yegappan Lakshmanan | e42c27d | 2023-05-14 17:24:22 +0100 | [diff] [blame] | 6 | win_T *swbuf_goto_win_with_buf(buf_T *buf); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 7 | void do_window(int nchar, long Prenum, int xchar); |
| 8 | void get_wincmd_addr_type(char_u *arg, exarg_T *eap); |
Sean Dewar | 0fd44a5 | 2024-02-20 20:28:15 +0100 | [diff] [blame] | 9 | int check_split_disallowed(win_T *wp); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 10 | int win_split(int size, int flags); |
Sean Dewar | 0fd44a5 | 2024-02-20 20:28:15 +0100 | [diff] [blame] | 11 | int win_splitmove(win_T *wp, int size, int flags); |
Sean Dewar | 704966c | 2024-02-20 22:00:33 +0100 | [diff] [blame] | 12 | int win_split_ins(int size, int flags, win_T *new_wp, int dir, frame_T *to_flatten); |
Bram Moolenaar | b53fb31 | 2019-06-13 23:59:52 +0200 | [diff] [blame] | 13 | int win_valid_popup(win_T *win); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 14 | int win_valid(win_T *win); |
Bram Moolenaar | cbcd9cb | 2020-11-07 16:58:59 +0100 | [diff] [blame] | 15 | win_T *win_find_by_id(int id); |
Bram Moolenaar | e59215c | 2016-08-14 19:08:45 +0200 | [diff] [blame] | 16 | int win_valid_any_tab(win_T *win); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 17 | int win_count(void); |
| 18 | int make_windows(int count, int vertical); |
| 19 | void win_move_after(win_T *win1, win_T *win2); |
| 20 | void win_equal(win_T *next_curwin, int current, int dir); |
orbital | cde8de0 | 2023-04-02 22:05:13 +0100 | [diff] [blame] | 21 | void leaving_window(win_T *win); |
Bram Moolenaar | bdf931c | 2020-10-01 22:37:40 +0200 | [diff] [blame] | 22 | void entering_window(win_T *win); |
LemonBoy | 0937182 | 2022-04-08 15:18:45 +0100 | [diff] [blame] | 23 | void curwin_init(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 24 | void close_windows(buf_T *buf, int keep_curwin); |
Sean Dewar | 43b395e | 2023-08-16 16:17:31 +0100 | [diff] [blame] | 25 | int last_window(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 26 | int one_window(void); |
| 27 | int win_close(win_T *win, int free_buf); |
Bram Moolenaar | 2996773 | 2022-11-20 12:11:45 +0000 | [diff] [blame] | 28 | void snapshot_windows_scroll_size(void); |
Bram Moolenaar | 0a60f79 | 2022-11-19 21:18:11 +0000 | [diff] [blame] | 29 | void may_make_initial_scroll_size_snapshot(void); |
Bram Moolenaar | 35fc61c | 2022-11-22 12:40:50 +0000 | [diff] [blame] | 30 | void may_trigger_win_scrolled_resized(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 31 | void win_close_othertab(win_T *win, int free_buf, tabpage_T *tp); |
| 32 | void win_free_all(void); |
Sean Dewar | 02fcae0 | 2024-02-21 19:40:44 +0100 | [diff] [blame] | 33 | win_T *winframe_remove(win_T *win, int *dirp, tabpage_T *tp, frame_T **unflat_altfr); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 34 | void close_others(int message, int forceit); |
Bram Moolenaar | 2996773 | 2022-11-20 12:11:45 +0000 | [diff] [blame] | 35 | void unuse_tabpage(tabpage_T *tp); |
| 36 | void use_tabpage(tabpage_T *tp); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 37 | int win_alloc_first(void); |
Bram Moolenaar | 4d784b2 | 2019-05-25 19:51:39 +0200 | [diff] [blame] | 38 | win_T *win_alloc_popup_win(void); |
| 39 | void win_init_popup_win(win_T *wp, buf_T *buf); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 40 | void win_init_size(void); |
| 41 | void free_tabpage(tabpage_T *tp); |
| 42 | int win_new_tabpage(int after); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 43 | int make_tabpages(int maxcount); |
| 44 | int valid_tabpage(tabpage_T *tpc); |
Bram Moolenaar | 8c752bd | 2017-03-19 17:09:56 +0100 | [diff] [blame] | 45 | int valid_tabpage_win(tabpage_T *tpc); |
Bram Moolenaar | b1c9198 | 2018-05-17 17:04:55 +0200 | [diff] [blame] | 46 | void close_tabpage(tabpage_T *tab); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 47 | tabpage_T *find_tabpage(int n); |
| 48 | int tabpage_index(tabpage_T *ftp); |
| 49 | void goto_tabpage(int n); |
| 50 | void goto_tabpage_tp(tabpage_T *tp, int trigger_enter_autocmds, int trigger_leave_autocmds); |
Bram Moolenaar | 62a2325 | 2020-08-09 14:04:42 +0200 | [diff] [blame] | 51 | int goto_tabpage_lastused(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 52 | void goto_tabpage_win(tabpage_T *tp, win_T *wp); |
| 53 | void tabpage_move(int nr); |
| 54 | void win_goto(win_T *wp); |
| 55 | win_T *win_find_nr(int winnr); |
| 56 | tabpage_T *win_find_tabpage(win_T *win); |
Bram Moolenaar | 46ad288 | 2019-04-08 20:01:47 +0200 | [diff] [blame] | 57 | win_T *win_vert_neighbor(tabpage_T *tp, win_T *wp, int up, long count); |
Bram Moolenaar | b9cdb37 | 2019-04-17 18:24:35 +0200 | [diff] [blame] | 58 | win_T *win_horz_neighbor(tabpage_T *tp, win_T *wp, int left, long count); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 59 | void win_enter(win_T *wp, int undo_sync); |
zeertzjq | 9d956ee | 2024-04-07 18:16:10 +0200 | [diff] [blame] | 60 | void win_fix_current_dir(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 61 | win_T *buf_jump_open_win(buf_T *buf); |
| 62 | win_T *buf_jump_open_tab(buf_T *buf); |
Bram Moolenaar | 6f2465d | 2022-03-22 18:13:01 +0000 | [diff] [blame] | 63 | int win_unlisted(win_T *wp); |
Bram Moolenaar | 4d784b2 | 2019-05-25 19:51:39 +0200 | [diff] [blame] | 64 | void win_free_popup(win_T *win); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 65 | void win_remove(win_T *wp, tabpage_T *tp); |
| 66 | int win_alloc_lines(win_T *wp); |
| 67 | void win_free_lsize(win_T *wp); |
| 68 | void shell_new_rows(void); |
| 69 | void shell_new_columns(void); |
| 70 | void win_size_save(garray_T *gap); |
| 71 | void win_size_restore(garray_T *gap); |
| 72 | int win_comp_pos(void); |
Bram Moolenaar | d0fb907 | 2021-12-09 11:57:22 +0000 | [diff] [blame] | 73 | void win_ensure_size(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 74 | void win_setheight(int height); |
| 75 | void win_setheight_win(int height, win_T *win); |
| 76 | void win_setwidth(int width); |
| 77 | void win_setwidth_win(int width, win_T *wp); |
| 78 | void win_setminheight(void); |
Bram Moolenaar | 1c3c104 | 2018-06-12 16:49:30 +0200 | [diff] [blame] | 79 | void win_setminwidth(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 80 | void win_drag_status_line(win_T *dragwin, int offset); |
| 81 | void win_drag_vsep_line(win_T *dragwin, int offset); |
| 82 | void set_fraction(win_T *wp); |
| 83 | void win_new_height(win_T *wp, int height); |
Bram Moolenaar | 46328f9 | 2016-08-28 15:39:57 +0200 | [diff] [blame] | 84 | void scroll_to_fraction(win_T *wp, int prev_height); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 85 | void win_new_width(win_T *wp, int width); |
| 86 | void win_comp_scroll(win_T *wp); |
| 87 | void command_height(void); |
| 88 | void last_status(int morewin); |
| 89 | int tabline_height(void); |
Sean Dewar | 876f5fb | 2023-08-17 22:40:05 +0200 | [diff] [blame] | 90 | int last_stl_height(int morewin); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 91 | int min_rows(void); |
| 92 | int only_one_window(void); |
| 93 | void check_lnums(int do_curwin); |
Bram Moolenaar | 5fa9f23 | 2022-07-23 09:06:48 +0100 | [diff] [blame] | 94 | void check_lnums_nested(int do_curwin); |
Bram Moolenaar | a68e595 | 2019-04-25 22:22:01 +0200 | [diff] [blame] | 95 | void reset_lnums(void); |
Sean Dewar | 0fd44a5 | 2024-02-20 20:28:15 +0100 | [diff] [blame] | 96 | int make_snapshot(int idx); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 97 | void restore_snapshot(int idx, int close_curwin); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 98 | int win_hasvertsplit(void); |
Bram Moolenaar | ef26954 | 2016-01-19 13:22:12 +0100 | [diff] [blame] | 99 | int get_win_number(win_T *wp, win_T *first_win); |
| 100 | int get_tab_number(tabpage_T *tp); |
Bram Moolenaar | e677df8 | 2019-09-02 22:31:11 +0200 | [diff] [blame] | 101 | char *check_colorcolumn(win_T *wp); |
Christian Brabandt | 55f8bba | 2024-02-28 23:32:00 +0100 | [diff] [blame] | 102 | int get_last_winid(void); |
Christian Brabandt | 0a6e57b | 2024-08-15 22:15:28 +0200 | [diff] [blame] | 103 | int win_locked(win_T *wp); |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 104 | /* vim: set ft=c : */ |