Q: Linux compositors / tiling WMs:

- I have 2x27" monitors, and have used GNOME for many years

- I am a big user of workspaces: One activity per workspace, *ACROSS BOTH MONITORS*

- I want to seriously give a (wayland?) WM a go, and have tried hyprland and niri

- I cannot seem to capture my mental model / workflow with these WMs. I love the tiling (clean, space efficient + KB driven), but the workspaces are *PER MONITOR*

What am I missing?

#unixporn #linux #desktop #archlinux

@oschonrock Hmm at least on sway it would be easy to work around the issue as you could assign some workspaces (1, 2, 3, etc.) to output one, some to output two (11, 12, 13, etc.), and then modify your shortcuts for switching workspaces to change workspaces on both outputs at once (i.e. `bindsym $mod+1 workspace number 1, workspace number 11` to switch to workspace "1"). And then configure whatever bar you are using to hide this.

Similar workarounds might exist on niri and hyprland?

@qwertviop @oschonrock This works for both Niri and Hyprland as well. You'd set the keybind for a script that calls

${compositor}ctl dispatch workspace 1
${compositor}ctl dispatch workspace 11

...

@ftranschel @qwertviop

It may be possible, but when I looked into it for niri, some potential conceptual blockers came up, eg:

niri has a dynamic number of workspaces

I haven't investigated hyprland as much.

@oschonrock @qwertviop Look into https://github.com/niri-wm/niri/wiki/for the necessary pointers.

WMs as opposed to DEs usually expect the users to customize their workflow themselves and lack accessibility in this regard.

However, my experience has been that a) you can get things not possible with DEs and
b) It's all the more fulfilling to solve the problem.

Edit: While Niri is unlimited scrolling you *can* have named workspaces and you *can* make them work in the way you laid out.

@ftranschel @qwertviop

Yeah, I am am expecting that, and wanting that. I'll write my own WM in C if that's helpful.

However, I may start with a simpler WM that niri, or hyprland and only progress to more complexity if required.

And also stay away from DMS/Quickshell whose memory leaks basically took down my machine (admittedly in their git HEAD version).

@oschonrock @qwertviop Sad to hear that Dank didn't work for you. I'm ravin' about Quickshell big time, it is great fun. I'd wager the leak was not from QS itself, but it is really easy to f*** up with QML/JavaScript.

@ftranschel @qwertviop

I like the idea of QS, and the result is great. It's probably me. That's why reducing complexity might be a good step rn, so it's clearer where the issues are coming from.

The memory leak happened after I, slightly adventurously, installed qs-git from AUR, because the DMS was asking for more recent QS for "idle detect =>suspend" functionality.

Suspend worked, but when it woke up QS was consuming like 20GB.

I agree, could well be the QML using that feature.

@ftranschel @qwertviop

Overall memory consumption (before I installed -git version) from QS was also a bit irritating, >450MB?

Is that normal?

@oschonrock @qwertviop Depends on what you do with it obviously.

Running an app launcher, expose task switcher, bar, sidebar widget and some little bits is also 480MB for me, actually.

(Not Dank, though.)

@ftranschel @qwertviop

tried to look into the memory usage..

TBH I am a little stumped.

can't prove it's quickshell or DMS or niri, but I knowI have never seen 17GB "used" without anything running except one terminal with top.

I chased all sorts of ghosts on "kernel pages etc". AI is also talking BS as usual.

🤷

EDIT: never mind.. as always after posting.. I found the ghost:

$ sudo sync && sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

fixes it. Looks like I did QS an injustice.

@ftranschel @qwertviop

So in summary

niri + QS with DMS
is ~ 1.9GB with just one terminal + `top`

and GNOME (as per default arch install)
is about the same: 1.9GB.

Gnome has lots of little "extra services", but the main "shell" is smaller than niri+QS/DMS

So I like it, for its functionality, not for its leanness necessarily.

maybe can trim some fat.

@ftranschel @qwertviop

One day on, and I have unfortunately confirmed my suspicion that QS is a failure unstable mess, rn.

https://github.com/quickshell-mirror/quickshell/issues/700

It's Segfaulting at least 10 times per suspend and i have to restart/reboot afterwards to make it work again.

There are also >5 other reported issues with different crashes.

Not sure I can put up with that. Will have to downgrade or switch to something simpler / more stable.

SIGSEGV on suspend · Issue #700 · quickshell-mirror/quickshell

arch linux: up2date niri 25.11 (b35bcae) dms v1.4.4 Quickshell 0.2.1 (revision d612227, distributed by AUR (package: quickshell-git)) fresh boot, with little activity crash happens when machine sus...

GitHub