ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor || https://github.com/ifreund/river || channel logs: https://libera.irclog.whitequark.org/river/
leon-p has quit [Ping timeout: 268 seconds]
leon-p has joined #river
waleee has quit [Ping timeout: 245 seconds]
notzmv has joined #river
nagy135 has quit [Ping timeout: 272 seconds]
ext0l has quit [Quit: WeeChat 3.2]
<leon-p> submitted a PR that makes it possible to resize a view with the pointer in all four corner-directions, not just bottom-left like river does currently
<leon-p> would be cool if people tested it to see if it is stable
<leon-p> I doubt I have any over/underflows still in there, but testing can't hurt anyway :)
xd1le has joined #river
leon-p has quit [Quit: leaving]
snakedye has quit [Ping timeout: 268 seconds]
ext0l has joined #river
<ext0l> i noticed my laptop fans were spinning up whenever i did basically anything and was wondering if river was somehow messing with my cpu usage
<ext0l> turns out that whoever last apllied thermal paste to the cpu did a... let's say substandard job
<edrex[m]> any examples of scripts that interact with the river status/control protocols? or recommended wayland client bindings for python etc?
<edrex[m]> ino: i want a binding that cycles through non-empty tags too
<edrex[m]> is there too much overhead instantiating/connecting a wayland client for a binding to be implemented as a oneshot exec? otherwise, some kind of rpc/signaling is needed? ideas/examples for how that might work?
<edrex[m]> ifreund thanks for pointing me at wlhax, that's a good tool to know about!
<edrex[m]> i guess it could be useful for "reversing" existing clients to figure out how they do something, for scripting.
<ext0l> there's https://git.sr.ht/~leon_plickat/river-tag-overlay and riverctl itself. i think the overhead of starting and tearing down a wayland client is fairly minimal unless you're doing it in a tight loop for some reason.
<edrex[m]> ext0l: so binding to oneshots seems like a good option. i'd still be interested in some simple way to have a binding send a signal to an existing client. dbus?
<ext0l> yeah, you'd connect to the wayland server, get the relevant interface, then talk to it
<edrex[m]> leon-p: is it possible with the current protocols to get a mapping of toplevels to tags?
<edrex[m]> really for scripting something that gives detailed properties for each view (like sway's get_tree) would be nice.
<edrex[m]> it doesn't seem like river-status does that
<edrex[m]> oh, i just realized river-tag-overlay shows populated status for each tag so it must be possible. reads source
<edrex[m]> ok, now i get what the view_tags event is
<edrex[m]> so it gives that, cool.
novakane has joined #river
<novakane> edrex[m]: look at https://git.sr.ht/~leon_plickat/lswt for something that gives detailed properties for each view, although it probably gonna be better when river-toplevel protocol will be ready
snakedye has joined #river
dbuckley has quit [Ping timeout: 252 seconds]
dbuckley has joined #river
leon-p has joined #river
<leon-p> edrex[m]: sorry, was sleeping when you aksed your questions :P
<leon-p> no, currently it is not possible to know the tags of a toplevel. You can get toplevels and you can get tags of toplevels, but there is no connection yet. It's one of the things I am working on currently.
<leon-p> for examples of scripts, please see #394, where I am adding an example python layout. The bindings I am using are pywayland. THey are a bit wonky IMO, but I am not aware of anything better
<leon-p> I'd like to have a few example scripts in contrib/, but haven't gotten around to it yet
<leon-p> as for oneshot clients, Wayland is fairly efficient, so you need not worry about overhad / performance
<leon-p> compared to what the compositor is already dealing with, a simple client setting the tags is absolutely nothing
<leon-p> other rpc/ipc/signaling will not be supported in river, all communication is intended to be purly wayland
waleee has joined #river
<leon-p> so I wanted to quickly write an example script to implement the commonly requested "focus next occupied tag" feature, but python won't let me...
<leon-p> the |= operator in python does not do what it does in other languages, so the script only works for the first 8 tags. Tag 9 is just ignored?
<leon-p> here it is anyway: https://paste.rs/58c
leon-p has quit [Ping timeout: 268 seconds]
xd1le has quit [Quit: xd1le]
Guest84 has joined #river
<Guest84> is there any way to make the new window appear not on top of the stack rather on the bottom
<Guest84> ?
<novakane> Guest84: `attach-mode bottom` see riverctl(1) man page
<Guest84> thanks
<Guest84> and does river support directional switching of opened windows?
<novakane> Guest84: nope, and it's not planned IIRC
<Guest84> last question is i have river/tags in my waybar config but waybar doesn't show any tags do i need to set something up in river config too?
leon-p has joined #river
elshize has quit [Remote host closed the connection]
<novakane> I don't think so but I don't use waybar
<leon-p> Guest84: you can open an feature request issue if you want directional window focusing / switching. I am not totally opposed to that, but I also don't see a reason to have it tbh.
<Guest84> can someone recommend a bar then
elshize has joined #river
<leon-p> Guest84: waybar should work, ifreund uses it AFAIK. yambar is also good I think. Or just use no bar, like I do
<leon-p> this is a nice tool if you use no bar (shameless self-plug): https://git.sr.ht/~leon_plickat/river-tag-overlay
<Guest84> on aur?
<leon-p> I put things onto the AUR, sorry
<leon-p> *I don't
<Guest84> found it
<Guest84> maybe someone else made on
Guest84 has quit [Quit: Client closed]
Guest74 has joined #river
<Guest74> and is there something like so that river always open firefox or anything on a particular tag?
<leon-p> Guest74: not yet
<leon-p> but down the line there liekly will be
<Guest74> so can i add something in the mapping itself that might do it
<leon-p> as I said, not yet
<Guest74> yeah i thought i could do something like map mod+b to some script that does switch to tag n open something switch back but idk
<leon-p> oh, that of course works
<leon-p> snakedye: just saw your screenshot, nice setup!
ext0l has quit [Read error: Connection reset by peer]
ext0l has joined #river
<snakedye> leon-p: thanks! Wouldn't be possible without river :D
Guest74 has quit [Quit: Client closed]
<leon-p> dragging any of the four corners for resizing a window via pointer almost works now, I just have to make view contrainst work.
<leon-p> should be a decent qualitfy of life improvement for everyone who is managing floating views with a pointer
<Nulo> Something I noticed is that windows that have a minimum size but are assigned a smaller size by rivertile looked fucked up, is that intended behaviour?
<leon-p> Nulo: define "looked fucked up"
<leon-p> intended behaviour is that a views minimum size is always honored, even when the layout says it has to go smaller
<Nulo> leon-p: The window was rendering itself outside the river box, sometimes covering other windows
<leon-p> yep, that is intended
<Nulo> Shouldn't the border go along with it?
<leon-p> it usually does
<Nulo> Huh
<leon-p> if it does not, then I am pretty sure the client is faulty
<Nulo> The days go by and I still can't figure out how to make lid events suspend my laptop lol
<Nulo> Hmm, I saw it happen with GTK and QT apps AFAIK
<leon-p> Nulo: simple: submit a PR that allows you to map commands to switch events
<leon-p> Nulo: both GTK and Qt aren't necessarily well behaved Wayland clients
<Nulo> So river actually gets these events? Interesting
<Nulo> Well, I need to stop procastinating and I will give a shot at that later
<leon-p> Nulo: river has a good code base and zig is easy to pick up, so give it a shot!
<Nulo> I already know Zig! That's what initially attracted me to the project :)
<leon-p> :D
<ifreund> Nulo: the first step would be adding bindings for wlr_switch to zig-wlroots
<Nulo> Ah shit
<Nulo> I was already hoping they put lid events on the keyboard for whatever reason to prevent me from making more bindings :D
<ifreund> it shouldn't be much work, wlr_switch is pretty simple
<ifreund> Nulo: you can also get zig translate-c to do some of the work for you, see my comments in this thread: https://github.com/swaywm/zig-wlroots/issues/15
<ifreund> snakedye: I don't understand the title of your reddit post at all, but your rice is quite nice :D
<snakedye> Thanks, it's very much a good thing you don't understand the title 😅
<novakane> leon-p: I don't understand why I have the wrong version protocol error when trying to use river-tag-overlay urgent branch with river xdg_activation branch
<leon-p> novakane: probably because I messed somehting up
<leon-p> try removing the check in the registry handler and see if it works
<novakane> I'll look at it
<novakane> btw for the patch I send you, you can squash it in one commit when it's time to merge it to master I don't care
<leon-p> novakane: depends on what I'll end up doing. I plan on changing a few things in river-tag-overlay once urgency hits master, IDK yet
<novakane> leon-p: ok cool, since I had already done it I sent it so you gain a bit of time, but no need to keep my name in the log if you clean this
<novakane> hmm so it's not the check, gonna invetigate this
<novakane> well didn't find anything wrong so maybe it comes from the protocol, although I'm totally lost with protocol version
<leon-p> novakane: I'll have a look later
<novakane> leon-p: thanks, no rush
elshize has quit [Ping timeout: 268 seconds]
elshize has joined #river
novakane has quit [Quit: WeeChat 3.2]
novakane has joined #river
leon-p has quit [Quit: leaving]
leon-p has joined #river
ino has joined #river
<ino> hi! I am in confusion how to use my touchpad with river. I was going through arch wiki, in the entry for `libinput` , it said, for wayland there is no config file and it totally depends upon the desktop env I am using. Would anyone shed some light how can I achieve this with river? thanks!
<Nulo> ino: Use riverctl
<Nulo> Check out the manual page (man riverctl)
<ino> thank you! I am checking it right now. :)
<Nulo> Specifically the `input` command
<ino> many thanks!
<Nulo> How can I run river for testing lid events? I also want to implement inhibit but I can just run it with the wayland backend, but when running river with the wayland backend I assume it won't get lid events?
<leon-p> Nulo: you can run it in a different tty, it won't conflict with your current session
<Nulo> leon-p: Okay, how can I get the logs though?
<leon-p> Nulo: `river -log-level debug 2> river-log`
<ino> Hi my touchpad is configured! but i have made some configs for input devices that dont exist (mistakenly) i want to edit the config file. where does river store the config files? :)
<leon-p> ino: rivers config is not persistent. All input configurations you created now are lost when you close river
<ino> ohh......so i have to include them in the init file to make them persistant right?
<Nulo> Correct
<ino> thanks leon and nulo!
ino has quit [Quit: Client closed]
<leon-p> #399 should be ready to review now. it's probably possible to simplify the code a bit, but I have looked at it for too long already today
novakane has quit [Quit: WeeChat 3.2]
Guest9946 has joined #river
<Guest9946> I'm trying to install river via the AUR, but when I type riverctl into the terminal it states "The Wayland server does not support river-control-unstable-v1.
<Guest9946> Do your versions of river and riverctl match?" Does anyone know how to set river up from here?
leon-p has quit [Ping timeout: 268 seconds]
leon-p has joined #river
Guest9946 has quit [Quit: Client closed]
Guest62 has joined #river
Guest62 has quit [Client Quit]
Guest4446 has joined #river
Guest4446 has quit [Client Quit]
ino has joined #river
<ino> when i installed `river-git` from AUR, my river started running on Xwayland instead of native wayland. then i manually built river from source and it ran fine. maybe the aur package has some issues.
ino has quit [Quit: Client closed]
ino has joined #river
ino has quit [Quit: Client closed]
ino has joined #river
ino has quit [Quit: Client closed]