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/
lxsameer has quit [Ping timeout: 256 seconds]
snakedye has quit [Ping timeout: 255 seconds]
snakedye has joined #river
waleee has quit [Ping timeout: 255 seconds]
NickH has quit [Quit: leaving]
snakedye has quit [Ping timeout: 276 seconds]
NickH has joined #river
pkap has joined #river
<ahmadraniri[m]> hello mate, I want to ask something, it's kinda out of topic and basic though. Does river terminate a window using `wl_display_destroy_clients` ?
Mimo2000 has joined #river
<novakane> ahmadraniri[m]: no, this one is called at river exit
<ahmadraniri[m]> <novakane> "ahmadraniri: no, this one is..." <- thanks novakane.
pkap has quit [Ping timeout: 252 seconds]
lxsameer has joined #river
bfiedler has quit [Ping timeout: 258 seconds]
bfiedler has joined #river
Mimo2000 has quit [Quit: leaving]
Mimo2000 has joined #river
Mimo2000 has quit [Client Quit]
pkap has joined #river
snakedye has joined #river
draak has joined #river
<dnkl> with latest river, I'm getting an "interface 'zriver_seat_status_v1' has no event 3" error when binding *version 2* of river's stays manager interface. Is that expected?
<dnkl> (I'm going to update yambar to use version 3 as soon as possible, but thought I should mention this anyway)
<dnkl> s/stays/status
<ifreund> dnkl: ah, I think I messed up the server implementation and forgot to check the object version before sending the mode event
lxsameer has quit [Ping timeout: 256 seconds]
<ifreund> just a minute
<ifreund> it'd be nice if zig-wayland could make this mistake harder to write..
lxsameer has joined #river
<ifreund> dnkl: fixed, thanks for the report :)
<dnkl> ifreund: no worries, thanks for the super quick fix 🙂
pkap has quit [Ping timeout: 252 seconds]
<dnkl> ifreund: verified, works perfect. thanks again
<ifreund> no problem!
waleee has joined #river
pkap has joined #river
waleee has quit [Ping timeout: 244 seconds]
pkap has quit [Quit: Client closed]
pkap has joined #river
<dnkl> btw, really nice addition, the new mode event. I occasionally enter passthrough unintentionally, and it always takes a while to figure out what's going on...
<ifreund> More often I forget whether I'm in passthrough or not when testing stuff, and then take several toggles of my keybind plus trying other bindings to figure things out :)
<novakane> how many time I close my main river session instead of the nested one because I forgot I wasn't in passthrough mode anymore xD
<pkap> Happened to me as well all the time :D I started to use a different config for nested dev sessions to avoid this.
<novakane> glad I'm not the only one that do this :P
<leon-p> so apparently I am the only one who tests river with the KMS backend? :P
<mizzunet> @dnkl yambar strikes CPU 100%, https://codeberg.org/dnkl/yambar/issues/192
<mizzunet> An error was there, interface 'zriver_seat_status_v1' has no event 3
<mizzunet> something changed on river?
<novakane> leon-p: well yeah, nothing better than 10 nested river session :P
<pkap> riverception
<ifreund> leon-p: I test it with the KMS backend if I think there could be any backend-specific behavior and once I'm reasonably sure it won't crash :)
<ifreund> pkap, novakane: in the first week of working on river I wrote a really fun bug that recursively started river inside itself on startup xD
<ifreund> used argv[0] instead of argv[1] or something
<novakane> xD so what's your best score, 100 river session? :P
<ifreund> I must've already implemented view padding at that point because each nested river was a bit smaller than the last
<ifreund> eventually one was spawned with 0 size and crashed :D
<tiosgz> NickH: thanks, added now
<novakane> ah that's why we love programming, so much fun :D
* dnkl just pushed status-manager v3 support to yambar
* tiosgz wonders if it should migrate to more of dnkl's great software
<novakane> can't go wrong with dnkl software :D
pkap has quit [Quit: Client closed]
Jaro has joined #river
<Jaro> Hello everyone I am trying to test River out but I keep getting this Failed to query DRI3 DRM FD error from an X11 session would you know what might be the issue here?
Jaro has quit [Client Quit]
<novakane> sounds like a nvidia issue
Jaro has joined #river
<Jaro> does river not support proprietary drivers?
<ifreund> I make no effort to do so
<ifreund> If they happen to work, great. I can't really help fix them though
<novakane> no wlroots based compositor support it
<Jaro> I see, sadly I am having issue with my RTX 3070 to higher the refresh rate of my monitors to 144Hz with the nouveau drivers...
<Jaro> so under wayland I am basically stuck with a 59Hz refresh rate
<Jaro> Is anyone experience the same type of issue ?
<novakane> ifreund: so huh, do you intend to add epoll in waylock by any chance? ;P
<ifreund> novakane: no, poll() can do everything waylock currently needs, and I don't expect that to change
Jaro has quit [Quit: Client closed]
<novakane> too bad for me then :D
<novakane> it just block after 2 or 3 events for some reasons
<ghostbusters2> quick question about keyboard modifiers and wayland.. i'm using mod="Mod4" and i've set up my keyboard (which has two Command keys, left and right) to send L_Super and R_Super respectively (as seen by wev) but R_Super doesn't seem to activate Mod4
<ghostbusters2> hmm seems like my mac doesn't recognize R_Super as right command key either.. i'll just bind both keys to L_Super
<ifreund> that would be the solution yes
lxsameer has quit [Ping timeout: 246 seconds]
<ghostbusters2> hmm strange that doesn't seem to work either - on river or macOS
<ghostbusters2> very weird.. i can see the second command key producing L_Super
miffi has joined #river
miffi has left #river [WeeChat 3.5]
<ghostbusters2> ok I think for now this is a keyboard issue, not a wayland one
<tiosgz> dunno how, but iirc xkb somehow separates symbols and modifiers
vbt has joined #river
<vbt> Hello
<vbt> I am currently sway user and am looking at river
<vbt> I want to know whether river supports all the wlroots protocols that sway supports
vbt has quit [Remote host closed the connection]
<ghostbusters2> good luck
vbt has joined #river
<vbt> ??
<novakane> vbt: most of it but not all I think, would be easier if you tell us the ones you want to have
<ifreund> that's what river's master branch currently supports
draak has quit [Quit: WeeChat 3.5]
<ghostbusters2> tiosgz: does wayland use xkb?
<ghostbusters2> where do the libevent names like RMETA/LMETA get mapped to eg. Mod2/Mod3/Mod4
<ifreund> ghostbusters2: libxkbcommon
Guest17 has joined #river
<Guest17> hello! Today I decided to start yet another wm in zig, any recommendations for getting started?
<ghostbusters2> oh maybe this is a mechanical issue.. sometimes SUPER_R does get mapped to mod4
vbt has quit [Remote host closed the connection]
draak has joined #river
<ifreund> Guest17: take a look at tinywl.zig I guess, and don't be afraid to read the source code of wlroots
vbt has joined #river
<Guest17> Oh hey Issac! Your zig talk on Youtube and the Way Cooler tragedy have been very convincing :)
<Guest17> ifreund: thanks for responding directly here haha
<vbt> ifreund: i see that you are fellow void user
<vbt> but,why is river outdated there?
<ifreund> vbt: llvm is outdated -> zig is outdated -> river is outdated
<vbt> ah
<Guest17> I almost started writing in Rust :3 .. Anyway, do I have to use zig-wlroots? I prefer to use the C API directly if possible
<vbt> so,how do you run latest river in void?
<vbt> *ifreund
<ifreund> vbt: I personally build zig and llvm from source because I work on zig as well. I'd suggest grabbing a statically linked zig 0.9.1 tarball from https://ziglang.org/download though
<ifreund> Guest17: you don't have to use zig-wlroots, it's a pretty nice step up in type safety though
<Guest17> does river use it?
<ifreund> yes
<ifreund> I wrote it because I wanted to use it in river
<vbt> ifreund: do you use waybar or yambar?
<vbt> ifreund: i am bit curious about your setup
<ifreund> vbt: it's nothing that crazy: https://github.com/ifreund/dotfiles
<ifreund> waybar currently, but not for any good reason. It's just the one I happend to implement a river tags module first and inertia has kept me using it
<Guest17> ifreund: apparently zig doesn't have a package manager, how do I get zig-wlroots for example?
<ifreund> I use git submodules for river
draak has quit [Quit: WeeChat 3.5]
draak has joined #river
<Guest17> Thank you very much! This just saved days of learning the zig build system
<Guest17> fwiw, I want to experiment with a compositor where you can describe all the event-handling in a higher level dsl
<leon-p> heh, then the compositor blocking when the user writes a bad loop in your DSL will likely be the most common issue :D
<vbt> Guest17: probably make the compositor programmed through lua
<Guest17> yes that's exactly what I intend to do, I will just yank the lua interpreter into it
<Guest17> leon-p: you're perfectly right. I believe that when it becomes usable (if ever) it would be possible to grow good abstractions
<Guest17> I won't try to design the dsl bottom-down because I have no idea how to :)
draak has quit [Quit: WeeChat 3.5]
draak has joined #river
vbt has quit [Remote host closed the connection]
draak has quit [Client Quit]
draak has joined #river
notzmv has quit [Ping timeout: 240 seconds]
draak has quit [Client Quit]
draak has joined #river
<leon-p> I mean, it doesn't matter what language is actually used. As soon as you allow your users to script behaviour in a turing complete language, you can't guarentee that the event-handlers they write will ever return.
<ifreund> yep, I also want user scripting for river eventually, but not in the compositor process
<leon-p> also it's probably harder to keep things atomic when you let users script everything; i.e. expect flickering like in X11, where sometimes windows or the WM or widgets take a second or two to respond to events.
<novakane> you mean when someone write something in python? :P
<Guest17> I think I want to experiment with what such a system would look like, pretty sure it won't be usable until after I learn a few hard lessons
<Guest17> maybe the lesson will be that this is a horribly stupid idea that won't get anywhere, like gnu hurd
<leon-p> Guest17: maybe check out this: https://github.com/buffet/kiwmi
<Guest17> but again, maybe I don't really need a turning complete language, but only time could tell
<Guest17> amazing, I get an idea, and suddenly I'm the last guy to have had it haha
<Guest17> leon-p: thanks, I tried searching around and only found this https://arcan-fe.com/
<Guest17> ifreund: I hope I'm not being annoying, but do you have any idea why zig-wlroots emits `error: container '.wayland.server.wl' has no member called`?
<Guest17> I submoduled zig-wlroots, zig-pixman, zig-wayland and zig-xkbcommon from their latest commits
<Guest17> and I'm on zig 0.9.1
<Guest17> the same error happens for many structs: DataDeviceManager, Output, WmBase ..
<novakane> Guest17: did have scanner.generate("wl_compositor", 4);
<novakane> oops paste error
<novakane> but yeah did you use scanner.generate() in build.zig?
<Guest17> hmm, no that must be it
<Guest17> what does it do exactly?
<leon-p> Guest17: Wayland protocols exist as XML files. They need to be converted to C / zig code before they can be used.
<leon-p> that's what the scanner is for
<novakane> you need to request a version for the scanner to generate it
<novakane> here an example
<ifreund> ah, I probably didn't update tinywl.zig for recent zig-wayland changes
<Guest17> ifreund: I just checked, and zig-wlroots' tinywl builds and runs fine.
<Guest17> leon-p, novakane: I added it and it doesn't seem to help ..
<ifreund> Guest17: it probably uses an old version of zig-wayland
<Guest17> I'd be glad to make a PR
<ifreund> sure
<Guest17> something still wrong I think: `requested global interface 'zwlr_output_power_manager_v1' not found in provided protocol xml`
<Guest17> oh
<Guest17> haha nevermind I should probably remove the river-specific stuff
<Guest17> okay it works!
<Guest17> ifreund: Okay PR is up
<draak> is there any concrete reason not to use a systemd service for river? i use systemd for user services, running into race conditions with river init
waleee has joined #river
<leon-p> draak: it's not really what user services are meant for, but it works; I used to run sway that way
<leon-p> maybe I can dig up my old unit file, give me a minute
<draak> i appreciate that, I can probably figure it out tho!
<draak> when researching it for sway I found some vocal opposition to the idea
<draak> I just want to have control over the initialization of all my programs
<leon-p> it's a bit hacky though
<leon-p> draak: ^
<draak> ty
notzmv has joined #river
lxsameer has joined #river
lxsameer has quit [Ping timeout: 260 seconds]
lxsameer has joined #river
<talismanick> ifreund: doesn't waylock share the same security flaw as X11 screen lockers which jwz pointed out?
<talismanick> the 2004 original: https://www.jwz.org/xscreensaver/toolkits.html
<talismanick> (that it's an overlay which doesn't "fail safe")
<ifreund> talismanick: if waylock 0.4.0 crashes the session remains locked
<talismanick> I've seen it be suggested that Wayland would overcome the problem by building locking into the compositor (would that be in the domain of wlroots?)
<talismanick> oh, nice
<talismanick> What does it do differently?
<ifreund> talismanick: you can read a bit about it in this post: https://isaacfreund.com/blog/2022-02/
<talismanick> ty, looking now
<talismanick> ah, I see you're familiar with the "I told you so"
<talismanick> exciting to see fresh approaches to serious design questions
<ifreund> indeed, jwz and his glorious blog are an inspiration to us all :)
pmnw has joined #river
draak has quit [Quit: WeeChat 3.5]
nullndvoid[m] has quit [Quit: Reconnecting]
nullndvoid[m] has joined #river
nullndvoid[m] has quit [Client Quit]
nullndvoid[m] has joined #river
elshize has quit [Ping timeout: 255 seconds]
elshize has joined #river
nullndvoid[m] has quit [Client Quit]
nullndvoid[m] has joined #river
nullndvoid[m] has quit [Client Quit]
nullndvoid[m] has joined #river