Re:Berry is a healthy, byte-sized window manager written in ...
by pengaru on Saturday June 11, 2022 @10:11PM
(#31710605)
I really don't get how you can not appreciate the potential utility of virtual desktops.
In my window manager I took virtual desktops a step further and added contexts, each of which has its own set of virtual desktops. Windows, virtual desktops, and contexts all get kept in most-recently used (MRU) order.
So when I'm working within a virtual desktop, usually it's kept to a very localized specific topic involving multiple windows, Mod+Tab switches through those windows with the hot ones always staying at the top of the MRU-ordered list. Sometimes I end up with a slightly tangential set of windows so I spin up a virtual desktop within that context and keep those windows there, and the virtual desktop switching within the context can be achieved with Mod+Space, also in MRU-order.
But I also usually have multiple contexts active, each with one or more virtual desktops. Those contexts are for entirely disparate topics. Usually one context is communications, I'll have email, IRC, browser, etc. in one or more virtual desktops within that context. Another context will be one development project, with one or more virtual desktops full of terminals, kcachegrind, testing, etc. Usually I have two or three active development contexts repeating that mess. I can switch between the contexts using Mod+Grave, also in MRU-order.
The major value this all brings to me is it organizes my virtual spaces in the same way I organize my thinking and logically switch contexts. Due to everything always being kept in MRU-order, and having explicit keyboard controls for switching to the next recently used {window,virtual-desktop,context}, whenever I switch between these things, what's put immediately in front of me is the last item I was focused on within that context/virtual-desktop. And when I'm cycling through just windows or virtual-desktops, I don't get distracted by ever seeing the stuff put elsewhere.
But I do somewhat agree in the sense that many window managers offering virtual desktops utterly fail to deliver the obvious potential workflow advantages. It's totally ubiquitous for Mod+Tab to cycle window focus in MRU-order, but for some unclear reason nobody seems to do the same for virtual desktops, and I've never seen any before that grouped virtual desktops into another MRU-ordered and iterable/focusable thing which I've termed contexts.
Something I've come to really appreciate with how my window manager works is I'll sometimes spend over a month just living within the three MRU contexts getting shit done. Then I'll finally come up for air and hit Mod-Grave that fourth time without releasing Mod and rediscover that project I was working on last month still sitting there waiting for me to resume working on it, with the last focused window still sitting on top and focused ready to go. The entire month I spent in the top three MRU contexts I didn't have that backburner context's windows/virtual-desktops entering my cognition one iota, despite it being there all running and waiting happily.
In my window manager I took virtual desktops a step further and added contexts, each of which has its own set of virtual desktops. Windows, virtual desktops, and contexts all get kept in most-recently used (MRU) order.
So when I'm working within a virtual desktop, usually it's kept to a very localized specific topic involving multiple windows, Mod+Tab switches through those windows with the hot ones always staying at the top of the MRU-ordered list. Sometimes I end up with a slightly tangential set of windows so I spin up a virtual desktop within that context and keep those windows there, and the virtual desktop switching within the context can be achieved with Mod+Space, also in MRU-order.
But I also usually have multiple contexts active, each with one or more virtual desktops. Those contexts are for entirely disparate topics. Usually one context is communications, I'll have email, IRC, browser, etc. in one or more virtual desktops within that context. Another context will be one development project, with one or more virtual desktops full of terminals, kcachegrind, testing, etc. Usually I have two or three active development contexts repeating that mess. I can switch between the contexts using Mod+Grave, also in MRU-order.
The major value this all brings to me is it organizes my virtual spaces in the same way I organize my thinking and logically switch contexts. Due to everything always being kept in MRU-order, and having explicit keyboard controls for switching to the next recently used {window,virtual-desktop,context}, whenever I switch between these things, what's put immediately in front of me is the last item I was focused on within that context/virtual-desktop. And when I'm cycling through just windows or virtual-desktops, I don't get distracted by ever seeing the stuff put elsewhere.
But I do somewhat agree in the sense that many window managers offering virtual desktops utterly fail to deliver the obvious potential workflow advantages. It's totally ubiquitous for Mod+Tab to cycle window focus in MRU-order, but for some unclear reason nobody seems to do the same for virtual desktops, and I've never seen any before that grouped virtual desktops into another MRU-ordered and iterable/focusable thing which I've termed contexts.
Something I've come to really appreciate with how my window manager works is I'll sometimes spend over a month just living within the three MRU contexts getting shit done. Then I'll finally come up for air and hit Mod-Grave that fourth time without releasing Mod and rediscover that project I was working on last month still sitting there waiting for me to resume working on it, with the last focused window still sitting on top and focused ready to go. The entire month I spent in the top three MRU contexts I didn't have that backburner context's windows/virtual-desktops entering my cognition one iota, despite it being there all running and waiting happily.