ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
karenw has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
lsd|2 has quit [Ping timeout: 480 seconds]
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit []
feaneron has joined #wayland
tokyo4j has quit [Read error: Connection reset by peer]
vincejv has quit [Remote host closed the connection]
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
iomari891 has joined #wayland
mxz__ has joined #wayland
Brainium has quit [Quit: Konversation terminated!]
mxz___ has joined #wayland
mxz has quit [Ping timeout: 480 seconds]
mxz___ is now known as mxz
mxz_ has quit [Ping timeout: 480 seconds]
confused_donkey has quit [Ping timeout: 480 seconds]
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
vincejv has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
kts has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
confused_donkey has joined #wayland
confused_donkey has quit [Read error: Connection reset by peer]
rgallaispou has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
kts has quit [Quit: Leaving]
rgallaispou has quit [Ping timeout: 480 seconds]
sima has joined #wayland
kts has joined #wayland
rgallaispou has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
tzimmermann has joined #wayland
<ofourdan>
DemiMarie: you mean an X11 window (running in Xwayland) or an Xwayland rootful instance running fullscreen?
<ofourdan>
anyways, a fullscreen X11 window will get mouse events (including button events) when the event occurs within the surface, just like any other Wayland surface. If the pointer sits outside of the Wayland surface, the events will not be routed to the Xwayland surface and it will not receive pointer events (there is no mechanism for grabbing input devices explicitely in Wayland)
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
<ofourdan>
(I'm thinking of multiple outputs here, the X11 window can be fullscreen on an output and the poitner on another)
rv1sr has joined #wayland
leon-anavi has joined #wayland
<ofourdan>
fwiw, yes, it should be possible to make an X11 window fullscreen and have that get all pointer events, possibly using pointer locking, that's how most games work in Xwayland.
<ofourdan>
(pointer locking and confinment, to be precise. Xwayland has some heuristics to translate the "confine_to" Window from XGrabPointer() to a pointer confine in Wayland)
<DemiMarie>
ofourdan: X11 window, yes. Will doing so have any unwanted side-effects if the window is transparent? This is a workaround for a GTK3 bug.
<ofourdan>
You're plannijng on mapping a transparent fullscreen X11 window to work aroung a gtk-3 bug? I think the potential side effects depend on how the compositor handles that.
<ofourdan>
(or rather, the X11 window manager in the compositor)
<ofourdan>
but that's easy to test, so best imho is to try with your compositor of choice and see how that behaves :)
<ifreund>
yeah, dont expect that kind of workaround to have perfectly portable UX, its a massive hack
<DemiMarie>
ofourdan: the bug is that GTK relies on the globally active input model rather than focus change events.
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
<DemiMarie>
ifreund: Qubes OS has specific user experience requirements and not all of them are currently supported by Wayland without giant hacks. Getting the needed protocol extensions shipped in e.g. KWin would take years.
<DemiMarie>
I'm not using hacks because I like them, but because they are the only way I know of to ship something in a reasonable amount of time without regressing user experience.
rasterman has joined #wayland
<DemiMarie>
Has anyone else here had to ship ugly hacks to get something out in a decent amount of time?
<DemiMarie>
Wayland hacks specifically, like abusing a protocol for something it was not meant for.
<emersion>
nope. i just push for the proper solution (but also don't have deadlines)
<DemiMarie>
emersion: I do have deadlines 🙂
<DemiMarie>
And not enough resources to e.g. reimplement the whole UI multiple times, or fork a big compositor.
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
Moprius has joined #wayland
vincejv has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Leaving]
Brainium has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
fmuellner has joined #wayland
feaneron has quit []
feaneron has joined #wayland
feaneron has quit []
feaneron has joined #wayland
feaneron has quit []
feaneron has joined #wayland
feaneron_ has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
bjorkintosh has quit [Ping timeout: 480 seconds]
kts has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
CME has quit []
CME has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
<drakulix[m]>
<DemiMarie> "Has anyone else here had to ship..." <- Does special-casing some layer-shell namespaces count? Otherwise, no not really. Worst case I namespace a draft-protocol, while slowly chipping away at upstream effords.
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
kts has quit [Ping timeout: 480 seconds]
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
fmuellner has quit [Remote host closed the connection]
fmuellner has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
vincejv has joined #wayland
feaneron has quit [Quit: feaneron]
vincejv- has joined #wayland
vincejv is now known as Guest2878
vincejv- is now known as vincejv
feaneron has joined #wayland
Guest2878 has quit [Ping timeout: 480 seconds]
nerdopolis has joined #wayland
feaneron has quit [Quit: feaneron]
nerdopolis has quit [Ping timeout: 480 seconds]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
kts has joined #wayland
<DemiMarie>
<drakulix[m]> "Does special-casing some layer-..." <- I wonder if the difference is that I don't control the compositor side of things, meaning that private protocols aren't an option. I have to make do with what is upstream already.
<DemiMarie>
Also, this is all in the context of my work at porting Qubes OS's UI to Wayland.
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit []
feaneron has joined #wayland
feaneron_ has quit [Remote host closed the connection]
<Ermine>
are you contracted to do so? re deadlines
<DemiMarie>
Ermine: That port is part of my paid job, and there is a deadline in the sense that the project can't wait for upstreaming of things that might never get upstreamed.
<Ermine>
ic
<DemiMarie>
In that situation, "do what you want" protocols like absolute positioning are extremely appealing.
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
<DemiMarie>
Ermine: what is yucky about this?
<Ermine>
Nothing, just was curious
<d_ed[m]>
<DemiMarie> "I wonder if the difference is..." <- Definitely doing wayland with existing clients is massively massively harder than doing any other wayland compositor work where it's a clean slate. I can sympathise with your position a lot more than maybe others.
<d_ed[m]>
But turning that into something constructive that wins over compositor devs is still a challenge.
Tokoyami has quit [Quit: ~@~]
<d_ed[m]>
I don't think discussing in the abstract helps too much
blathijs has joined #wayland
<DemiMarie>
d_ed: That's fair. In this case the actual need would be fulfilled by ext-tray-v1 combined with support for out of process plugins in all panels.
<d_ed[m]>
ack, I did promise to look into that properly and comment on it
<DemiMarie>
Thank you.
<DemiMarie>
UI consistency is not an issue here because the Qubes OS UI is deliberately different than that of the desktop environment.
<soreau>
DemiMarie: I probably sound like a broken record but FWIW, wayfire allows xwayland clients to position themselves
Tokoyami has joined #wayland
<DemiMarie>
soreau: Does Wayfire populate the workarea properties?
<soreau>
what do you mean?
<DemiMarie>
The X11 properties that indicate e.g. where the panel is, so one doesn't draw over it by accident.
<soreau>
I'm not sure exactly but ext-workspace was recently merged..
<soreau>
not sure if that helps anything
<soreau>
of course maximize works as expected at least, to avoid under/over panel areas
<soreau>
I think if a client tries to place itself at e.g. 0,0, wayfire clamps to workarea
<DemiMarie>
That's interesting.
<DemiMarie>
I had assumed that using Xwayland for this would be totally broken.
<drakulix[m]>
<DemiMarie> "I wonder if the difference is..." <- Which is why I think you should take a far more active approach and do a proxy compositor in between your VMs and the host compositor. But that's just my two cents.
rgallaispou has quit [Read error: Connection reset by peer]
<DemiMarie>
<drakulix[m]> "Which is why I think you..." <- Would you be interested in going into more detail? The current plan is to have a filtering protocol-level proxy and then move subsurface compositing to the VMs, but I am curious what you would do differently.
<DemiMarie>
Also for clarification my issues regarding desktop environment stuff are about code running on the host or GUI VM. It uses protocols that guests won't have access to.
feaneron has quit [Quit: feaneron]
feaneron_ has joined #wayland
feaneron has joined #wayland
<DemiMarie>
drakulix: thanks for the suggestion.
<drakulix[m]>
Sure we can go into more detail, but I think I would need to understand your current issues better at first. I assume you plan to support a bunch of different environments in your GUI VM. So whatever you can come up with has to be a best efford based on protocol support of the host.
<drakulix[m]>
But e.g. for the panel, I would consider shipping your own, rather than proxy something on the level of ext-tray and have a fallback that uses StatusNotifierItems with obviously reduced feature set.
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
larunbe has joined #wayland
alarumbe has quit [Ping timeout: 480 seconds]
<DemiMarie>
drakulix: You assume correctly. The current plan is to support a subset of protocols that are supported by all of the supported compositors, plus maybe some more if a compositor happens to support them.
tzimmermann has quit [Quit: Leaving]
<DemiMarie>
For the panel, I don't want to have to change the UI (which works just fine under X11!) just because of Wayland limitations, at least if there are any alternatives. In this case, the obvious alternative is to use layer shell with carefully-specified margins or X11 override-redirect windows.
<soreau>
the panel surface usually isn't the issue, it's those pesky panel widgets that end up being problematic ;)
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit []
feaneron has joined #wayland
<DemiMarie>
soreau: that they do.
<soreau>
I ran xfce4-panel natively on wayfire about a year or so ago.. it worked pretty well but many of the widgets weren't ported (to wayland) yet so I couldn't build them
<soreau>
I think they're actually panel plugins though, not widgets
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
narodnik has quit [Quit: WeeChat 4.4.4]
narodnik has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
kts has quit [Quit: Leaving]
kts has joined #wayland
___nick___ has joined #wayland
kts has quit [Quit: Leaving]
kts has joined #wayland
iomari891 has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Leaving]
___nick___ has quit [Ping timeout: 480 seconds]
___nick___ has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
___nick___ has quit [Remote host closed the connection]
___nick___ has joined #wayland
leon-anavi has quit [Quit: Leaving]
___nick___ has quit [Ping timeout: 480 seconds]
Calandracas has quit [Ping timeout: 480 seconds]
Calandracas has joined #wayland
Calandracas has quit [Remote host closed the connection]
mvlad has quit [Remote host closed the connection]