I didn’t plan to write about Wayland yet. But Xorg is dying — not eventually, but now. GNOME’s dropping X11 support. RHEL already removed it. Ubuntu and Fedora are next. And if you rely on accessibility, you don’t get to wait this one out. So here’s Post 4 of I Want to Love Linux. It Doesn’t Love Me Back. I’m using Wayland now. Primarily. Not because I love it. Because the fallback is disappearing, and I want to be there helping fix what comes next. GNOME with Orca actually works. KDE and COSMIC are making progress. I’ve talked to the people involved. They care. But a lot is broken. MATE — the desktop most blind users preferred — isn’t on Wayland. ocrdesktop doesn’t work. xdotool is gone. wlroots compositors still don’t reliably support Orca’s keybindings, especially on laptops. This isn’t GNOME’s fault. They’re the only reason accessibility on Wayland works at all. But the old excuses are gone. “Just use Xorg” isn’t going to be an option much longer. So yeah. I’m a Wayland shill now. Because I’m using it. Because I have to. And I want to make sure we’re not excluded from what comes next. https://fireborn.mataroa.blog/blog/i-want-to-love-linux-it-doesnt-love-me-back-post-4-wayland-is-growing-up-and-now-we-dont-have-a-choice/ #Linux#Wayland#Accessibility#Orca#GNOME#KDE#COSMIC#FOSS#a11y#BlindTech#xorg
@ignaloidas@fireborn Relative positioning for groups of windows under the same application is probably good enough.
But as of now, there's no way AFAIK to do things like * Determine the position of one application window relative to another * Restore a saved window layout * Spawn a new window at the cursor location * Drag an application-managed (not window manager controlled) toolbar etc. out of the application and spawn a new top level window * Drag a window-manager controlled window into the application and dock it as a toolbar
xdg-toplevel-drag looks like it has potential for some but not all of these use cases.
@azonenberg@ioc.exchange@fireborn@dragonscave.space Restore has a protocol, you ask compositor to remember the window config, and ask to restore it on startup. Spawning new top level windows from a drag is possible, my Firefox is running Wayland-native, and I can drag a tab out of the toolbar to spawn a new window, and can drag tabs between windows and drag all tabs from one window into another window to leave only one open.
But I don't see much utility for determining the relative positions between windows (no good way to define it without baking in assumptions), or spawning a window at the cursor location.
They don't want to "get stuck" to a single coordinate system - current way allows a lot of freedoms, like freely rotatable windows (admittedly a gimmick, but why not?), or e.g. VR Wayland compositors (trying to do that in X11 would lead to a lot of pain).
@fireborn Hopefully Debian + XFCE will keep X around for a while more.
There's still a lot of core features in X (including but not limited to absolute window positioning) that simply do not exist in wayland, and for political reasons seem unlikely to be implemented any time in the future despite being technically achievable.
@fireborn so yes, if and when wayland achieves feature parity with X i might switch.
But right now they seem to be explicitly saying "we will not implement these features". There are multiple tools I use that are either going to be impossible to port to wayland or will require major backend rewrites (e.g. getting multiple top level windows with docking working in Dear ImGui) due to lack of absolute positioning information.
@azonenberg@ioc.exchange@fireborn@dragonscave.space File specific brings you into assumptions that Wayland doesn't want to take on. If e.g. you opened your file in a VR compositor and set up your windows in some way, how would you expect those to be arranged on a flat screen compositor, or vice versa? If you had your stuff with overlap on KDE, how would a fully-tiling compositor like Sway should act?
Though FWIW you can have multiple separate restore sessions, and as such have a different restore session per-file on the same machine.
WRT compositor support - sure, not everything supports everything - Wayland is in many ways focused on bringing more power to the compositor over the application for window management, for better and for worse.
If I have five different lab setups, I want to be able to load any given setup and have it potentially spawn four different windows across different displays exactly as I had it before. It's not "restore the one set of windows I had the last time i ran ngscopeclient" it's "restore the windows I had last time I was working on PDUEfficiencyCharacterization.scopesession".
WRT spawning new windows from a drag the thing you're talking about is xdg-toplevel-drag. Not all compositors implement this, if yours doesn't have it you're SOL. So you have to implement fallback or disable multi window setups (and then figure out how to handle e.g. a saved gui layout that depends on multi window if you load on a different compositor than the one it was created on).