daehwannam · 2022-05-21 11:34
daehwannam · 2022-05-21 11:35
It's my rough implementation for EXWM workspace management in multiple monitor environments. The package provides similar experience with GNOME workspaces.
vfclists · 2022-05-21 13:18
Does it allow multiple workspaces in each monitor?
Can workspaces be moved within monitors?
daehwannam · 2022-05-21 14:55
>Does it allow multiple workspaces in each monitor?
Let me explain by an example. We assume there are 3 monitors A, B and C.
Once EXWM finishes booting, monitors A, B and C display workspace 0, 1 and 2, and the workspaces belong to group 0.
If we switch to group 1, monitors A, B and C display workspace 3, 4 and 5.
If we switch to group 2, monitors A, B and C display workspace 6, 7 and 8, and so on.
Therefore, a monitor can have multiple workspaces but switching workspaces only for a monitor is impossible. Instead, all workspaces in the current group are switched together.
​
>Can workspaces be moved within monitors?
A workspace only belongs to a monitor, and cannot be attached to another monitor.
by_wicker · 2022-05-21 15:11
I've left EXWM, but my approach for similar (I think) functionality was to use `eyebrowse`, or now I'd use `tab-bar` to provide this hierachy. One single EXWM workspace per monitor, and then the other package for the switching within a monitor.
daehwannam · 2022-05-21 15:15
My package is compatible with `tab-bar-mode`. Therefore, a workspace in a group can have multiple tabs. Is your approach used for this scenario?
In my package, EXWM has multiple groups, and each group has 3 workspaces for triple monitor, and each workspace can have multiple tabs by `tab-bar-mode`.
by_wicker · 2022-05-21 15:37
Yeah, no matter what you can still use tab-bar-mode for an additional layer/level.
IIRC the biggest benefit is I could have X windows in multiple "virtual workspaces" (tabs), though not simultaneously visible of course. However, my setup got weird with hot-swapping displays, when you have to either maintain the number of EXWM workspaces needed for your max monitor number, or else lose the virtual workspace configs when EXWM workspaces are destroyed.
So probably your flat-list, automatically distributed, approach is the simplest and I do a more limited but similar job with a very basic distribution script in i3.
daehwannam · 2022-05-21 16:26
Thanks for sharing the experience. I'm curious why there aren't many similar packages for EXWM, although this style of workspace management is in demand.
J-ky · 2022-05-22 05:26
I am curious what you left EXWM for?
by_wicker · 2022-05-22 12:18
I went Unity (using primitive tiling) -> Gnome (brief, looking for tiling) -> i3 (brief) -> EXWM (3+years) -> i3 (brief) -> dwm (very brief) -> herbstluftwm (fairly brief) -> i3
Leaving EXWM:
- last straw was having to use some awful Java tool for my job at the time that just refused to render under EXWM.
- it was during the long period where the author appeared to abandon it and there were no commits for a year and I was dealing with some minor bugs (can't remember specifics). Looks better now
- no Wayland future, adding to the feeling of a dead end.
- being *so* far from the mainstream that i3 seems "popular".
- never-quite-ending battle against short (and occasionally long) freezes
In hindsight, also
- The heavy barrier to restarting Emacs (restarting in-place never worked for me(?)). Between Tramp causing temporary hangs and LSP setups getting bound up, consuming resources, it's really nice to just trash an Emacs instance and start afresh at any time.
- frankly, the extreme lack of bling was much more of a negative than I ever anticipated. I'm definitely function-first, form second (I use Emacs!), but a transparent tool bar, and open space showing my desktop image, gaps between windows etc., makes me happier than I ever predicted.
I did some minor config so directional navigating between both Emacs windows and X windows is seamless, which at least gives a little of the EXWM integration of the Emacs and WM world. The effective differences are minor.
Even if some aspects are/were resolved I'm not sure I'd go back to Emacs being my WM because of how much I appreciate the ease and granularity of restarting and having multiple instances. It's pretty easy to run another Emacs instance under EXWM, but then I've lost what makes it special. So that's a sort of catch-22.