- Notifications
You must be signed in to change notification settings - Fork750
The window scope
Dan Rosén edited this pageJun 1, 2018 ·1 revision
What is thewindow
scope? It is actually not a window from a client, but a view of a buffer.mawww
writes this on IRC May 3 2017:
09:26 < danr> mawww: in what order are options looked for if they are defined in different scopes?09:26 < danr> buffer, then window then global?09:26 < mawww> window -> buffer -> global09:26 < danr> What is the 'current' scope?09:27 < danr> Oh, window first?09:27 < mawww> A window is not a client09:27 < mawww> a window is linked to a buffer, the window's buffer never changes09:28 < danr> Oh so WinCreate means... a new view into one and the same buffer forever?09:28 < mawww> when you switch to a buffer, Kakoune tries to find a free window on that buffer, and then displays it in a client09:28 < danr> I thought it meant new client ;)09:28 < mawww> yeah, window was a bad choice of name for that09:29 < mawww> so, there is a N:1 relationship between windows and buffers09:29 < danr> So you might get a different 'window' when switching using many clients? 09:30 < mawww> Yep, if you have two clients displaying the same buffer, then you have two windows09:30 < mawww> a window stores a set of selections as well09:31 < mawww> so when you switch back to a buffer, you usually get back to the selections and window position on the buffer you had09:31 < ironzorg> that makes sense, e.g. for collaborative editing or even as a tool (different highlighters of the same data)09:31 < danr> Ah, I see: I got two clients to change the 'window' (and their cursors) by switching around buffers09:32 < danr> I thought the selections were bound to the client somehow09:32 < danr> So not much is bound to the clients, I presume?09:32 < mawww> Yep, as windows options are looked up first, you can have a window on a buffer using one filetype, and another window on the same buffer using another filetype09:33 < danr> oh that could potentially be handy (or confusing! :) )09:33 < mawww> Well, in reallity the selections are bound to the client, but when a window gets hidden, we add it to a free window list along with the selections09:34 < mawww> and when we grab a window from the free list, we restore the associated selections09:36 < danr> Thinking about the name, view, viewport or bufferView might be better than window
- Normal mode commands
- Avoid the escape key
- Implementing user mode (Leader key)
- Kakoune explain
- Kakoune TV