I want to have my screen (the “dev” workspace) split in three “zones”:
- on the left side, a tabbed group with all the text editors I start (ie. if I start a new one, it goes there in a new tab)
- on the top-right, a tabbed group of whatever many terminal I feel like launching
- on the bottom-right, my browsers (and possibly other stuff), in a group without tabs
- a key combination to cycle between: all three “zones” visible, text editors on the left - terminal on the right, text editors on the left - browser on the right, fullscreen browser
So far I’ve been looking at hyprland (for no particular reason except the hype) and I don’t think I can do the above with it (I am by no means an expert, so… maybe it can actually be done?).
Do you know of any WM where it would be possible? (possibly, one with automatic splitting a-la bspwm, that I would use for the other workspaces)
You can use any modular tiling manager for this. Only the tiling layout generator (this one is for river) matters here.
TBH I really liked the idea behind river, but does it have tabs? Also… I would need to write my own custom layout, wouldn’t I?
BTW: are there other WMs that are modular like river?
There’s newm, which looks really cool, but unfortunately, it is not being maintained any more - I think future version of GNOME will be going in that direction soon, if you’re interested in that style of hybrid single workspace, scrollable window/desktop management. Then there’s also labwc, herbsluftwm, qtile, etc. If you don’t mind X11, you’ll have lots of options to choose from. Personally, I’ve moved to XFCE4 because it is very light-weight, and I’m waiting for version 4.20, which will move to Wayland completely, and make use of wlroots.
Reading https://codeberg.org/river/river/src/branch/master/protocol/river-layout-v3.xml it seems to me that what I want to do is actually not possible in river, even writing a custom layout manager…
IIUC the protocol works like this: river asks “how should I layout N windows in HxW screen?” and the layout replies “window1: H1xW1 at offset X1,Y1; window2: H2xW2 …”, so there is no way for the layout manager to identify specific windows and, in my use case, put all the text editors on the left side of the screen etc.
Did you have some other approach in mind when you suggested river? (I may very well be over-complicating things and not seeing a more straightforward solution)
Sorry I derailed from the topic, but afaik, you can use either generators like rivertiler (herbsluft-inspired) or rivercarro (default generator) for riverwm. In fact, rivertiler also provides you with the necessary libraries to create your own layout generator. Maybe you’re looking for riverwm-spiral-extended?