ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
nerdopolis has joined #wayland
guru_ has joined #wayland
Guru_DE has quit [Ping timeout: 480 seconds]
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
garnacho has quit [Quit: garnacho]
nerdopolis has quit [Ping timeout: 480 seconds]
garnacho has joined #wayland
nerdopolis has joined #wayland
julio7359 has quit [Ping timeout: 480 seconds]
Brainium has quit [Quit: Konversation terminated!]
bindu has quit [Remote host closed the connection]
Guest8353 has quit [Remote host closed the connection]
tlwoerner_ has joined #wayland
tlwoerner has quit [Ping timeout: 480 seconds]
Brainium has quit [Quit: Konversation terminated!]
iomari892 has joined #wayland
iomari891 has quit [Ping timeout: 480 seconds]
feaneron has quit [Quit: feaneron]
fmuellner has quit [Ping timeout: 480 seconds]
iomari892 has quit [Read error: Connection reset by peer]
zukunf has quit [Quit: Lost terminal]
nerdopolis has quit [Ping timeout: 480 seconds]
mohit81582263 has quit [Quit: mohit81582263]
iomari891 has joined #wayland
mohit81582263 has joined #wayland
lsd|2 has joined #wayland
iomari891 has quit [Read error: Connection reset by peer]
iomari891 has joined #wayland
Brainium has joined #wayland
lsd|2 has quit [Ping timeout: 480 seconds]
lsd|2 has joined #wayland
kts has joined #wayland
lsd|2 has quit [Ping timeout: 480 seconds]
narodnik has joined #wayland
iomari891 has quit [Ping timeout: 480 seconds]
kasper93 has joined #wayland
riteo has joined #wayland
mripard has quit [Ping timeout: 480 seconds]
feaneron has joined #wayland
<Arsen>
is there a way to embed windows within other windows? the idea I had was to do something like cage but render into an existing surface
mripard has joined #wayland
iomari891 has joined #wayland
mripard has quit [Ping timeout: 480 seconds]
mripard has joined #wayland
mripard_ has joined #wayland
<kennylevinsen>
Arsen: you can have a compositor that renders to a window (cage already supports running like that through wlroots' Wayland backend), but you cannot render into foreign windows
<Arsen>
hm, is it possible to create and share a subsurface or such? /me is unsure if those can be resized by the parent, though
<Arsen>
and yeah, that's what I was referring to - the wayland backend (though, maybe I'd have to hack it somewhat)
mripard has quit [Ping timeout: 480 seconds]
<Arsen>
(now, I imagine that'd require modifying the embedd*ed* client, but let's take that as acceptable in this case)
<kennylevinsen>
You can embed a compositor in the client yes
Brainium has quit [Ping timeout: 480 seconds]
<kennylevinsen>
But it all needs to be in-process
<kennylevinsen>
You can render to a subsurface but it's use must also be within a surface from the same client
Brainium has joined #wayland
feaneron has quit [Quit: feaneron]
feaneron has joined #wayland
<danieldg>
if there was enough demand for this feature, something like xdg-foreign could be created to allow foreign subsurfaces to exist. But I don't think there will be such demand
<danieldg>
acting as a wayland proxy/pass-through compositor is more likely to be how it's done
<danieldg>
you could even make a defined subset of the wayland protocol just for exporting buffers (re-export just the protocols for creating a surface and buffers, along with one "it goes there" protocol)
<sewn>
is there a document regarding which protocols should be checked by an application? i've noticed things such as seat not be NULL-checked but things like compositor do
<danieldg>
the wayland protocol xml has a non-null attribute
<danieldg>
or maybe it's might-be-null
<danieldg>
regardless, it's there
<sewn>
sorry, where is this?
bjorkintosh has quit [Quit: "Every day, computers are making people easier to use." David Temkin]
<sewn>
sorry i mean't if interfaces themselves can be null, such as ext-session-lock-v1's ext_session_lock_manager_v1 probability of not being offered by the compositor.
<sewn>
i don't see wayland applications checking if wl_seat is missing but checking if compositor or vice versa interface's managers or such is null
<danieldg>
sewn: ah. Technically you should check if all of them are present or not.
<danieldg>
however, there are a few interfaces (most in wayland.xml) that it doesn't make sense to run if they're not present
<sewn>
hmm, is there some document that lists interfaces that *are* guranteed to be there that wouldn't require checking?
<danieldg>
nope
<sewn>
bummer.
<danieldg>
none of them are tehnically guaranteed
<sewn>
in swaylock i see wl_compositor being checked but not wl_seat
<danieldg>
but if, say, wl_compositor didn't exist then almost nothing would work
kts has joined #wayland
<sewn>
hmm, okay, thanks
<danieldg>
sewn: the usual solution is to assume everything in wayland.xml is present, except wl_toplevel
<danieldg>
er, wl_shell*
<emersion>
that doesn't work for compositors without any currently connected output, or without any currently connected input device
<emersion>
swaylock doesn't check for wl_seat because it supports 0 wl_seat globals just fine
<danieldg>
but it would be useful if people would check for output, seat, data_device_manager, and probably a few others
<danieldg>
shm could be optional, and subcompositor probably could be too
<emersion>
danieldg: no, it would break some use-cases
<emersion>
in general all wayland clients _should_ support zero wl_seats, or 0 wl_outputs
<danieldg>
(they should also support two wl_seats)
<emersion>
and there's no point in requiring things you don't use, such as data device for a client which doesn't do copy/paste
<emersion>
or wl_subcompositor when you don't use sub-surfaces
feaneron has quit [Quit: feaneron]
<sewn>
you can have multiple seats?
<emersion>
yes
bjorkintosh has joined #wayland
lsd|2 has joined #wayland
kts has quit [Quit: Konversation terminated!]
sevz has quit [Quit: WeeChat 4.2.1]
sevz has joined #wayland
rv1sr has quit []
feaneron has joined #wayland
iomari891 has quit [Ping timeout: 480 seconds]
lsd|2 has quit [Ping timeout: 480 seconds]
lsd|2 has joined #wayland
sally has quit [Remote host closed the connection]
<daniels>
danieldg: cross-surface subsurfaces introduce a lot of unpleasant dependencies
<daniels>
it’s an obvious thing to do, but has equally been avoided for good reason
<danieldg>
cross-client, you mean?
<danieldg>
I expect there'd be some difficulty with size changes or synchronizing frames, but would that be much worse than two toplevels on the same output?