3 ms·
One possible problem with your experience with 3 monitors is that you have poor tools at your disposal to manage them. When I first switched from 2 monitors to
by burntsushi 12y ago
One possible problem with your experience with 3 monitors is that you have poor tools at your disposal to manage them. When I first switched from 2 monitors to 3 monitors (on Linux), it was horrendous:
- My workspaces were monolithic. If I changed my workspace, the windows on all my monitors went with it.
- Alt-tab worked globally across all monitors. I wanted it to only list the windows that were on the currently focused monitor.
- Moving windows from one monitor to the next in a predictable way was a chore. (I eventually resolved this with some key bindings, but it was a hack.)
- No window manager I know of afforded me the option of using tiling or (GOOD) stacking layouts on a per-monitor basis. (Some tiling WMs exist that solve the monolithic workspace problem, but they are all tiling.)
My first solution to this was to fork Openbox. It worked well for a while, but it was subject to a lot of state transition bugs and my hack became hard to maintain.
So I wrote my own. In Go. (Including a full X client stack.) https://github.com/BurntSushi/wingo https://github.com/BurntSushi/wingo
I love working with three monitors now, because I can freely mix and match the windows on my screen. My workspaces are dynamic (add/remove/rename as I please), so everything is composable. On one monitor, I might have a bunch of terminals in tiling mode. On another, I might have GIMP in stacking mode. Interestingly, in order to achieve this, I had to break compatibility with existing standards (but support as many as possible). As a result, some existing WM tools (particularly pagers and possibly task bars) just can't work well with my WM without explicit support. Perhaps this is why so few of these WMs exist outside the tiling world!
- mrkipling 12y agoYou might want to check out i3wm[1]. I know you said that you're not particularly interested in tiling WMs but it's great for multiple monitors. Thinking about it, it would be perfect for a triple monitor setup as it solves a lot of the problems you've mentioned (monolithic workspaces, moving windows to workspaces predictably, etc.) and is highly (and easily) configurable. [1] https://i3wm.org/ https://i3wm.org/
- burntsushi 12y agoI am very aware of the WMs in this space. I used Xmonad for several years, for example. Wingo is actually a tiling WM. But it's also a stacking WM. The difference with other tiling WMs is that its stacking layouts are first class citizens (hopefully as good as Openbox's) rather than hacks to get pesky applications to behave.
- twa927 12y agoThat's something I can't understand - why the inferior model is enforced by the specs (the same workspace on all screens). Having separate workspaces for separate screens is a natural setup, and for me it's the reason I couldn't use GNOME or KDE for work.
- burntsushi 12y agoAs with most anything, the answer lies in history. The idea that multiple monitors could share the same root window in X is relatively "recent" (Xinerama, but now RandR). Before Xinerama, you'd drive multiple monitors on Linux by using separate X screens. Separate X screens have distinct root windows. As a result, you could not move one window from one monitor to the next. Window managers and the specifications surrounding them were built up around this architecture. As a result, there is very meager support in the FreeDesktop WM standards for multiple monitors that share the same root window. Wingo breaks very few of them, but the ones it breaks (e.g., `_NET_WORKAREA`) are pretty important for pagers. It also breaks an implicit assumption that only one workspace is visible at any point in time. So pagers and taskbars are like, "Oh. So you have multiple workspaces visible and they don't all have the same geometry?" Whoops. :-)