ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
aelius_ has quit [Remote host closed the connection]
vyivel has quit [Remote host closed the connection]
vyivel has joined #wayland
<raiguard>
It's not a standardized thing - gnome and kde both implement their own versions of "primary" outputs but there is nothing of the sort in Wayland itself.
<Solomoncyj>
@raiguard so games just launch on the windows the cursor is at?
nerdopolis has quit [Ping timeout: 480 seconds]
<raiguard>
Depends on the compositor. IIRC gnome currently defaults to opening fullscreen apps on the primary output (someone please correct me if I'm wrong).
<raiguard>
On Sway, clients open on the currently focused output, unless you have windows rules specifying otherwise in your config.
<raiguard>
Ideally, compositors will provide mechanisms for the user to define where things open. In most cases, xdg-toplevel-tag could facilitate this because once the user moves a certain program to a certain location, the compositor could remember that and open it there again from then on.
Solomoncyj has quit [Read error: Connection reset by peer]
eluks has quit [Remote host closed the connection]
eluks has joined #wayland
<orowith2os[m]>
What would it look like if I wanted to render the titlebar in a wl_subsurface?
<orowith2os[m]>
There's two things I'm thinking of, but both are in the same area and deal with the same issues: having a wl_subsurface with just the window management buttons, and one with the entire titlebar (window name, and buttons).
<orowith2os[m]>
This would all be out-of-process
karenw has quit [Ping timeout: 480 seconds]
kts has joined #wayland
glennk has joined #wayland
kts has quit [Remote host closed the connection]
kts has joined #wayland
alarumbe has quit []
sima has joined #wayland
rasterman has joined #wayland
kts has quit [Ping timeout: 480 seconds]
coldfeet has joined #wayland
leon-anavi has joined #wayland
<davidre>
its like rendering a subsurface
<davidre>
out of process means that you somehow have to get the buffers into your process
<orowith2os[m]>
<davidre> "out of process means that you..." <- I'm thinking of having the compositor hand an opaque wl_subsurface with some metadata attached
<orowith2os[m]>
I just don't know how things like button events would work
<davidre>
So SSD and the drawing is outsourced to another process?
<orowith2os[m]>
Not necessarily SSD, but just outsourcing to someone else, yeah
<orowith2os[m]>
I'm thinking of having the compositor spawn something like GTK (not linking to it, but spawning it) and it uses a private protocol to give the compositor all the surfaces to hand out to clients
<orowith2os[m]>
There would definitely be round tripping, but it has less issues than linking gtk into, and making gtk a, compositor
<davidre>
for your wondering how events would look like, I guess you could just use normal event delivering
<davidre>
and the in your new protocol the titlebar client can send requests like "close button was clicked"
<davidre>
One thing which might become tricky to manage is to keep geometry in sync, the window geometry on screen now can only change when both clients rerendered
<orowith2os[m]>
So gtk would get a wm_capabilities event, a titlebar width event, and it would have requests to say which button was clicked and when it updates the dimensions?
<davidre>
I do not understand what you mean with "gtk"
<orowith2os[m]>
Yeah, syncing would be hell, but when is it not?
<davidre>
gtk is a toolkit
<orowith2os[m]>
"gtk" is really "whatever decorating library is in use here", but gtk is the main one I have in mind here
<orowith2os[m]>
I don't think the window geometry would be a worry if it's just the buttons being drawn, and not the entire titlebar
<orowith2os[m]>
Since it would usually be at most 50 pixels
<orowith2os[m]>
If that
<MrCooper>
why not just use libdecor?
<orowith2os[m]>
MrCooper: I don't like how it's designed, and symbol conflicts
<orowith2os[m]>
Something out-of-process would be a lot more compatible with a sandbox than libdecor
<orowith2os[m]>
And would have less issues loading things like the gtk libdecor plugin
<MrCooper>
FWIW, symbol conflicts might be solvable by hiding symbols and/or dl(m)open tweaks
<orowith2os[m]>
That doesn't completely solve the problems I have with libdecor though
<orowith2os[m]>
Especially regarding sandbox compatibility
<jadahl>
orowith2os[m]: I have a wip branch for out-of-process decorations in libdecor from a while ago
<jadahl>
MrCooper: can't isolate symbols because there is a bug in glibc that makes it not possible to use with multithreaded applications
mebious has quit [Remote host closed the connection]
mebious has joined #wayland
akimoto has joined #wayland
feaneron has joined #wayland
kts has joined #wayland
mebious has quit [Remote host closed the connection]
mebious has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
coldfeet has quit [Quit: Lost terminal]
akimoto has quit [Remote host closed the connection]
bindu_ has quit [Remote host closed the connection]
bindu has joined #wayland
kts has quit [Ping timeout: 480 seconds]
fmuellner has quit []
fmuellner has joined #wayland
andyrtr_ has joined #wayland
Moprius has joined #wayland
Moprius has quit []
andyrtr has quit [Ping timeout: 480 seconds]
andyrtr_ is now known as andyrtr
feaneron has quit [Ping timeout: 480 seconds]
feaneron has joined #wayland
bindu has quit [Remote host closed the connection]
bindu has joined #wayland
Brainium has joined #wayland
nickdiegosickleave[m] is now known as nickdiego[m]
rasterman has quit [Quit: Gettin' stinky!]
mripard_ has joined #wayland
mripard has quit [Ping timeout: 480 seconds]
leon-anavi has quit [Quit: Leaving]
rbrue has joined #wayland
fmuellner_ has joined #wayland
fmuellner has quit [Ping timeout: 480 seconds]
coldfeet has joined #wayland
fmuellner_ has quit []
fmuellner has joined #wayland
zzz has joined #wayland
yin has quit [Ping timeout: 480 seconds]
<Consolatis>
s/to launch on/to fullscreen on/. In any case making the game render resolution depends on some "primary" monitor and not on the one that is actually used sounds very much like an application bug to me, caused by weird MS behavior which apparently only supports spawning games on the "primary" monitor (?) if no other output has been requested by the game.
<Consolatis>
Now the question is how it can be worked around and made to work and where it should be worked around at. If done at the wayland level, introducing the concept of a "primary" output feels wrong to me. There should be another xdg-shell event which sends the likely output being used when mapping a toplevel *before* its actually mapped. That way the compatibility layer (or SDL) can react to that.
coldfeet has quit [Quit: Lost terminal]
zzz has quit [Ping timeout: 480 seconds]
fmuellner has quit []
fmuellner has joined #wayland
kts has joined #wayland
<zamundaaa[m]>
Consolatis: exactly such an event is what the issue is actually about
<zamundaaa[m]>
I don't know why people jump in there about introducing primary monitor stuff, when the issue is exactly about not doing that
<Consolatis>
then I suggest opening an MR to add it, there is no point in contributing to that mess of an issue
<Consolatis>
there is also no "preferred" or "default" in there.. its just the output a compositor would choose to use with set_fullscreen(NULL) at the point in time when the xdg-toplevel would be mapped
<Consolatis>
its slightly racy with app-id and title requests (and tags) though, as those might change the logic on the compositor side
<zamundaaa[m]>
It's definitely not something we want applications to use
<zamundaaa[m]>
But where backwards compatibility is concerned, that's rarely the case in general
<Consolatis>
right, but the question is when that event should be emitted from the compositor side, or if it even needs an own client request to ensure those potentially deciding factors are already configured by the client
<Consolatis>
e.g. something like intends_to_map() request which would only cause the new event to be sent or something
fmuellner has quit []
fmuellner has joined #wayland
<raiguard>
<zamundaaa[m]> "I don't know why people jump in there..." | I apologize for my role in this - I won't try to explain my thought process because it was nonsense.
<llyyr>
zamundaaa[m]: because it was covered on a youtube video and the video author's opinion was that the issue was about wayland needing a primary output to support this use case, this was linked on reddit and the same opinion gets regurgitated
<llyyr>
the only thing that should matter is the end result, but because someone proposed a "solution" they heard first, the general users are married to solving the problem in that specific way
akselmo is now known as Guest21163
Guest21163 has quit [Remote host closed the connection]
akselmo has joined #wayland
<Consolatis>
its also circulating in some wayland-is-bad-mkay-woke-big-tech-destroys-linux nonsense circus
<akselmo>
hey uh sorry for offtopic, im trying to use the irc matrix bridge, is my nickname aks or akselmo?
<Consolatis>
akselmo is your nick
<akselmo>
oh it turned it into matrix name, ah well, as long as it works :D
aks_here_testing_sorry has joined #wayland
aks_here_testing_sorry has left #wayland [#wayland]
<akselmo>
okay its wrong nick on irc side, oh well
akselmo is now known as aks
aks is now known as akselmo
* karolherbst
waves to akselmo
<akselmo>
karolherbst: hii
* karolherbst
waves even more at akselmo
akselmo has left #wayland [User left]
fmuellner has quit []
fmuellner has joined #wayland
akselmo has joined #wayland
<akselmo>
ooookay im never using the matrix bridge again
rasterman has joined #wayland
<akselmo>
anyways, hi karolherbst
<akselmo>
mabe you can wave to me now without killing my server lol
<karolherbst>
lol
coldfeet has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
wt has joined #wayland
___nick___ has joined #wayland
coldfeet has quit [Quit: Lost terminal]
wt has quit [Quit: Konversation terminated!]
wt has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
kts has quit [Quit: Konversation terminated!]
kts has joined #wayland
wt has quit [Quit: Konversation terminated!]
fmuellner has quit []
fmuellner has joined #wayland
rbrue has quit [Quit: Konversation terminated!]
wt has joined #wayland
rbrue has joined #wayland
wt has quit []
fmuellner has quit []
fmuellner has joined #wayland
wt has joined #wayland
wt has quit []
rbrue has quit [Quit: Konversation terminated!]
rbrue has joined #wayland
fmuellner has quit []
fmuellner has joined #wayland
wt has joined #wayland
rbrue has quit []
wt has quit []
fmuellner has quit []
wt has joined #wayland
fmuellner has joined #wayland
wt has quit []
rbrue has joined #wayland
fmuellner has quit []
wt has joined #wayland
fmuellner has joined #wayland
kts has quit [Remote host closed the connection]
___nick___ has quit [Ping timeout: 480 seconds]
kts has joined #wayland
kts has quit []
rbrue has quit [Quit: Konversation terminated!]
wt has quit [Quit: Konversation terminated!]
alarumbe has joined #wayland
rbrue has joined #wayland
rbrue has quit [Quit: Konversation terminated!]
rbrue has joined #wayland
garnacho has quit [Quit: garnacho]
garnacho has joined #wayland
sima has quit [Ping timeout: 480 seconds]
___nick___ has joined #wayland
coldfeet has joined #wayland
riteo has quit [Ping timeout: 480 seconds]
fmuellner has quit []
fmuellner has joined #wayland
___nick___ has quit [Remote host closed the connection]