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/
kraem has quit [Ping timeout: 256 seconds]
Evo2 has quit [Remote host closed the connection]
<ghostbuster> does river support focus-follows-mouse?
Evo2 has joined #river
<Evo2> ghostbuster: Yes, set: "riverctl focus-follows-cursor normal"
<Evo2> n8_: instead of using "riverctl spawn" for thins like swaybg you can just run them in the background by adding "&" to the end of the line.
waleee has quit [Ping timeout: 256 seconds]
<ghostbuster> Evo2: thank you, now that you mention it i see it in the man page
<Evo2> ghostbuster: no problem. I had the exact same question when I started using river.
snakedye has quit [Ping timeout: 256 seconds]
<ghostbuster> if anyone is looking for a good screenshot app, i am using: riverctl map normal None+Shift Print spawn "slurp | grim -g - ~/screenshots/$(date +'screenshot_%Y-%m-%d-%H%M%S.png')"
<ghostbuster> or just use - as output and pipe to wl-copy
kraem has joined #river
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 250 seconds]
raiaq has joined #river
raiaq has quit [Changing host]
snakedye has joined #river
Evo2 has quit [Ping timeout: 240 seconds]
Evo2 has joined #river
user181308142001 has joined #river
<user181308142001> Is there a protocol which allows one to get the dimensions of a given window? I was thinking river-layout, but it doesn't seem to have such an option atm. Is there a river layout manager which is capable of outputting the dimensions of the windows?
<user181308142001> s/window/view/
<ifreund> nope, not aware of anything that can provide that currently
<user181308142001> I see, thanks Isaac
user181308142001 has quit [Quit: Client closed]
snakedye has quit [Ping timeout: 250 seconds]
<ifreund> dnkl: did you happen to start on the wlroots fix for the foreign toplevel management output enter/leave fix?
<ifreund> If not I'll probably do that today, seems wlroots 0.15.1 isn't too far out
<dnkl> ifreund: nope, off skiing 🙂
<ifreund> nice! have fun!
<dnkl> ifreund: thanks! And thanks for working on this!
<leon-p> ifreund: does homerow mods work well with funkier modifier combinations, like f.e. Super+Alt+Ctrl?
<ifreund> leon-p: yeah, that's actually one of the reasons I switched to it
<ifreund> stuff like that is much comfier when you don't have to contort your hand to reach all the key
<leon-p> my thoughts exactly. I'll have to take a look then.
<ifreund> I'm not sure if it's possible to implement outside of the keyboard firmware itself
<ifreund> well, it's probably possible but I don't know if anyone's done it
<leon-p> The firmware for older thinkpad keyboard can be flashed, so maybe
<leon-p> I think it should be doable with XKB as well, but it would probably require doing everything from scratch
<ifreund> leon-p: actually, I think this would work: https://github.com/kmonad/kmonad
<leon-p> nice!
<ifreund> probably not quite as flexible as QMK but it would probably get the job done
<novakane> ifreund: do you know if there is like an optionnal for fmt to make this like a bit cleaner https://zigbin.io/b95557
<novakane> like that it print an extra space without -release which is not really bad but maybe there is something better
<ifreund> novakane: you could use "-release " instead of args[0 + offset]
<ifreund> also it would probably be more readable to have some constants for the arg[x + offset] things near the top of the function
<novakane> ifreund: https://zigbin.io/193815
<novakane> better?
<ifreund> novakane: yes, but it still has the extra space in the output if -release isn't passed
<ifreund> I was suggesting using "-release " (string literal with space at end) to avoid that
<novakane> ifreund: ah yeah and using {s}{s} {s} then?
<ifreund> yeah
<novakane> I missed your space at the end, my bad
<ifreund> no worries!
<novakane> would be cool to have like {?s} or something liek this
<novakane> or ?{s}
<novakane> should be good to merge now
<ifreund> ext-session-lock-v1 has been merged to wayland-protcols :)
<novakane> congrats!
<ifreund> thanks, I guess that is the first protocol I've written that will be used in something other than river ^^
<zdykstra> what does it do?
<ifreund> zdykstra: it allows implementing screenlockers outside of the compositor without compromising security
<ifreund> basically, jwz won't have to say "I told you so"
<zdykstra> ahh, yes.
<zdykstra> nice!
<zdykstra> now if someone can just fix swaylock to not segfault when my displays wake up, that'd be great
<ifreund> well, with this protocol it won't matter if it segfaults, your screen won't unlock :)
<leon-p> well, depending on compositor implementation a crashed screenlocker could result in a session lock, couldn't it?
<novakane> ifreund: now you started you ready for an input protocol :p
<leon-p> s/lock/loss/
<ifreund> leon-p: yeah, but that's fine from a security perspective :)
<leon-p> totally ^^
<leon-p> I was just thinking about that one "cat sitting on keyboard crashed i3-lock"-blog post I read a few years ago.
<leon-p> arguably a cat causing session loss is leagues better than a cat unlocking your device
<novakane> I don't know, someone cat wrote some great text on #foot not so long ago :D
<ifreund> for those not familiar with jwz's blog: https://www.jwz.org/blog/2021/01/i-told-you-so-2021-edition/
<leon-p> I wonder if the 2022 edition will have a mention of this protocol, since it surpasses xscreensaver in theoretical security.
<Nulo> ifreund: Will there be a way to force unlock if the lock program fails, e.g. by logging into a TTY?
<ifreund> Nulo: that's compositor policy
<ifreund> with the current river implementation one may switch ttys and manually start a new ext-session-lock client with the proper WAYLAND_DISPLAY for the session
<ifreund> I believe the sway developers intend to expose something over their non-wayland I3 ipc to manually unlock
<ghostbuster> anyone know how to bind caps lock to ctrl? in my sway config the equivalent syntax is xkb_options caps:ctrl_modifier
<novakane> ghostbuster: with XKB_DEFAULT_OPTIONS, see river(1) man page
<ghostbuster> can i set those in my init or do they need to be set before starting river?
<ifreund> before starting river
<ghostbuster> beauty, thank you
<tiosgz`> congrats on ext_session_lock!
<tiosgz`> may i ask about the motivation for f6b1632? i would expect only a single change in the init, not %s/$mod/Super/
<tiosgz`> of course it is only an example init, but most new users are going to base theirs on it – and having primary mod hardcoded doesn't seem like the best idea to me
<tiosgz`> (e.g. my kiwmi init decides based on output names, & when i need to test river in a nested session, i temporarily change the mod in the init)
<ifreund> tiosgz`: I've seen too many users copy and paste lines from that file with the $mod to a terminal and run them without having $mod set...
<ifreund> and global find/replace is trivial in any decent editor
<tiosgz`> that makes sense, thanks!
<ifreund> no problem!
Evo2 has quit [Ping timeout: 250 seconds]
<leon-p> I also think it reads a bit better
Evo2 has joined #river
gwizon has joined #river
<tiosgz`> do you think you could suggest me something i could try my hand at to get somewhat familiar with the river codebase?
<tiosgz`> (preferably not required very soon and not related to river-specific features)
<leon-p> tiosgz`: you could try implementing some window command
<tiosgz`> for example?
<leon-p> we already have all we need, but implementing a random view stack command should give you a devent idea of how things work
<leon-p> for example, maybe try creating a command that swaps the first and last window
<tiosgz`> hmm, that seems quite river-specific to me
<leon-p> well, I don't think there really is anything in river that is not river-specific.
<leon-p> wlroots takes care of all the "generic" stuff for us
<tiosgz`> i've wondered about #444 or #453, but those won't interact with the codebase much ig
<leon-p> 444 is probably a bit more involved than you think
<ifreund> 444 would be nice to have, but it's probably tricky
<leon-p> someone started work on 453, but I am not sure how far they got. It's a fairly simple feature to implement though.
<ifreund> either of those seem reasonable though tbh
<ifreund> I neither is 100% clear to me how it should be done though
<leon-p> or maybe find out what in the transaction system is blocking 399 from working nicely :P
<leon-p> if you have a drawing tablet, then implementing support for that should be pretty straight-forward as well
<tiosgz`> ok, thanks! i'll see if i can move with something
<tiosgz`> haven't got a tablet
<ifreund> also feel free to ask zig questions here or in #zig, It's my fault you can't just write C to contribute to river :D
<tiosgz`> :D
<leon-p> tiosgz`: don't worry about the tablet, I just hope someone will someday implement it, because I accidentally promised that I'll do it, but I never get around to it ^^
<tiosgz`> ifreund: it's actually why i want to get more into river, plus sway is too complex i suppose
<norkki> I've got a tablet but I don't know any programming :D
gwizon has quit [Remote host closed the connection]
<ifreund> tiosgz`: cool :) Sway is a pretty old codebase and has gone through many refactorings, plus i3 is nowhere near simple to begin with
<novakane> oh 444 would be cool to have for IME but it sure not as easy at it looks
<ifreund> Keyboard.zig is mostly *really* old code from when I first started hacking on river
<ifreund> at some point river was just a zig port of tinywl using @cImport()
<leon-p> 444 will probably be a bit easier with the window management protocol and window managers leasing keybinds.
<ifreund> Evo2: Hey, sorry for taking a bit to get back to you about the packaging issues, but some fedora maintainers just got me back into this in #zig
<ifreund> anyhow, I think things actually work fine if you set all of -Dtarget, -Dcpu, --sysroot, and --libc
<ifreund> to know what to set --libc to, you can run `zig libc` and use the output as a template
waleee has joined #river
waleee has quit [Ping timeout: 250 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 250 seconds]
mon_aaraj has joined #river
Nulo has quit [Ping timeout: 252 seconds]
waleee has joined #river