ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
Moprius has quit [Remote host closed the connection]
LoneStarr has joined #wayland
garnacho has quit [Ping timeout: 480 seconds]
Brainium has quit []
AJ_Z0 has quit [Ping timeout: 480 seconds]
AJ_Z0 has joined #wayland
karenw has quit [Remote host closed the connection]
karenw has joined #wayland
akimoto has quit [Remote host closed the connection]
glennk has joined #wayland
nerdopolis has quit [Ping timeout: 480 seconds]
LoneStarr has quit [Ping timeout: 480 seconds]
karenw has quit [Ping timeout: 480 seconds]
bindu has quit [Remote host closed the connection]
narodnik has quit [Ping timeout: 480 seconds]
bindu has joined #wayland
kts has joined #wayland
kasper93_ has joined #wayland
kasper93 is now known as Guest21831
kasper93_ is now known as kasper93
Guest21831 has quit [Ping timeout: 480 seconds]
jvvv has joined #wayland
<jvvv>
is it possible to create a wl_surface in a server process?
<vyivel>
no
<jvvv>
more generally, i'm guessing that mixing client and server code is equally noop?
<vyivel>
you could create a client in the same process and connect but why
<jvvv>
i was looking for a way to create a temporary window (toplevel, i guess), for some window management stuff
<vyivel>
that doesn't sound like it should involve wayland at all
<jvvv>
huh?
<vyivel>
that's just internal state management so using a client-server protocol here would be a code smell
<vyivel>
although that depends on what are you planning to have a temporary window for
<vyivel>
it might make sense to write a separate client program and make the compositor run it
<jvvv>
yeah, seperate client and some ipc looks to be my mostly likely solution
tokyovigilante has quit [Remote host closed the connection]
tokyovigilante has joined #wayland
kts has quit [Ping timeout: 480 seconds]
Calandracas_ has joined #wayland
Calandracas__ has quit [Ping timeout: 480 seconds]
yshui_ has joined #wayland
yshui has quit [Ping timeout: 480 seconds]
kts has joined #wayland
nerdopolis has joined #wayland
narodnik has quit [Ping timeout: 480 seconds]
kts has quit [Ping timeout: 480 seconds]
kts has joined #wayland
Moprius has joined #wayland
dcz has joined #wayland
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
narodnik has joined #wayland
kts has quit [Ping timeout: 480 seconds]
alarumbe has joined #wayland
yshui has joined #wayland
yshui_ has quit [Ping timeout: 480 seconds]
yshui_ has joined #wayland
yshui has quit [Ping timeout: 480 seconds]
kts has joined #wayland
nowrep has quit [Quit: WeeChat 4.6.1]
nowrep has joined #wayland
zvarde1988303206779191685873 has quit [Quit: Ping timeout (120 seconds)]
Guest21835 is now known as tzafrir
LoneStarr has joined #wayland
puck_ has quit [Remote host closed the connection]
puck_ has joined #wayland
tzafrir is now known as Guest21866
Guest21866 is now known as tzafrir
sima has joined #wayland
Brainium has joined #wayland
Brainium has quit [Remote host closed the connection]
Brainium has joined #wayland
AJ_Z0 has quit [Ping timeout: 480 seconds]
AJ_Z0 has joined #wayland
kts has quit [Quit: Konversation terminated!]
LoneStarr has quit [Remote host closed the connection]
LoneStarr has joined #wayland
kts has joined #wayland
alarumbe has quit []
kts has quit [Quit: Leaving]
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
rasterman has quit [Quit: Gettin' stinky!]
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
vincejv has quit []
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
vincejv has joined #wayland
dcz_ has joined #wayland
bindu_ has joined #wayland
dcz has quit [Ping timeout: 480 seconds]
bindu has quit [Ping timeout: 480 seconds]
dcz has joined #wayland
__0x1eaf has quit [Quit: Lost terminal]
dcz_ has quit [Read error: Connection reset by peer]
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
dcz has quit [Read error: Connection reset by peer]
dcz has joined #wayland
sima has quit [Ping timeout: 481 seconds]
dcz has quit []
dery has quit [Remote host closed the connection]
<orowith2os[m]>
is there a super simple test client I can use to play with, so I can see how my protocol implementation plays with actual clients?
<orowith2os[m]>
Or do I have to write one myself, or steal from e.g. Mutter's tests?
<orowith2os[m]>
I redid wl_output and xdg-output, but I still need to do runtime changes for that, and I want to implement wl_shell as a simpler shell protocol, just to get something on-screen, and figure out buffer handling and all that; and then shape it into xdg-shell.
<orowith2os[m]>
and it's Very Awkward without knowing just what's going on between my compositor and a client; because there isn't any client other than wayland-info.
fmuellner has joined #wayland
Drakulix has quit [Ping timeout: 480 seconds]
fmuellner has quit [Remote host closed the connection]
<danie1dg>
orowith2os[m]: smithay client toolkit has a few test clients in their example dir
<danie1dg>
orowith2os[m]: don't implement the deprecated shell protocol, just start with xdg shell and stub out stuff
<danie1dg>
maybe the fullscreen shell if you want something simple?
danie1dg is now known as danieldg
Drakulix has joined #wayland
<orowith2os[m]>
danieldg: fullscreen shell might work. It looks simple enough; especially to map to SDL concepts.
<orowith2os[m]>
is there a real-world use for it? Screensavers?
<danieldg>
I think it's more for embedded uses. Screensavers also their own protocol (session lock)
<orowith2os[m]>
I see. Do you have a client I can use (that uses wl_shm and friends) with fullscreen-shell, or should I try implementing one myself?
<danieldg>
I don't know of one
<orowith2os[m]>
I just filed an issue with sctk for a fullscreen-shell test client, so I'll wait on that too
<orowith2os[m]>
hm. What happens if I use wl_surface::damage and wl_surface::damage_buffer? I don't see an error variant for it. Can I choose to just mark the entire buffer as damaged if I get both?
<danieldg>
yes
<danieldg>
damage is an optimization
<orowith2os[m]>
Is that a yes to can I, or a yes to the unasked "should I"?
<danieldg>
it's the can
<danieldg>
a good client will only use one or the other
<danieldg>
of course, if you want to be complete you can maintain two damage arrays and merge them on commit
<danieldg>
but the compositor is allowed to replace damage with larger damage whenever it wants to
<orowith2os[m]>
I see. I was also thinking of an enum with three variants for damage: everything, surface, and buffer damage.
<orowith2os[m]>
and if the variant's buffer or surface and the opposite gets called, it's turned into everything
<danieldg>
yeah, that works
<orowith2os[m]>
ugh, I wish C++ had types more like Rust's enums.
<orowith2os[m]>
std::variant is so limiting.
kasper93 has quit [Remote host closed the connection]
glennk has quit [Ping timeout: 480 seconds]
nerdopolis has quit [Read error: Connection reset by peer]