ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput | register your nick to speak
<kennylevinsen> as wayland does not allow this, you have to compromise: either make up associations and pretend certain things are popups/subsurfaces, or break all association and make stuff toplevels.
<kennylevinsen> https://gitlab.collabora.com/alf/wine/-/blob/wayland/dlls/winewayland.drv/window.c#L220 <- example of popup guesswork in the wine wayland working branch
<kennylevinsen> guessing if a window should be made into a popup, followed by guessing which window to associate it with...
<kennylevinsen> (note: Nothing wrong with this implementation - it's pretty much the only way to map the lax Windows-world into a strict Wayland-world, and it likely works just fine)
fmuellner has quit [Ping timeout: 480 seconds]
st3r4g has quit [Quit: おやすみ]
co1umbarius has joined #wayland
columbarius has quit [Ping timeout: 480 seconds]
<DemiMarieObenour[m]> Can the same tricks be used to map X11 onto Wayland?
Emantor has quit [Quit: ZNC - http://znc.in]
Emantor has joined #wayland
<fluix> that's what XWayland does I think
<fluix> although I don't know anything about the tricks involved/if any are used
<DemiMarieObenour[m]> XWayland uses special compositor support, which won’t be available in my use-case.
<soreau> if you're supporting x11 protocol clients in a wayland compositor, there must be special support because it's not native wayland protocol
<soreau> xwayland is the way forward on that front but you are free to reinvent it in a different way if you want
immibis has quit [Read error: Connection reset by peer]
<DemiMarieObenour[m]> My use-case is supporting X11 protocol clients in a display server that is itself effectively a Wayland client (and has no XWayland access).
boistordu has quit [Ping timeout: 480 seconds]
wangledorf has quit [Read error: Connection reset by peer]
wangledorf has joined #wayland
hardening_ has quit [Ping timeout: 480 seconds]
wangledorf_ has joined #wayland
wangledorf has quit [Ping timeout: 480 seconds]
leon-p_ has quit []
zebrag has quit [Quit: Konversation terminated!]
zhxuxu has quit [Ping timeout: 480 seconds]
zhxuxu has joined #wayland
dcz_ has joined #wayland
<soreau> in that case, your impl is OT here
zhxuxu has quit [Ping timeout: 480 seconds]
zhxuxu has joined #wayland
danvet has joined #wayland
txtsd is now known as Guest3840
txtsd has joined #wayland
Guest3840 has quit [Ping timeout: 480 seconds]
shashank1202_ has joined #wayland
novakane has joined #wayland
hendursa1 has joined #wayland
hendursaga has quit [Ping timeout: 480 seconds]
fmuellner has joined #wayland
frytaped has quit [Quit: went bye bye]
rasterman has joined #wayland
hendursa1 has quit [Remote host closed the connection]
hendursa1 has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
<kennylevinsen> fluix: xwayland has special compositor integration to bypass certain strict behaviors
___nick___ has joined #wayland
hardening has joined #wayland
shashank1202_ has quit [Quit: Connection closed for inactivity]
<kennylevinsen> DemiMarieObenour[m]: it might be possible and it would be interesting to avoid the need for xwm integration, but it would be a lot of work that I doubt anyone is signing up for, especially considering that it would likely be more fragile than the current, working impl
flacks has quit [Quit: Quitter]
flacks has joined #wayland
raphi7163 has joined #wayland
lanodan has quit [Quit: WeeChat 3.1]
lanodan has joined #wayland
shashank1202_ has joined #wayland
leon-p has joined #wayland
shashank1202_ has quit [Quit: Connection closed for inactivity]
immibis has joined #wayland
<wlb> wayland-protocols/main: Demi Marie Obenour * Use “software” instead of “user space” https://gitlab.freedesktop.org/wayland/wayland-protocols/commit/ce82f1662410 stable/presentation-time/presentation-time.xml
<wlb> wayland-protocols Merge request !121 merged \o/ (Use “software” instead of “user space” https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/121)
adia has quit [Ping timeout: 480 seconds]
adia has joined #wayland
___nick___ has quit []
___nick___ has joined #wayland
___nick___ has quit []
___nick___ has joined #wayland
ppascher has joined #wayland
hendursa1 has quit []
hendursaga has joined #wayland
shashank1202_ has joined #wayland
leon-p has quit [Quit: leon-p]
leon-p has joined #wayland
<DemiMarieObenour[m]> kennylevinsen: indeed it would, but override-redirect windows (the problematic ones) have been the cause of several Qubes Security Bulletins. Furthermore, the GUI daemon in the GUI qube should eventually drop its dependency on X11, while X11 applications outside of the GUI qube must continue to be supported. Given those constraints, I think this approach is the best possible.
<emersion> the compositor decides its policy for override-redirect windows
<DemiMarieObenour[m]> My policy will be “choose between `xdg_popup` and `xdg_toplevel` according to some heuristics”
<emersion> i suppose wl_subsurface too
<emersion> that's essentially what wine-wayland is doing
<emersion> it can work in most cases
<emersion> if you plan to build something which can be used outside of QubeOS, i think many people will be interested
___nick___ has quit [Ping timeout: 480 seconds]
novakane has quit [Quit: WeeChat 3.3]
<kennylevinsen> I certainly would be
shashank1202_ has quit [Quit: Connection closed for inactivity]
<DemiMarieObenour[m]> Which ones would map to `wl_subsurface`?
<emersion> stuff you want to put *exactly* at some relative position, without having the compositor potentially re-psotion them
<kennylevinsen> If you opt out of all popup constraints that should give the same result, no?
<kennylevinsen> In that case I guess synchronization and/or compositor policy differences would be the main thing
<emersion> hm, yeah, indeed
<emersion> grabs too i suppose
<emersion> but not sure how you'd detect whether or not an X11 client wants to grab or not
<DemiMarieObenour[m]> Qubes OS at least doesn’t allow qubes to alter the cursor position in any way.
<emersion> grabs aren't about cursor position
<emersion> and that's good
<emersion> popup grabs are mostly about dismissing the popup when clicking outside of it
<DemiMarieObenour[m]> Can they slow down cursor motion?
<emersion> no
<DemiMarieObenour[m]> even the move/resize ones?
<emersion> move/resize is implemented in the compositor
<DemiMarieObenour[m]> I thought those could slow down the cursor if the client was slow to commit
<Levans> It would not slow down the cursor itself, but the window size may lag behind the cursor if the client is too slow to redraw
<DemiMarieObenour[m]> Nice! That will work fine in Qubes OS.
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
dcz_ has quit [Ping timeout: 480 seconds]
fmuellner has joined #wayland
hardening has quit [Ping timeout: 480 seconds]
shashank1202_ has joined #wayland
Seirdy has quit [Quit: exiting 3.2]
Seirdy has joined #wayland
<DemiMarieObenour[m]> Does Wayland have a bytes type?
<DemiMarieObenour[m]> To answer my own question: it has arrays.