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