this post was submitted on 14 Sep 2024
51 points (100.0% liked)

Linux

47342 readers
979 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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)

top 7 comments
sorted by: hot top controversial new old
[–] hackerwacker@lemmy.ml 20 points 4 days ago (1 children)

Yes, in i3, sway, and hyprland with hy3.

[–] gomp@lemmy.ml 2 points 3 days ago

Sorry to be a bother, but... how do I tell hyprland I want a window to be added to a specific group?

I was thinking of something like:

windowrulev2 = tag texteditor, class:(myfirsteditor)
windowrulev2 = tag texteditor, class:(mysecondeditor)
windowrulev2 = group XXX, tag:texteditor

but I can't find what I should write instead of group XXX to tell hyprland/hy3 that I want the window to be added to a group on the left-side of workspace 1...

I would also be fine with some rule that could be added to exec or probably even some dispatcher, but I can't find anything that allows to target (or define) a specific group.

Am I pursuing this from the wrong direction?

[–] velox_vulnus@lemmy.ml 12 points 4 days ago* (last edited 4 days ago) (1 children)

You can use any modular tiling manager for this. Only the tiling layout generator (this one is for river) matters here.

[–] gomp@lemmy.ml 2 points 3 days ago (1 children)

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?

[–] velox_vulnus@lemmy.ml 1 points 3 days ago* (last edited 3 days ago) (1 children)

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.

[–] gomp@lemmy.ml 1 points 3 days ago* (last edited 3 days ago) (1 children)

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)

[–] velox_vulnus@lemmy.ml 1 points 2 days ago

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?