blob: 44e4201fa0080bc2e73b777841d8c4660dc4c8f8 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* window.c */
Christian Brabandtbaa8c902025-04-19 11:14:11 +02002void window_layout_lock(void);
3void window_layout_unlock(void);
Yegappan Lakshmanand2232d72025-03-24 20:36:14 +01004int window_layout_locked(enum CMD_index cmd);
Colin Kennedy21570352024-03-03 16:16:47 +01005int check_can_set_curbuf_disabled(void);
6int check_can_set_curbuf_forceit(int forceit);
Bram Moolenaar0f6e28f2022-02-20 20:49:35 +00007win_T *prevwin_curwin(void);
Yegappan Lakshmanane42c27d2023-05-14 17:24:22 +01008win_T *swbuf_goto_win_with_buf(buf_T *buf);
Bram Moolenaaref269542016-01-19 13:22:12 +01009void do_window(int nchar, long Prenum, int xchar);
10void get_wincmd_addr_type(char_u *arg, exarg_T *eap);
Sean Dewar0fd44a52024-02-20 20:28:15 +010011int check_split_disallowed(win_T *wp);
Bram Moolenaaref269542016-01-19 13:22:12 +010012int win_split(int size, int flags);
Sean Dewar704966c2024-02-20 22:00:33 +010013int win_split_ins(int size, int flags, win_T *new_wp, int dir, frame_T *to_flatten);
Bram Moolenaarb53fb312019-06-13 23:59:52 +020014int win_valid_popup(win_T *win);
Bram Moolenaaref269542016-01-19 13:22:12 +010015int win_valid(win_T *win);
Bram Moolenaarcbcd9cb2020-11-07 16:58:59 +010016win_T *win_find_by_id(int id);
Bram Moolenaare59215c2016-08-14 19:08:45 +020017int win_valid_any_tab(win_T *win);
Bram Moolenaaref269542016-01-19 13:22:12 +010018int win_count(void);
19int make_windows(int count, int vertical);
Yegappan Lakshmanand2232d72025-03-24 20:36:14 +010020int win_splitmove(win_T *wp, int size, int flags);
Bram Moolenaaref269542016-01-19 13:22:12 +010021void win_move_after(win_T *win1, win_T *win2);
22void win_equal(win_T *next_curwin, int current, int dir);
orbitalcde8de02023-04-02 22:05:13 +010023void leaving_window(win_T *win);
Bram Moolenaarbdf931c2020-10-01 22:37:40 +020024void entering_window(win_T *win);
LemonBoy09371822022-04-08 15:18:45 +010025void curwin_init(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010026void close_windows(buf_T *buf, int keep_curwin);
Sean Dewar43b395e2023-08-16 16:17:31 +010027int last_window(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010028int one_window(void);
29int win_close(win_T *win, int free_buf);
Yegappan Lakshmanand2232d72025-03-24 20:36:14 +010030void trigger_tabclosedpre(tabpage_T *tp, int directly);
Bram Moolenaar29967732022-11-20 12:11:45 +000031void snapshot_windows_scroll_size(void);
Bram Moolenaar0a60f792022-11-19 21:18:11 +000032void may_make_initial_scroll_size_snapshot(void);
Bram Moolenaar35fc61c2022-11-22 12:40:50 +000033void may_trigger_win_scrolled_resized(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010034void win_close_othertab(win_T *win, int free_buf, tabpage_T *tp);
35void win_free_all(void);
Sean Dewar02fcae02024-02-21 19:40:44 +010036win_T *winframe_remove(win_T *win, int *dirp, tabpage_T *tp, frame_T **unflat_altfr);
Bram Moolenaaref269542016-01-19 13:22:12 +010037void close_others(int message, int forceit);
Bram Moolenaar29967732022-11-20 12:11:45 +000038void unuse_tabpage(tabpage_T *tp);
39void use_tabpage(tabpage_T *tp);
Bram Moolenaaref269542016-01-19 13:22:12 +010040int win_alloc_first(void);
Bram Moolenaar4d784b22019-05-25 19:51:39 +020041win_T *win_alloc_popup_win(void);
42void win_init_popup_win(win_T *wp, buf_T *buf);
Bram Moolenaaref269542016-01-19 13:22:12 +010043void win_init_size(void);
44void free_tabpage(tabpage_T *tp);
45int win_new_tabpage(int after);
Bram Moolenaaref269542016-01-19 13:22:12 +010046int make_tabpages(int maxcount);
47int valid_tabpage(tabpage_T *tpc);
Bram Moolenaar8c752bd2017-03-19 17:09:56 +010048int valid_tabpage_win(tabpage_T *tpc);
Bram Moolenaarb1c91982018-05-17 17:04:55 +020049void close_tabpage(tabpage_T *tab);
Bram Moolenaaref269542016-01-19 13:22:12 +010050tabpage_T *find_tabpage(int n);
51int tabpage_index(tabpage_T *ftp);
52void goto_tabpage(int n);
53void goto_tabpage_tp(tabpage_T *tp, int trigger_enter_autocmds, int trigger_leave_autocmds);
Bram Moolenaar62a23252020-08-09 14:04:42 +020054int goto_tabpage_lastused(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010055void goto_tabpage_win(tabpage_T *tp, win_T *wp);
56void tabpage_move(int nr);
57void win_goto(win_T *wp);
58win_T *win_find_nr(int winnr);
59tabpage_T *win_find_tabpage(win_T *win);
Bram Moolenaar46ad2882019-04-08 20:01:47 +020060win_T *win_vert_neighbor(tabpage_T *tp, win_T *wp, int up, long count);
Bram Moolenaarb9cdb372019-04-17 18:24:35 +020061win_T *win_horz_neighbor(tabpage_T *tp, win_T *wp, int left, long count);
Bram Moolenaaref269542016-01-19 13:22:12 +010062void win_enter(win_T *wp, int undo_sync);
zeertzjq9d956ee2024-04-07 18:16:10 +020063void win_fix_current_dir(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010064win_T *buf_jump_open_win(buf_T *buf);
65win_T *buf_jump_open_tab(buf_T *buf);
Bram Moolenaar6f2465d2022-03-22 18:13:01 +000066int win_unlisted(win_T *wp);
Bram Moolenaar4d784b22019-05-25 19:51:39 +020067void win_free_popup(win_T *win);
Bram Moolenaaref269542016-01-19 13:22:12 +010068void win_remove(win_T *wp, tabpage_T *tp);
69int win_alloc_lines(win_T *wp);
70void win_free_lsize(win_T *wp);
71void shell_new_rows(void);
72void shell_new_columns(void);
73void win_size_save(garray_T *gap);
74void win_size_restore(garray_T *gap);
Hirohito Higashie5c96e32025-06-16 19:39:24 +020075void win_comp_pos(void);
Bram Moolenaard0fb9072021-12-09 11:57:22 +000076void win_ensure_size(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010077void win_setheight(int height);
78void win_setheight_win(int height, win_T *win);
79void win_setwidth(int width);
80void win_setwidth_win(int width, win_T *wp);
81void win_setminheight(void);
Bram Moolenaar1c3c1042018-06-12 16:49:30 +020082void win_setminwidth(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010083void win_drag_status_line(win_T *dragwin, int offset);
84void win_drag_vsep_line(win_T *dragwin, int offset);
85void set_fraction(win_T *wp);
86void win_new_height(win_T *wp, int height);
Bram Moolenaar46328f92016-08-28 15:39:57 +020087void scroll_to_fraction(win_T *wp, int prev_height);
Bram Moolenaaref269542016-01-19 13:22:12 +010088void win_new_width(win_T *wp, int width);
89void win_comp_scroll(win_T *wp);
90void command_height(void);
91void last_status(int morewin);
92int tabline_height(void);
Sean Dewar876f5fb2023-08-17 22:40:05 +020093int last_stl_height(int morewin);
Bram Moolenaaref269542016-01-19 13:22:12 +010094int min_rows(void);
Milly2cddf0e2024-11-28 18:16:55 +010095int min_rows_for_all_tabpages(void);
Bram Moolenaaref269542016-01-19 13:22:12 +010096int only_one_window(void);
97void check_lnums(int do_curwin);
Bram Moolenaar5fa9f232022-07-23 09:06:48 +010098void check_lnums_nested(int do_curwin);
Bram Moolenaara68e5952019-04-25 22:22:01 +020099void reset_lnums(void);
Sean Dewar0fd44a52024-02-20 20:28:15 +0100100int make_snapshot(int idx);
Bram Moolenaaref269542016-01-19 13:22:12 +0100101void restore_snapshot(int idx, int close_curwin);
Bram Moolenaaref269542016-01-19 13:22:12 +0100102int win_hasvertsplit(void);
Bram Moolenaaref269542016-01-19 13:22:12 +0100103int get_win_number(win_T *wp, win_T *first_win);
104int get_tab_number(tabpage_T *tp);
Millya441a3e2024-10-22 22:43:01 +0200105char *check_colorcolumn(char_u *cc, win_T *wp);
Christian Brabandt55f8bba2024-02-28 23:32:00 +0100106int get_last_winid(void);
Christian Brabandt0a6e57b2024-08-15 22:15:28 +0200107int win_locked(win_T *wp);
Bram Moolenaar071d4272004-06-13 20:20:40 +0000108/* vim: set ft=c : */