4 ms·
I really like no application being in control of other windows besides my compositor. As a side-effect to security improvements (clipboard, keylogger, screnshot
by MayeulC 6y ago
I really like no application being in control of other windows besides my compositor. As a side-effect to security improvements (clipboard, keylogger, screnshotter), you get:
- Apps cannot arbitrarily modeset (change screen resolution and "mess my desktop up") anymore.
- Under sway, apps are the size I want. I can somewhat resize them over/under their limits
- No more windows that grab the focus and force their way to the foreground
- Apps cannot move my mouse cursor anymore. I hate it when they do, I know some Cadence DKs that do so (position the mouse cursor on the OK button: nice touch, I hate it).
- Some apps/games might have crashed when changing workspaces, but I have never once been unable to "alt-tab" or change workspace, change the screen the app was on, etc.
Granted, under sway those are just different APIs and are not hardened, but they could be in the future. And I mean the above, I've had to restart the X server (or switch to a TTY and kill the app) due to a misbehaving app numerous times, but this is mostly a thing of the past now.
Also, bonus:
- easy multiseat under sway: in under 1 minute, given an extra mouse/keyboard, I can theoretically work with someone else on the same computer: I have a window focused, that I can type in, they too.
- Easily create headless displays, or nested sessions (sway can run as a wayland, X or DRI client). You can use that to leverage another computer as an external display: https://news.ycombinator.com/item?id=25891464 https://news.ycombinator.com/item?id=25891464
- Under sway, the compositor handles configuring input and display. No more xorg.conf (cue https://xkcd.com/963/ https://xkcd.com/963/ though it's less true these days).
And on the technical side:
- From my understanding, apps should be able to pass GPU buffers around much more efficiently, even drawing directly on the final buffer thanks to dma-buf. This leads to lower-latency and higher performance, especially for high resolutions. In turn, it helps quite a bit with pipewire for screensharing and passing video around, as well as zero-copy hardware video acceleration.