Skip to content

Conversation

seandewar
Copy link
Member

@seandewar seandewar commented May 3, 2025

Problem: Using <C-W>w, <C-W>W or the ":wincmd" variants with a count can
enter unfocusable or hidden floating windows. This is especially problematic
when using the new in-development extui, which creates many unfocusable floats
for various UI elements.

Solution: Skip unfocusable and hidden floating windows. Instead, skip to the
next focusable, non-hidden window in the current tabpage's window list. Reword
the documentation a bit (hopefully an improvement?)

Dunno if this is wanted, or if the old behaviour should be maintained when using uppercase "W" or something...

@github-actions github-actions bot added the window viewport, scrolling, window label May 3, 2025
@seandewar seandewar force-pushed the wincmd-w-focusssss branch 2 times, most recently from ced5559 to e8e9c6a Compare May 3, 2025 11:31
@glepnir

This comment was marked as off-topic.

Problem: Using `<C-W>w`, `<C-W>W` or the ":wincmd" variants with a count can
enter unfocusable or hidden floating windows. This is especially problematic
when using the new in-development extui, which creates many unfocusable floats
for various UI elements.

Solution: Skip unfocusable and hidden floating windows. Instead, skip to the
next focusable, non-hidden window in the current tabpage's window list. Reword
the documentation a bit (hopefully an improvement?)
@seandewar seandewar force-pushed the wincmd-w-focusssss branch from e8e9c6a to 96f0ef2 Compare May 3, 2025 11:59
@seandewar

This comment was marked as resolved.

@glepnir

This comment was marked as resolved.

@justinmk justinmk merged commit 403fcac into neovim:master May 3, 2025
31 checks passed
github-actions bot pushed a commit that referenced this pull request May 3, 2025
…33810

Problem: Using `<C-W>w`, `<C-W>W` or the ":wincmd" variants with a count can
enter unfocusable or hidden floating windows. This is especially problematic
when using the new in-development extui, which creates many unfocusable floats
for various UI elements.

Solution: Skip unfocusable and hidden floating windows. Instead, skip to the
next focusable, non-hidden window in the current tabpage's window list. Reword
the documentation a bit (hopefully an improvement?)

(cherry picked from commit 403fcac)
@neovim-backports
Copy link

Successfully created backport PR for release-0.11:

@neovim-backports
Copy link

Git push to origin failed for release-0.11 with exitcode 1

@seandewar seandewar deleted the wincmd-w-focusssss branch May 3, 2025 18:35
github-actions bot pushed a commit that referenced this pull request May 3, 2025
…33810

Problem: Using `<C-W>w`, `<C-W>W` or the ":wincmd" variants with a count can
enter unfocusable or hidden floating windows. This is especially problematic
when using the new in-development extui, which creates many unfocusable floats
for various UI elements.

Solution: Skip unfocusable and hidden floating windows. Instead, skip to the
next focusable, non-hidden window in the current tabpage's window list. Reword
the documentation a bit (hopefully an improvement?)

(cherry picked from commit 403fcac)
bfredl added a commit that referenced this pull request May 30, 2025
This is a maintenance release, focusing on bug fixes. Some enhancements related
to vim.lsp.enable are also included.

FEATURES
--------------------------------------------------------------------------------
- 4e43264 lsp: vim.lsp.is_enabled() #33703
- c4b9bdb lsp: start/stop LSPs as necessary during vim.lsp.enable() #33702
- 216c56b lsp: detach LSP clients when 'filetype' changes #33707
- 533ec6d lsp: `root_markers` can control priority
- ad7211a checkhealth: trigger FileType event after showing report
- f25f6c8 health: summary in section heading #33388

