14:47wlb: weston Issue #800 closed \o/ (Factor out surface rotation into protocol? https://gitlab.freedesktop.org/wayland/weston/-/issues/800)
16:32DemiMarie: Has an absolute positioning protocol been considered? My use-case is support for legacy X11 applications in a virtualized environment (Qubes OS). Passing through X11 directly is horribly insecure so Qubes OS has its own GUI protocol right now.
16:37bl4ckb0ne: iirc it has been proposed but was nack'd very quickly
16:39DemiMarie: why?
16:45bl4ckb0ne: https://lists.freedesktop.org/archives/wayland-devel/2022-August/042289.html see this thread
17:36kennylevinsen: DemiMarie: letting clients dictate what should be compositor and user policy is frowned upon, and global window positioning is one of the big things that Wayland explicitly and intentionally disallows
17:37orowith2os[m]: if you need the feature, your best bet is just to live with it
17:37orowith2os[m]: well, without it
17:38orowith2os[m]: if it matters for you enough, like being a desktop shell, there are dedicated protocols for that, like KDE's protocols and wlr-layer-shell
17:38kennylevinsen: But I'd Qubes has a custom GUi protocol it can just have whatever specific Wayland protocols it needs
17:39kennylevinsen: s/I'd/if/
22:10orowith2os[m]: Hm, could we have an absolute positioning protocol in the wayland-protocols repo?
22:10orowith2os[m]: (a privileged protocol)
22:11orowith2os[m]: Nothing any arbitrary client can manage
22:12orowith2os[m]: The idea would be to use it for Xwayland, in a cursed setup which allows it to absolutely position windows, and would also allow running a separate XWM in Xwayland without needing anything special (aside from absolute positioning) in the compositor
22:15kennylevinsen: orowith2os[m]: and then to finish the X11-without-xwm support you'd need the ability to arbitrarily stack windows, sniff all inputs freely, ...
22:17orowith2os[m]: kennylevinsen: nothing that can't be made to only be allowed for Xwayland
22:17bl4ckb0ne: and xeyes
22:17orowith2os[m]: At the very least, if this means we can get rid of bare metal Xorg for everyone but NVIDIA, it would be great
22:17kennylevinsen: orowith2os[m]: that's what the xwm integration is, so what's the point?
22:18kennylevinsen: A hack protocol dedicated to xwayland but that isn't xwm integration specifically?
22:18orowith2os[m]: It could be loosened up a bit to be useful for users like wlroots
22:18kennylevinsen: What would we need it for in wlroots?
22:19orowith2os[m]: One moment, refreshing on wlr-layer-shell
22:19kennylevinsen: I'm pretty sure we'd be the last to add support for something so contrary to Wayland concepts :)
22:20orowith2os[m]: Okay, this is only useful for the anchor bit of the layer shell protocol, if anything
22:21orowith2os[m]: In that case, let's just make this fully Xwayland-specific
22:21kennylevinsen: wlr-layer-shell allows output (non-window) surfaces, and these have positioning relative to their output. This already works. Special shell protocols with special rules already works.
22:21orowith2os[m]: Like keyboard grabbing
22:21kennylevinsen: No need for a general positioning protocol
22:21orowith2os[m]: Even if you wanted to let Xwayland manage your Wayland windows?
22:22kennylevinsen: Uh what
22:22ifreund: why would anyone want that
22:22kennylevinsen: Absolute window positioning -> a window can position itself, not position or see others
22:24kennylevinsen: That while unwanted is far from a full X11-style WM protocol controlling and inspecting everything, and even further from bridging that to *actual X11 WMs*
22:24orowith2os[m]: ifreund: running an XWM like i3 without integrating it into the Wayland compositor, or porting it to Wayland
22:24orowith2os[m]: I'm open to listening to other solutions, or ones that already exist
22:26orowith2os[m]: Hm
22:26kennylevinsen: Gotta be honest, that sounds horrible and like a worst of everything solution: a Wayland server pretending everything is X11, imppementinf every quirky X11 behavior towards the X11 WM while trying to convert it's behavior to something fitting into Wayland...
22:28kennylevinsen: if you want i3, just run sway. It takes very little to write a small server with wlroots, so that's likely what the small niche wm's become.
22:29kennylevinsen: Alternatively, look at something like ifruend's river where specific "wm decisions" are moved to an external client
22:29orowith2os[m]: My first thought is that it would be implementing the X11 behavior necessary for an XWM under Xwayland to work as if it was bare Xorg, so their lives can be extended just a bit while they get ported to Wayland
22:32orowith2os[m]: You'd need a keybind protocol, which would be useful in wlroots for their portal. A protocol to allow Xwayland to position arbitrary Wayland windows. A protocol to associate wl_surfaces with X11 IDs.
22:33orowith2os[m]: Afaik atm that's it to allow a full XWM to work under Xwayland
22:35psykose: the "extended just a bit" doesn't really make sense. extended "why"? for "how long"? it's already been a decade
22:37orowith2os[m]: Fair
22:38kennylevinsen: orowith2os[m]: it would not be a few small protocols, it would be a huge effort to make a Wayland server that walks, talks and acts like an X11 server - whether through Xwayland or not.
22:38orowith2os[m]: The best way I guess I can reply to that is, this is all just a what-if, and how would that what-if be achieved
22:38kennylevinsen: Right now, the Wayland server is an X11 WM
22:38kennylevinsen: You're basically suggesting making it the X11 server itself instead
22:38orowith2os[m]: Yep
22:39kennylevinsen: and then in turn basically making Wayland windows have the same status as X11 Windows have Noe through xwayland, and...
22:40kennylevinsen: Now you are just running Xorg with WaylandX to show Wayland windows :P
22:42orowith2os[m]: There is a difference between Xorg and Wayland though
22:42orowith2os[m]: Especially when it comes to hardware support
22:42kennylevinsen: while a funny thought experiment, it makes no sense - huge effort, much easier to just make a dedicated WM protocol, but nobody seems to want that as "small Wayland servers" instead of "complicated rats nest" is one of the cool Wayland things.
22:42orowith2os[m]: My idea would work to get old X stuff working on modern hardware where bare metal Xorg isn't going to happen
22:42orowith2os[m]: Assuming someone implements it
22:43kennylevinsen: That's what Xwayland is for. Just use a normal Wayland server of choice.
22:43kennylevinsen: If everything sucks, Xwayland rootful and i3
22:44orowith2os[m]: Xwayland only works for interacting with X11 windows, and some can't work with just that - apparently some accessibility tools still need X11-isms (there is a portal proposal in the works, I'm keeping an eye on it) and using them on Wayland is iffy
22:45orowith2os[m]: so if someone needs some accessibility tool and they use Asahi Linux, they're out of luck when it comes to X, with it barely functioning as-is
22:45kennylevinsen: "only for interacting with X11 Windows" good enough for your described use case
22:46kennylevinsen: For stuff that doesn't work, rootful which is 100% X
22:46orowith2os[m]: apparently rootful Xwayland isn't quite what's desired here, as it's just one large Wayland window
22:46orowith2os[m]: and it can't access windows outside of X
22:47psykose: what would need access to wayland windows outside of X?
22:48orowith2os[m]: a full XWM running under Xwayland
22:48kennylevinsen: No
22:48psykose: but you can just do that inside the X window without any wayland clients
22:48orowith2os[m]: yes, and I'd like to have Wayland clients here
22:48kennylevinsen: Your use case does not require an can controlling Wayland windows
22:49kennylevinsen: You said running old X stuff - they run either in normal Xwayland (with a Wayland wm) or in rootful (with X11-only WM)
22:49kennylevinsen: If you want a Wayland desktop, pick a Wayland WM
22:50kennylevinsen: Running an X11 WM outside isolated rootful will not be supported and is arguably not a valid use case - use plain Xorg for that.
22:50orowith2os[m]: I guess I should look more into what it would take to make a minimal Wayland compositor whose only goal is to have a custom XWM implementation tossed onto it, and try and deal with the bridging there on my own
22:51orowith2os[m]: then I can realistically judge what the work would take, and see if it's worth doing over just saying "use bare metal Xorg"
22:51kennylevinsen: You're free to try, but it sounds horribly unpleasant
22:53psykose: kennylevinsen: your profile picture is funnily topical :-)
22:53kennylevinsen: orowith2os[m]: and your first step would be to create the dedicated Wayland server for the project that will have all the WM management
22:54kennylevinsen: psykose: it is very accurate hahaha