ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor || https://github.com/riverwm/river || channel logs: https://libera.irclog.whitequark.org/river/
<ghostbuster> how does wlr-randr decide which displays are connected?
<ghostbuster> somehow it doesn't understand that laptop lid switch closed should mean eDP-1 disabled
<leon-p> ghostbuster: it doesn't. It gets all information from the sever. It really does nothing more than provide UI for some Wayland interfaces.
<ghostbuster> the server being wlroots?
<leon-p> If you want a closed laptop lid to result in the output being turned off, you'll have to look at getting the switch events. Sway can bind commands to them, but river currently does not implement that
<leon-p> the server is river, but the relevant parts are wlroots, right
<ghostbuster> ah ok
<ghostbuster> and wayland is the protocol that wlr-randr talks to river/wlroots? or river <-> wlroots
<ghostbuster> should river remember the last state of the output (enabled or disabled) because it always starts as enabled
<leon-p> wlroots is a C library that implements the low-level plumbind of a display server and Wayland protocol communication. River binds the library and drives it, forming a display server. Wayland is a protocol spoken between river, the display server, and client wanting to display things on screen.
<ghostbuster> so there are multiple places where the protocol is spoken?
<leon-p> ghostbuster: a display server could remember the last state of an output, but river chooses to let output configuration be the concern of client, such as kanshi
<leon-p> ghostbuster: it is spoken between server and clients
<ghostbuster> kanshi is crashing river for me :|
<leon-p> (I see how my earlier sentence is maybe confusing. Wayland is not spoken between river and the display server and the client, because river *is* the display server. That's what the side-sentence in the commas wanted to indicate)
<leon-p> ghostbuster: that sounds like a bug
<ghostbuster> leon-p: i re-read your sentence and i get it now, thank you
<leon-p> but what protocol is spoken between client and server is not relevant for output configuration
<ghostbuster> let me see if I can get a core dump
<ghostbuster> so i got a 200M core dump, but then i realized that I built river myself
<ghostbuster> so not sure how useful it will be to you
<leon-p> we don't really need the entire coredump, just extract the backtrace
<ghostbuster> gdb says my binary has no symbols
<leon-p> then you build river in release mode
<ghostbuster> zig build install -Drelease-safe should be -Ddebug?
<leon-p> no, just `zig build`. Debug builds are the default
<leon-p> but before you do, what version are you on?
<ghostbuster> 0bdf34
<ghostbuster> i'm using the aur package called river-noxwayland-git-0.1.0.r26.g0bdf348
<leon-p> yeah, that is recent enough
<leon-p> and what wlroots version?
<ghostbuster> so for that one i downloaded the aur wlroots-git-0.16.0.r5327.89dc9a44, but then i edited the PKGBUILD to 0.15.0
<leon-p> I see
<leon-p> so you have wlroots 0.15.0
<ghostbuster> yeah
<leon-p> just making sure it's not an incompatible library version causing the crash :)
<ghostbuster> i'm using a bit of a hacked up version but it was the only way to get it running
<ghostbuster> i probably shouldn't be asking for support :P
<leon-p> as long as it is wlroots 0.15.0 with the corresponding version of zig-wlroots it should work for river master
<ghostbuster> is there any version string in wlroots anywhere?
<leon-p> /usr/include/wlr/version.h
<ghostbuster> yup it's 0.15.0
<leon-p> then it's probably not a problem caused by wrong dependency versions
<ghostbuster> is it weird that i had to ln -s /usr/lib/libwlroots.so.{10,11}
<leon-p> kinda
<leon-p> that may have something to do with this. Maybe the ABI isn't happy with this...
<ghostbuster> hmm.. this all started i guess because wlroots in the arch repo can't be updated to 0.15 until sway is updated to support it
<ghostbuster> i will wait until i can run official binaries to make any more bug reports
<leon-p> yeah, I am also currently hold back by that. In the past I just installed wlroots from source to get to a newer version, but I did not have enough time this month to worry about writing river code to warrant that.
<leon-p> s/hold/held/
<leon-p> anyway, I need some sleep now. Feel free to post the backtrace, should you get one, regardless, people here read the backlogs
<ghostbuster> kind of changes the meaning of the word 'dependency' eh :D
<leon-p> hehe
<ghostbuster> thanks for you help
<leon-p> no worries
tdeo has quit [Read error: Connection reset by peer]
tdeo has joined #river
s1dsq has quit [Read error: Connection reset by peer]
s1dsq has joined #river
novakane has quit [Ping timeout: 240 seconds]
novakane has joined #river
ifreund has quit [Ping timeout: 240 seconds]
ifreund has joined #river
snakedye has quit [Ping timeout: 250 seconds]
snakedye has joined #river
waleee has quit [Ping timeout: 268 seconds]
snakedye has quit [Ping timeout: 240 seconds]
snakedye has joined #river
notzmv has quit [Ping timeout: 268 seconds]
snakedye has quit [Ping timeout: 256 seconds]
notzmv has joined #river
snakedye has joined #river
<ifreund> ghostbuster, leon-p: https://github.com/riverwm/river/issues/508
<leon-p> ah, lovely
waleee has joined #river
<tiosgz`> how should i go about `switch` on a string in zig? create an enum and try to convert the string to that?
<ifreund> tiosgz`: either that or chain if statements with std.mem.eql()
<tiosgz`> thanks! as a function-local constant, is it expected to be snake_case?
<ifreund> inclement: still TitleCase since it's a type I'd say
<tiosgz`> nvm, it can be done with a single occurence
<ghostbuster> i didn't consider upgrading sway to an rc as a solution to keep river, sway and wlroots all working on my system at once
Guest51 has joined #river
Guest51 has quit [Client Quit]
Phyrric_ has quit [Quit: client update]
<leon-p> ifreund: I see you started work on waylock :P
<ifreund> leon-p: indeed, though I didn't get very far today
<ifreund> I think I want an optional abstraction in zig-wayland to properly handle the registry, not sure what that will look like yet though
<ifreund> I also still need to implement the thing I described in the comments here: https://github.com/ifreund/zig-wayland/issues/14
Ankhers has joined #river
<novakane> ah nice we gonna see a zig wayland project other than river to get some code inspiration ifreund :P
<ghostbuster> something new happened.. river started successfully on all 3 outputs
<ghostbuster> even sway doesn't like to do that lol
<ghostbuster> dumb question but.. for wlr-randr --pos, which corner of the screen is the origin?
snakedye has quit [Ping timeout: 256 seconds]
snakedye has joined #river
snakedye_ has joined #river
<leon-p> ghostbuster: in graphics programming generally the top-left corner is (0,0), with the positive x direction going to the right, like you'd expect, but the positive y direction going to the bottom.
<leon-p> definitely took me some time to get used to
snakedye_ has quit [Ping timeout: 240 seconds]
snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
<ghostbuster> so i have a feature request.. is there a way to have a single set of tags between outputs? ie. i tag a view on left monitor and unfocus it and later can pull it up on right monitor without explicitly moving it from "tag 2 left" to "tag 2 right"
lgflorentino has joined #river
<ifreund> yeah I want that too, but there are some larger architectural changes I want to make in order to enable that and more
<ghostbuster> i had a feeling it would either be trivial or require a rearchitecture heh