ChanServ changed the topic of #wayland to: https://wayland.freedesktop.org | Discussion about the Wayland protocol and its implementations, plus libinput
privacy has joined #wayland
garnacho has quit [Quit: garnacho]
garnacho has joined #wayland
columbarius has joined #wayland
co1umbarius has quit [Ping timeout: 480 seconds]
fmuellner has quit [Ping timeout: 480 seconds]
guru__ has joined #wayland
guru_ has quit [Ping timeout: 480 seconds]
ddshore has joined #wayland
<ddshore> Hi, I'm trying out wayland, was previously using x. I am trying to use WM_CLASS and it will be detected on some windows (emacs) but not on others (konsole), I know WM_CLASS isn't supported, but I wanted to understand why it will sometimmes be detected, does any one know why it is acting like this?
<ddshore> sometimes*
garnacho has quit [Ping timeout: 480 seconds]
ddshore is now known as dD_
<psykose> stuff still running in x has wm_class
<psykose> x applications run in xwayland
<psykose> wayland ones have app_id instead
<dD_> psykose: Thanks. Do you know if there is a way to get konsole to run in xwayland? That's the one I need the most
<psykose> you didn't say what you need to find the wm_class for
<dD_> I'm using a keymapping software called xkeysnail that depends on WM_CLASS
<dD_> to find the correct mapping for a window
<dD_> looks like this worked: QT_QPA_PLATFORM=xcb konsole
lbia has quit [Ping timeout: 480 seconds]
kts has joined #wayland
kts has quit [Ping timeout: 480 seconds]
kts has joined #wayland
checkfoc_us has quit []
checkfoc_us has joined #wayland
kts has quit [Quit: Konversation terminated!]
silverpower has quit [Ping timeout: 480 seconds]
silverpower has joined #wayland
mxz has quit [Ping timeout: 480 seconds]
Leopold__ has joined #wayland
privacy has quit [Quit: Leaving]
Leopold__ has quit [Remote host closed the connection]
Leopold__ has joined #wayland
kts has joined #wayland
Leopold_ has quit [Ping timeout: 480 seconds]
kts has quit []
lbia has joined #wayland
dD_ has quit [Ping timeout: 480 seconds]
Leopold__ has quit [Remote host closed the connection]
Leopold has joined #wayland
kts has joined #wayland
Guru_DE has joined #wayland
guru__ has quit [Ping timeout: 480 seconds]
kts has quit [Ping timeout: 480 seconds]
glennk has joined #wayland
bim9262_ has joined #wayland
bim9262 has quit [Ping timeout: 480 seconds]
bim9262_ is now known as bim9262
junaid has joined #wayland
mblenc has quit [Ping timeout: 480 seconds]
mblenc has joined #wayland
mxz has joined #wayland
Company has quit [Quit: Leaving]
Guest2279 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest2330
rv1sr has joined #wayland
garnacho has joined #wayland
yshui` has joined #wayland
<yshui`> why is the design of wl_subsurface so idiosyncratic? the double-buffering cached state is convoluted enough, then on top of that there are also exceptions you need to remember: stuff that are still synced in desync mode; stuff that is desync even in synced mode.
<yshui`> are all these complexities really necessary?
Shimmy[m] has quit [Quit: Client limit exceeded: 20000]
<vyivel> "stuff that is desync even in synced mode" …that's just not double-buffered state
Leopold__ has joined #wayland
Leopold has quit [Remote host closed the connection]
<yshui`> hmm, actually it does make sense for subsurface stack order and position to remain synced. 🤔
rv1sr has quit []
glennk has quit [Ping timeout: 480 seconds]
Guru_DE has quit [Ping timeout: 480 seconds]
JayBeeFOSS has quit [Ping timeout: 480 seconds]
JayBeeFOSS has joined #wayland
<wlb> wayland Issue #447 opened by yshui (yshui) Request for clarication, sync mode wl_subsurfaces https://gitlab.freedesktop.org/wayland/wayland/-/issues/447
Leopold__ has quit [Remote host closed the connection]
Leopold_ has joined #wayland
kts has joined #wayland
Guest2330 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest2345
mblenc1 has joined #wayland
mblenc has quit [Ping timeout: 480 seconds]
rv1sr has joined #wayland
mblenc has joined #wayland
Brainium has joined #wayland
mblenc1 has quit [Ping timeout: 480 seconds]
qaqland has quit [Remote host closed the connection]
qaqland has joined #wayland
mblenc1 has joined #wayland
mblenc has quit [Read error: Connection reset by peer]
mblenc has joined #wayland
sima has joined #wayland
glennk has joined #wayland
mblenc1 has quit [Ping timeout: 480 seconds]
kts has quit [Quit: Leaving]
rv1sr has quit []
kts has joined #wayland
Guest2345 has quit [Ping timeout: 480 seconds]
cool110 has joined #wayland
cool110 is now known as Guest2352
kts has quit [Quit: Konversation terminated!]
lsd|2 has joined #wayland
junaid has quit [Remote host closed the connection]
kts has joined #wayland
lsd|2 has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
glennk has quit [Ping timeout: 480 seconds]
Arsen has quit [Quit: Quit.]
Arsen has joined #wayland
Arsen has quit []
Arsen has joined #wayland
mblenc1 has joined #wayland
mblenc has quit [Read error: Connection reset by peer]
rv1sr has joined #wayland
kts has quit [Quit: Leaving]
kts has joined #wayland
mblenc has joined #wayland
mblenc1 has quit [Ping timeout: 480 seconds]
rasterman has joined #wayland
glennk has joined #wayland
privacy has joined #wayland
mblenc1 has joined #wayland
mblenc has quit [Ping timeout: 480 seconds]
silverpower_ has joined #wayland
silverpower has quit [Ping timeout: 480 seconds]
Company has joined #wayland
junaid has joined #wayland
mblenc has joined #wayland
mblenc1 has quit [Ping timeout: 480 seconds]
mblenc has quit [Ping timeout: 480 seconds]
rasterman has quit [Quit: Gettin' stinky!]
mblenc has joined #wayland
fmuellner has joined #wayland
junaid has quit [Remote host closed the connection]
mblenc has quit [Read error: Connection reset by peer]
mblenc has joined #wayland
qaqland_ has joined #wayland
qaqland has quit [Ping timeout: 480 seconds]
qaqland_ is now known as qaqland
mblenc1 has joined #wayland
mblenc has quit [Ping timeout: 480 seconds]
junaid has joined #wayland
mart has joined #wayland
kts has quit [Ping timeout: 480 seconds]
codecolla has joined #wayland
lsd|2 has joined #wayland
Brainium_ has joined #wayland
Brainium has quit [Ping timeout: 480 seconds]
privacy has quit [Quit: Leaving]
mblenc has joined #wayland
mblenc1 has quit [Ping timeout: 480 seconds]
mblenc has quit [Ping timeout: 480 seconds]
lsd|2 has quit [Ping timeout: 480 seconds]
lsd|2 has joined #wayland
rv1sr has quit []
mblenc has joined #wayland
i509vcb has joined #wayland
lsd|2 has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
Guest2352 has quit [Remote host closed the connection]
cool110 has joined #wayland
cool110 is now known as Guest2382
mart has quit [Quit: Konversation terminated!]
Guest2382 has quit [Remote host closed the connection]
tristianc6704 has quit []
mblenc1 has joined #wayland
tristianc6704 has joined #wayland
Brainium_ has quit [Ping timeout: 480 seconds]
junaid has quit [Remote host closed the connection]
<wlb> weston Issue #890 opened by Dylan Aïssi (daissi) weston fails to build with neatvnc 0.8.0 https://gitlab.freedesktop.org/wayland/weston/-/issues/890
mblenc has quit [Ping timeout: 480 seconds]
cool110_ has joined #wayland
cool110_ is now known as Guest2386
tristianc6704 has quit []
tristianc6704 has joined #wayland
Brainium has joined #wayland
sima has quit [Ping timeout: 480 seconds]
navi has joined #wayland
tanty has quit [Quit: Ciao!]
tanty has joined #wayland
tanty has quit []
tanty has joined #wayland
Brainium has quit [Read error: Connection reset by peer]
Brainium has joined #wayland
karolherbst_ has joined #wayland
karolherbst has quit [Ping timeout: 480 seconds]
glennk has quit [Ping timeout: 480 seconds]
karolherbst has joined #wayland
karolherbst_ has quit [Ping timeout: 480 seconds]
codecolla has quit [Quit: Leaving]
<JoshuaAshton> set_visibility doesn't work at all under labwc/Plasma, but seemed fixable with a simple MR
<JoshuaAshton> I feel like I am doing something wrong given... surely I am not the first person to find this (?), but I also can't find anyone else reporting this and it seemed trivially fixable...
dD_ has joined #wayland
yrlf has quit [Quit: The Lounge - https://thelounge.chat]
yrlf has joined #wayland
<JoshuaAshton> Maybe others using libdecor are falling back to xdg_toplevel directly if SERVER_DECORATIONS? Not sure
<Consolatis> not sure what version 2 of the xdg-decoration protocol they are referring to..
<JoshuaAshton> Me neither, I can't find it anywhere
<JoshuaAshton> This also fixes it for me on labwc as well as Plasma
<riteo> WHAT
<riteo> THAT WAS IT?!?!?!!
<riteo> I looked at the code and went "uh... This looks messy... Doesn't look easy to fix" and then I find out that the comment talked about a non-existent protocol version
<riteo> JoshuaAshton: I reported that a few months ago as Godot uses that https://gitlab.freedesktop.org/libdecor/libdecor/-/issues/63
<JoshuaAshton> riteo: I recently found it in Gamescope
<riteo> IIRC I also had some concerns on how the global was handled at runtime, but I can't remember right now what was the exact issue
<JoshuaAshton> also libdecor putting its userptr at the end of the interface callbacks is truly devastating
<JoshuaAshton> =(
<riteo> there's also another quirk regarding plugin (e.g. GTK) frame destruction where you could "double-free" the thing, but I never found the opportunity to investigate further
<riteo> JoshuaAshton: just use tags ;)
<JoshuaAshton> tags?
<riteo> you can assign a string to a proxy and check it
<JoshuaAshton> heh
<riteo> on Godot we tag most of our proxies with the "godot" tag and check it, no-opping or whatever in the various listeners
<riteo> (if we don't find our proxy)
<riteo> takes nothing also because it's a const char pointer so you can do a direct equality check IIRC
<JoshuaAshton> I ended up writing this shit for the automated forwarding to class function
<JoshuaAshton> template <typename Func, typename... Args>
<JoshuaAshton> auto CallWithAllButLast(Func pFunc, Args&&... args)
<JoshuaAshton> {
<JoshuaAshton> {
<JoshuaAshton> auto Forwarder = [&] <typename Tuple, size_t... idx> (Tuple&& tuple, std::index_sequence<idx...>)
<JoshuaAshton> return pFunc(std::get<idx>(std::forward<Tuple>(tuple))...);
<JoshuaAshton> };
<JoshuaAshton> return Forwarder(std::forward_as_tuple(args...), std::make_index_sequence<sizeof...(Args) - 1>());
<JoshuaAshton> }
<JoshuaAshton> #define LIBDECOR_USERDATA_TO_THIS(type, name) []<typename... Args> ( Args... args ) { type *pThing = (type *)std::get<sizeof...(Args)-1>(std::forward_as_tuple(args...)); CallWithAllButLast([&]<typename... Args2>(Args2... args2){ pThing->name(std::forward<Args2>(args2)...); }, std::forward<Args>(args)...); }
<JoshuaAshton> x_x
<JoshuaAshton> This is probably the worst thing I have written ever
<riteo> oof
<JoshuaAshton> Who knew std::forward'ing all but the last arg would be so hard
<riteo> is this server-side?
<JoshuaAshton> Yeah :b
<riteo> oh I see
<riteo> perhaps libdecor should just tag its stuff and ask clients to check for it
<JoshuaAshton> well gamescope is a server that is also a client :b
<JoshuaAshton> i guess this is client for gamescope
<riteo> I never quite understood that part
<JoshuaAshton> Hm?
<riteo> is one supposed to normally run steam through it?
<JoshuaAshton> You can run Steam in big picture mode or games directly yeah
<JoshuaAshton> It's the only way to play games in HDR on Plasma 6 also
<riteo> like, the fact that it can auto-switch is great for big picture but there are like zero instructions on how to use it properly
<riteo> no scripts, nothing
<riteo> I have a script called `itsgamingtime`, but it's all done through my research, which is a bit of a bummer
<JoshuaAshton> I mean it's really just
<JoshuaAshton> gamescope -e -- steam -bigpicture
<JoshuaAshton> for the most part
<JoshuaAshton> *-gamepadui
<riteo> mh, I _may_ have made my life extremely hard by having steam as a flatpak
<JoshuaAshton> oh for sure
<riteo> it works though 8)
<JoshuaAshton> especially as Gamescope WSI probably doesn't work there
<riteo> yeah I had to override some paths
<riteo> oh well
<JoshuaAshton> Daily reminder that the Steam Flatpak/Snap etc is not officially supported
<riteo> libdecor would really need some love, although I suppose that most people eventually switched to an homebrew CSD solution
<riteo> JoshuaAshton: yeah nw, I'm aware of that
<riteo> like, on Godot we're aready slowly moving towards our own CSDs since we need them anyways, plus we're otherwise losing a lot of benefits
<riteo> does SDL use libdecor?
<JoshuaAshton> it can yes
<riteo> cool
<JoshuaAshton> i think for serverside it uses xdg toplevel directly
<riteo> wait, how does it detect that?
<riteo> you get the global yeah, but that does not mean that you have SSDs
<JoshuaAshton> the configure callback
<JoshuaAshton> on the decoration global
<riteo> what callback
<riteo> there's one but you have to pass in a toplevel
<JoshuaAshton> configure in zxdg_toplevel_decoration_v1_listener
<riteo> yeah but you have to pass a toplevel
<JoshuaAshton> hmmm
systwi has quit [Remote host closed the connection]
<riteo> I'm not sure when you get sent the event though, but still, you'd have to at least roundtrip, assuming the compositor sends the event instantly
<riteo> also because libdecor has its own toplevel wrapper which starts from an xdg_surface
<ifreund> is there any supported way to run steam on a musl based distro?
<ifreund> flatpak is pretty convenient for that
<JoshuaAshton> flatpak
<JoshuaAshton> but not supported really
<JoshuaAshton> so to answer fully, no :frog:
<Consolatis> riteo: when creating the xdg-toplevel either call set_mode() *if* you really have a preference or unset_mode() if not (recommended usually), then use the configure handler to update your decoration (e.g. render them / remove them)
<riteo> Consolatis: yeah, but the idea was to use libdecor only if the compositor asks for CSDs
<riteo> we can't do it like that as we'd have to recreate the window since libdecor has its own toplevel wrapper
<Consolatis> that sounds difficult indeed, I guess if you just want to know the preference of the compositor you could create a dummy xdg-toplevel manually before
<Consolatis> the kde decoration protocol has a preferred event for the manager itself, the xdg doesn't doesn't afair
<Consolatis> the xdg one doesn't*
<JoshuaAshton> mmmm
<JoshuaAshton> seems my MR has another bug where you set and unset and get entirely different decorations... lol
dD_ has quit [Quit: WeeChat 3.5]
<Consolatis> JoshuaAshton: not sure right now but I'd assume you just need to call another set_mode() there?
<Consolatis> the configure handler should then (hopefully) react to that correctly by either rendering the CSD or not
<Consolatis> be aware of loops though if that function may be called on the configure handler.. afair the protocol stated something like "do not send the same value twice"
<JoshuaAshton> Consolatis: Yeah just pushed up my MR with tbasically that
mblenc has joined #wayland
mblenc1 has quit [Read error: Connection reset by peer]