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