FIXES
--------------------------------------------------------------------------------
- 710d561 lsp: don't eagerly enable LSP configs during startup #33762
- 0ed06d7 lsp: check if client is stopping before reuse #33796
- f184c56 lsp: detect if Client:request resolved synchronously #33624
- b868257 lsp: fix error with InsertReplaceEdit events #33973
- 6b69b32 lsp: improper diagnostic end_col computation
- e512c95 lsp: improve error completion message #33812
- 47686a1 lsp: only auto-detach lsp.config clients #33834
- 901eeeb lsp: use `bufnr` when getting clients in `symbols_to_items` (#33760)
- a242902 :print: don't use schar_from_ascii() for illegal byte (#34046)
- 4b6caa9 cmdline: do not move UI cursor when entering cmdline #33729
- fd8e0ae decor: extmark highlight not applied (#33858)
- 81233a4 display: adjust setting winline info for concealed lines (#33717)
- 4cb2b19 folds: adjust filler text drawing for transparent folds
- bdd8498 folds: avoid unnecessary loop with horizontal scrolling (#33932)
- 32842b0 health: checkhealth float opens extra empty buffer #33648
- dc87a0d lua: vim.validate `message` param #33675
- 334d8f5 move: consume skipcol before revealing filler lines (#34143)
- 6a87b57 runtime: 'includeexpr' with non-Nvim-style Lua modules #33867
- 2b2a344 runtime: conceal paths in help, man ToC loclist #33764
- 3db39ed runtime: cpoptions is reset in Lua file #33671
- cefc91a system: don't treat NUL at start as no input (#34167)
- 8daffd0 terminal: check size when switching buffers
- 0db8946 termkey: out-of-bounds write in array #33868
- 6563c6b treesitter: close `:InspectTree` with `q`
- 5c6ee25 treesitter: eliminate flicker for single windows #33842
- 3b3cf1d treesitter: invalidate conceal_lines marks (#33832)
- 58460e2 treesitter: parser metadata annotations
- 034d3c8 treesitter: proper tree `contains()` logic with combined injections
- 560c6ca trust: support for trusting directories #33735
- 12ae7aa tui: clear primary device callback before invoking it (#34032)
- 4296511 tui: don't process UI events when suspending or stopping (#33710)
- cf73f21 tui: don't try to add unsupported modifiers (#33799)
- 465c181 tui: forward C0 control codes literally (#33759)
- 0c2bf55 tutor: l:lang is undefined
- 3a0d376 vim.system: improve error message when cwd does not exist
- 9b34266 window: skip unfocusable and hidden floats with "{count}<C-W>w" #33810

VIM PATCHES
--------------------------------------------------------------------------------
- 9965cfb 9.1.1361: [security]: possible use-after-free when closing a buffer (#33820)
- 3c10230 9.1.1375: [security]: possible heap UAF with quickfix dummy buffer
- 1921dda 3704b5b: runtime(tutor): improve tutor.vim plugin and filetype plugin
- 4e5af2f 5a8f995: runtime(doc): remove outdated Contribution section in pi_tutor (#34094)
- 3273c59 829eda7: runtime(new-tutor): update tutor and correct comandline completion
- 3e83a33 9.1.1297: Ctrl-D scrolling can get stuck #33453
- 6417ba0 9.1.1376: quickfix dummy buffer may remain as dummy buffer
- 30fa1c5 9.1.1380: 'eventignorewin' only checked for current buffer
- 6b140ae 9.1.1384: still some problem with the new tutors filetype plugin
- f623fad 9.1.1385: inefficient loop for 'nosmoothscroll' scrolling (#33992)
- d50f71d 9.1.1387: memory leak when buflist_new() fails to reuse curbuf
- 27abf5c 9.1.1388: Scrolling one line too far with 'nosmoothscroll' page scrolling (#34023)
- 917f496 9.1.1395: search_stat not reset when pattern differs in case (#34058)
- b07bffd 9.1.1402: multi-byte mappings not properly stored in session file (#34131)
- ff83c71 9.1.1405: tests: no test for mapping with special keys in session file (#34146)
- d1ca551 9.1.1407: Can't use getpos('v') in OptionSet when using setbufvar() (#34177)

DOCUMENTATION
--------------------------------------------------------------------------------
- e5e69f7 add missing change to getcharstr() signature (#33797)
- 95ee908 backport #33549 and #33524 to 0.11 (#33678)
- 472d41b default mappings #33706
- 3a4d393 fixups (#33815)
- fa292e6 lsp, emoji, startup #33683
- 714622f lsp, lua #33682
- d68d212 provide example_init.lua #33524
- 968947b lua: typing for vim.fn.winlayout #33817
- e304677 tutor: move lesson 7.2 below lesson 7.3 #33662
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci:backport release-0.11 window viewport, scrolling, window
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants