mirror of
https://github.com/neovim/neovim.git
synced 2026-07-12 20:30:35 +00:00
fix(window): respect hide flag of float windows when switching (#30507)
This commit is contained in:
@@ -590,7 +590,7 @@ void ex_listdo(exarg_T *eap)
|
||||
break;
|
||||
}
|
||||
assert(wp);
|
||||
execute = !wp->w_floating || wp->w_config.focusable;
|
||||
execute = !wp->w_floating || (!wp->w_config.hide && wp->w_config.focusable);
|
||||
if (execute) {
|
||||
win_goto(wp);
|
||||
if (curwin != wp) {
|
||||
|
||||
@@ -359,13 +359,13 @@ newwindow:
|
||||
wp = lastwin; // wrap around
|
||||
}
|
||||
while (wp != NULL && wp->w_floating
|
||||
&& !wp->w_config.focusable) {
|
||||
&& (wp->w_config.hide || !wp->w_config.focusable)) {
|
||||
wp = wp->w_prev;
|
||||
}
|
||||
} else { // go to next window
|
||||
wp = curwin->w_next;
|
||||
while (wp != NULL && wp->w_floating
|
||||
&& !wp->w_config.focusable) {
|
||||
&& (wp->w_config.hide || !wp->w_config.focusable)) {
|
||||
wp = wp->w_next;
|
||||
}
|
||||
if (wp == NULL) {
|
||||
@@ -2851,7 +2851,7 @@ int win_close(win_T *win, bool free_buf, bool force)
|
||||
break;
|
||||
}
|
||||
if (!wp->w_p_pvw && !bt_quickfix(wp->w_buffer)
|
||||
&& !(wp->w_floating && !wp->w_config.focusable)) {
|
||||
&& !(wp->w_floating && (wp->w_config.hide || !wp->w_config.focusable))) {
|
||||
curwin = wp;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user