f_ changed the topic of #wayback to: Wayback - a wayland-based X11 environment | https://wayback.freedesktop.org/ | src: https://gitlab.freedesktop.org/wayback/wayback | logs: https://libera.catirclogs.org/wayback | matrix bridge: #wayback:catircservices.org
grufwub has joined #wayback
britney has quit [Quit: WeeChat 4.6.3]
britney has joined #wayback
caskd has quit [Ping timeout: 260 seconds]
caskd has joined #wayback
cow has joined #wayback
norwoodites has joined #wayback
pinskia has quit [Ping timeout: 276 seconds]
norwoodites is now known as pinskia
<bigmac> f_: "bigmac: I can reproduce it just fine on my laptop" - I was just able to reproduce it, but only when running wayback as system compositor. When running unfullscreened as a session compositor I am not able to do so.
<axtlos> yes the issue only happens when running wayback as a system compositor
<bigmac> In the xserver patch there's mentioned "rootful Xwayland window receives an xdg-surface configure
<bigmac> event before the output definition is complete
<bigmac> I would assume this is what we'd have to change for it to start working with versions without the patch present?
fossdd has joined #wayback
<f_> bigmac: Oh, yes I run Wayback as a system compositor
<f_> actually I'm currently typing from it :)
mebious has quit [Remote host closed the connection]
spicywolf has quit [Remote host closed the connection]
wolfdog has quit [Remote host closed the connection]
staceee has quit [Remote host closed the connection]
paper has quit [Remote host closed the connection]
__0x1eaf has joined #wayback
staceee has joined #wayback
mebious has joined #wayback
wolfdog has joined #wayback
spicywolf has joined #wayback
paper has joined #wayback
<f_> !72 has been marked as ready FYI
<Wayback> !72 reimplement option parsing (https://gitlab.freedesktop.org/wayback/wayback/-/merge_requests/72) [opened]
<f_> any more reviews = welcome
<f_> Also I quickly checked this morning and the Wayback repo is at 150+ commits now so that's nice :)
<dramforever[m]1> f_: before i forget, i remember you were asking about posix_spawn right?
<dramforever[m]1> it's a mostly theoretical concern in correctness, but in a way that using posix_spawn means we'll never have to think about
<dramforever[m]1> man fork.2 says in a multi-threaded program fork can only call async-signal safe functions before doing exec
<dramforever[m]1> sure, what we're doing is definitely single threaded, as long as we're not on macos
<dramforever[m]1> but with posix_spawn we'll never have to think about this in the future, when we possibly bring in more dependencies into our glorified shell script
<f_> ok
<f_> makes sense
<dramforever[m]1> one practical thing that already can happen is the exec failure wlr_log
<dramforever[m]1> which runs in the child, and thus races with the parent on stderr
<f_> thomas_adam: and seeing how skeptical you are regarding what I currently have implemented I'd be curious to hear your thoughts on why you are skeptical on this
<f_> that'd be nice :)
__0x1eaf has quit [Quit: Lost terminal]
jvvv has quit [Quit: WeeChat 4.6.3]
jvvv has joined #wayback
Guest58 has joined #wayback
Guest58 has quit [Client Quit]
rburton has joined #wayback
<Wayback> @funderscore opened issue: #55 DPMS support (https://gitlab.freedesktop.org/wayback/wayback/-/issues/55)
<f_> ConanKudo[m]1: If you're around I'd really like if you could add this one to the 1.0 milestone? No pressure though
<f_> thank you!
<f_> you're awesome
<Wayback> @funderscore opened merge request: !73 Xwayback: add timeout to `-terminate` (https://gitlab.freedesktop.org/wayback/wayback/-/merge_requests/73)
<f_> dok: hi, are you available? I need you to test this ^ to see if it fixes your issue on your side
<f_> it seems to fix it on my end at least
<f_> And also the side-effect of fixing this issue also means WMs doing --replace works
<dok> yes
<f_> Didn't that pass in navi's MR?
<navi> it did
<f_> so why is it complaining *now*?
<navi> maybe because you put two entries in the same line?
<navi> tho i wonder why it would then try to make it one line instead of moving "3" one line over
<navi> context dependent rules?
<f_> ¯\_(ツ)_/¯
<dok> f_: congratulation !
<dok> it does work
<f_> \o/
<f_> Even when I do put 3 in its own line:
<f_> and:
<f_> confusing
<f_> but no wonder I guess I'll just change it to be a single line
<f_> cc ConanKudo[m]1, maybe you know what is going on
caskd has quit [Ping timeout: 260 seconds]
caskd has joined #wayback
__0x1eaf has joined #wayback
__0x1eaf has quit [Ping timeout: 240 seconds]
<Wayback> @Conan_Kudo closed issue: #52 wayback-session fails when .xinitrc contains xset (https://gitlab.freedesktop.org/wayback/wayback/-/issues/52)
<Wayback> @Conan_Kudo merged merge request: !73 Xwayback: add timeout to `-terminate` (https://gitlab.freedesktop.org/wayback/wayback/-/merge_requests/73)
<Wayback> @Conan_Kudo closed issue: #10 make WM replacement work again (https://gitlab.freedesktop.org/wayback/wayback/-/issues/10)
anabelae[m] has quit [Quit: Idle timeout reached: 172800s]
<f_> Thank you ConanKudo[m]1 ^^
__0x1eaf has joined #wayback
caskd has quit [Ping timeout: 240 seconds]
anabelae[m] has joined #wayback
<anabelae[m]> f_: Might I ask how does your wayback startup script look like for launching rootful xwms
caskd has joined #wayback
<f_> anabelae[m]: It's nothing special
<f_> wayback-session icewm-session
<f_> Is something not working for you anabelae[m]?
<axtlos> ConanKudo[m]1: I'm not sure if #14 should be part of the 0.1 milestone, theres a lot to full X compatibility
<Wayback> #14 Reimplement `/usr/bin/X` (https://gitlab.freedesktop.org/wayback/wayback/-/issues/14) [opened]
<axtlos> I think itd make more sense to just say once !72 is merged we can call it good enough for 0.1 since it adds some stub arguments
<Wayback> !72 reimplement option parsing (https://gitlab.freedesktop.org/wayback/wayback/-/merge_requests/72) [opened]
<f_> axtlos: yep that's what was said here I think
<ConanKudo[m]1> axtlos: at least stubbing for 0.1 is sufficient
<f_> that's the plan
<f_> just stubbing all Xorg args
<f_> (that don't work in Xwayland)
<f_> I think we can close #51
<Wayback> #51 Stub arguments for arguments Xwayland cannot handle (https://gitlab.freedesktop.org/wayback/wayback/-/issues/51) [opened]
<f_> (once !72 is merged that is)
<Wayback> !72 reimplement option parsing (https://gitlab.freedesktop.org/wayback/wayback/-/merge_requests/72) [opened]
<axtlos> also bigmac: did you get any further with resolving the tty switch issue?
<axtlos> i found a way to fix it but idk if you found a better solution
<f_> axtlos: what was the issue?
<axtlos> #50
<Wayback> #50 protocol error when switching terminal (https://gitlab.freedesktop.org/wayback/wayback/-/issues/50) [opened]
<f_> no I mean
<f_> What was the issue that caused this bug :p
<axtlos> oh, setting xwayland to -fullscreen
<f_> removing -fullscreen fixes the bug??
<f_> s/??/?/ thanks apple keyboard
<axtlos> i feel like its more of a workaround but removing -fullscreen fixes it
<axtlos> and we dont even need fullscreen since we already specify the geometry
<f_> mmmm yeah
<axtlos> i was gonna make a MR if bigmac hasn't found a better solution
<f_> and like, the compositor isn't doing much window management if at all
<axtlos> yeah
<f_> I'm curious what solution bigmac came up with too though
<f_> ok I added even more stub args to !72 now
<Wayback> !72 reimplement option parsing (https://gitlab.freedesktop.org/wayback/wayback/-/merge_requests/72) [opened]
<f_> btw, what to do with options deprecated in Xorg?
<f_> like `-bpp` is mentioned to be deprecated in the Xorg(1) manpage
<f_> and `-showconfig` also
<axtlos> if we don't intercept it id just pass them along
<axtlos> Xwayland can decide what to do with them
<f_> But these options don't exist in Xwayland
<axtlos> oh
<f_> I'm talking about Xorg-specific options
<axtlos> uhmm id still just pass them along tbh
<f_> so basically cause an error in Xwayland
<axtlos> anything we dont have to explicitly stub id just pass along
<axtlos> yeah
<f_> I've been thinking of just implementing them for compat, depending on complexity
<f_> like for example -showconfig is now an alias to -version in Xorg, so I just do the same in Xwayback
<axtlos> implementing deprecated stuff seems kinda weird
<axtlos> oh
<axtlos> i guess simple aliases we could do
<f_> simple stuff yeah I think would be worth doing
<ConanKudo[m]1> we can also just ignore them and retain them as stubs
<ConanKudo[m]1> anything deprecated in Xorg should probably just do nothing
<f_> true, yeah
<axtlos> yeah stubbed or if x just aliases them to another option do that
<f_> So I guess .... for the simple ones where it can just be an alias away just alias, else stub
<axtlos> i mean aliasing -showconfig to -version shouldn't be that hard to do for us
<f_> Ideally I'd like that all Xorg options not cause an 'unknown option' error in Xwayback/Xwayland
<f_> though some of them I don't know why you'd use them in 2025
<f_> Anyway then I think the optparse thing is ready for review
<f_> Given we're just getting closer and closer to a 0.1 release I might try drafting an announcement and we improve upon it together?
<axtlos> sounds good
<f_> ok!
<axtlos> f_: Could you add `closes #51` to your MR? I think gitlab should then automatically close the issue once its merged
<bigmac> axtlos: It no longer crashes after withdrawing from using the viewporter protocol (removing wlr_viewporter_create from wayback-compositor.c)
<axtlos> hmm that would work too
<axtlos> though maybe we'll need viewporter once we work on xinerama support
<f_> axtlos: done
__0x1eaf has quit [Quit: Lost terminal]
<Wayback> @dramforever opened merge request: !74 Draft: README: Mention NixOS package (https://gitlab.freedesktop.org/wayback/wayback/-/merge_requests/74)
<axtlos> f_ ConanKudo[m]1 navi: do you know if the viewporter protocol is required for wayback? it currently definitely doesn't need it but idk if we may need it for the future
<ConanKudo[m]1> IIRC doesn't Xwayland use it already?
<axtlos> what do you mean?
<axtlos> xwayland does use viewporter, but according to bigmac it's not required
<axtlos> removing it fixes #50
<Wayback> #50 protocol error when switching terminal (https://gitlab.freedesktop.org/wayback/wayback/-/issues/50) [opened]
<axtlos> otherwise a fix is to remove the -fullscreen argument
<dramforever[m]1> now that we pass -terminate to, is there any reason for the weird handling with comp_pid and stuff anymore?
<dramforever[m]1> to Xwayland, i mean
<Consolatis[m]1> i think viewporter only makes sense for -hidpi. And as wayback isn't supporting wayland output scaling anyway its pretty useless. note that removing the viewporter protocol from wayback papers over the actual bug in xwayland
<axtlos> yes, we need to properly terminate the compositor when Xwayland terminates
<axtlos> Consolatis[m]1: What do you mean with 'papers over the actual bug'?
<axtlos> im not sure what 'papers over' means
<Consolatis[m]1> "hides it" / works arounds it
<axtlos> ohh
<axtlos> yeah i figured
<axtlos> i assume same thing for the alternative solution of removing the -fullscreen flag
<Consolatis[m]1> the bug in xwayland is that it doesn't correctly removed output globals and then violates the viewporter protocol by sending a invalid destination geometry
<Consolatis[m]1> yes
<Consolatis[m]1> doesn't correctly handle removed output globals*
<axtlos> but didnt xwayland fix that already?
<Consolatis[m]1> only kind of for the specific case of starting up. but apparently not when the used fullscreen output is gone
<axtlos> ok wait so if i understand you right this isnt an issue with wayback?
<Consolatis[m]1> nope
<Consolatis[m]1> wayback is completely fine here I think
<axtlos> oh hm
<axtlos> i mean either way we should probably remove the fullscreen option used for Xwayland
<axtlos> specifying both geometry and fullscreen seems kinda redundant
<Consolatis[m]1> yeah, and the viewporter protocol also doesn't really seem necessary considering that wayback doesn't support wayland output scaling
<Consolatis[m]1> in general: I'd remove the fullscreen argument, the geometry, the viewporter support. then react to wlr_output_layout changes and reconfigure the xdg-toplevel representing xwayland
<axtlos> oh also remove geometry?
<axtlos> interesting
<Consolatis[m]1> then figure out some side-channel to tell xwayland about the different outputs via xrandr --setmonitor
<axtlos> i dont think xrandr --setmonitor is the way to go
<Consolatis[m]1> why not?
<axtlos> a lot of window managers use xinerama instead of randr
<Consolatis[m]1> can it be configured from a client as well?
<axtlos> i'm not sure
<Consolatis[m]1> or just from xwayland/xorg itself
<axtlos> but generally from what ive seen if something uses xinerama its not reliable to use xrandr --setmonitor
<Consolatis[m]1> I see. I only tested it with mate-session where it seems to work
<dramforever[m]1> axtlos: i would have thought it's easier to just do wl_display_terminate on client disconnection in the compositor
<dramforever[m]1> unless you're trying to reuse the same wayback-compositor...?
<axtlos> how will wayback-compositor tell if the client disconnected
<axtlos> oh yeah right we also need it to keep Xwayback alive
<axtlos> Xwayback exits when either the compositor or Xwayland exits
<dramforever[m]1> i think wl_client_add_destroy_listener
<dramforever[m]1> yeah in wayland-server.c when we get a WL_EVENT_HANGUP it does wl_client_destroy on the client
<dramforever[m]1> and we can listen to thay
<f_> Consolatis[m]1: yeah also to me xrandr --setmonitor feels more like a hack than a proper solution to me
<dramforever[m]1> and we just call wl_display_terminate on that, which really is just setting a flag to make the event loop terminate
<f_> Ideally it would be awesome to actually be able to configure displays from Wayback
<f_> like, changing resolutions and refresh rates etc
<dramforever[m]1> backing up a bit, the handle_segv function currently just returns after handle_exit, which cannot possibly be right
<dramforever[m]1> so like if you force a null pointer deref in xwayback it does some very funny things like printing the message multiple times (so evidently retrying the faulting instruction several times), which can't be right
<dramforever[m]1> and, well, maybe i care too much but when i see something like this i don't like "just fixing" it, i want to get rid of this non-obvious code altogether
dramforever[m]1 has quit [Quit: Bridge terminating on SIGTERM]
Consolatis[m]1 has quit [Quit: Bridge terminating on SIGTERM]
ConanKudo[m]1 has quit [Quit: Bridge terminating on SIGTERM]
whitequark[cis] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has quit [Quit: Bridge terminating on SIGTERM]
anabelae[m] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has joined #wayback
dramforever[m]1 has joined #wayback
<dramforever[m]1> i think i've convinced myself i can do this process handling entirely based on wayland server api telling me "hey client dropped". maybe tomorrow.
<f_> regarding draft 0.1 announcement: site!2
<Wayback> site!2 Draft: RFC! Wayback 0.1 announcement (https://gitlab.freedesktop.org/wayback/wayback.freedesktop.org/-/merge_requests/2) [opened]
<f_> no there's no webhooks thing for site, don't think it's really necessary
<axtlos> added a quick style review, im not the best writer but imo multiple ands in one sentence sounds weird
<f_> I'm not a native english speaker :P so these are absolutely welcome
<axtlos> yeah im not a native speaker either lol
<dramforever[m]1> > e.g. mouse locking (very useful in first-person shooters and used by XScreenSaver)
<dramforever[m]1> oh i should try gaming on wayback
<dramforever[m]1> * e.g. mouse locking (very useful in first-person shooters and used by XScreenSaver)
<dramforever[m]1> oh i should try gaming on wayback
<f_> apart from the mouse stuff it works .. freedoom works just fine
<dramforever[m]1> * > e.g. mouse locking (very useful in first-person shooters and used by XScreenSaver)
<dramforever[m]1> oh i should try gaming on wayback
<dramforever[m]1> oh crap sorry this is an irc bridge i shouldn't have been doing loads of minor edits
<dramforever[m]1> oh, re: xinerama vs xrandr earlier, my data points are that i3 handles xrandr --setmonitor, kwin doesn't (no effect)
<dramforever[m]1> i also don't know how kwin managed to handle the scaling thing... but it works
ConanKudo[m]1 has joined #wayback
<ConanKudo[m]1> kwin does it on its own
<ConanKudo[m]1> it always has
<ConanKudo[m]1> <dramforever[m]1> oh, re: xinerama vs xrandr earlier, my data points are that i3 handles xrandr --setmonitor, kwin doesn't (no effect)
<ConanKudo[m]1> this functionality is not expected to work on kwin
<ConanKudo[m]1> it is a bug if it does
<dramforever[m]1> so no xrandr for kwin?
<ConanKudo[m]1> xrandr yes, but kwin mediates it through kscreen
<ConanKudo[m]1> it forces its own management through that
<dramforever[m]1> ah
<dramforever[m]1> partial xrandr for kwin
<ConanKudo[m]1> this has always been the case, since kwin was not X11 only even back before Wayland
<dramforever[m]1> so basically kwin just does its own thing on understanding what monitors are?
<ConanKudo[m]1> yup
<ConanKudo[m]1> kwin, mutter (and forks), and xfwm4 all are like this
<ConanKudo[m]1> xrandr didn't always exist, and metacity and kwin both developed their own understanding of outputs before xrandr
<ConanKudo[m]1> i3 and most of other simple wms never did that, so ironically that makes more of xrandr's features work (with the possible caveat that the wm cannot handle some of what xrandr does)