▲ | chrismorgan 3 days ago | |
I used i3 previously (2013–2016), and after a few years back on Windows (2016–2021), decided to try Sway on my current laptop (mid-2021), which happens to have a 1.5× panel. Not everything has always been smooth, but at some point when I was needing to do screen sharing via Zoom I had to switch back to i3, and the comparison was more stark than I remembered. On i3: Tearing (graphical glitches) is terrible, especially if you’re doing screen sharing. I can’t use my XF86AudioMicMute key because its keycode is 256 and X only supports 8-bit codes. The touchpad doesn’t work well. Scaling stuff is a total mess, a mess that you can mostly get to work, but you’ll need to set four different environment variables and run a gsettings daemon and set these three properties and add this file to this location and that one to that and modify your Chromium flags and I probably even forgot a couple of steps. On Wayland: Tearing is solved. I had to modify the keymap to get XF86AudioMicMute¹, which I suspect was because of X compatibility, but then it works. The touchpad works very well, gestures, scroll rates and all. Scaling is robust and automatic, if you have an integer scaling factor or are willing to settle for render-at-next-integer-and-downsample, which is a bad technique but good enough for Apple; and compositors now support proper fractional scaling, and apps are more commonly implementing it (though I’m distressed it took so long). Firefox Nightly has just this week finally fixed the last problem that I’ve noticed, and I hope they’ll default-enable Wayland fractional scaling and Wayland soon. The only thing I feel Sway’s behind in now is its lack of per-window screen sharing. Other than that, it’s very solidly better than i3 in every way: in convenience (things work better out of the box), in robustness (features that exist don’t have issues) and in features. —⁂— ¹ Ran `xkbcomp $DISPLAY keymap.xkb`, then modified that file by changing `maximum = 255;` to `maximum = 256;`, and adding in appropriate places `<I256> = 256;` and `key <I256> { [ XF86AudioMicMute ] };`. Then, in ~/.config/sway/config, `input * xkb_file "~/.config/sway/keymap.xkb"` or similar. | ||
▲ | mid-kid 3 days ago | parent | next [-] | |
> Tearing (graphical glitches) is terrible, especially if you’re doing screen sharing. Download and run "picom" (its default configuration is good), or any other compositor. This is the way to get graphical acceleration for regular windows on X11, and fix tearing. > Scaling stuff is a total mess, a mess that you can mostly get to work, but you’ll need to set four different environment variables and run a gsettings daemon and set these three properties and add this file to this location and that one to that and modify your Chromium flags and I probably even forgot a couple of steps. I just modify ~/.Xresources with the "Xft.dpi: 120" for 1.25x scaling. All apps I care about pick this value to scale the UI with (chrome, firefox, telegram, Qt as a whole, etc). Notable exceptions being java apps. See: https://wiki.archlinux.org/title/HiDPI#X_Resources https://wiki.archlinux.org/title/Xorg#Setting_DPI_manually | ||
▲ | arghwhat 3 days ago | parent | prev [-] | |
> The only thing I feel Sway’s behind in now is its lack of per-window screen sharing. That's available in sway/wlroots master with xdg-desktop-portal-wlr master. Will be in next release. |