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 [Quit: leaving]
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #river
ext0l has joined #river
ext0l has quit [Ping timeout: 244 seconds]
snakedye has quit [Ping timeout: 240 seconds]
snakedye has joined #river
ext0l has joined #river
waleee has quit [Ping timeout: 252 seconds]
ext0l has quit [Ping timeout: 240 seconds]
snakedye has quit [Ping timeout: 250 seconds]
ifreund has quit [*.net *.split]
ifreund has joined #river
Guest35 has joined #river
<Guest35> Is there a way to make a keybinding to switch to the next/previous tag? This should be easy from the code side (simple bit shift), but I don't see a way to do it with riverctl.
<dagle> Well, it's easy if the mask is 00100, then it would be come 01000 but what if the mask is 00110? Should it be 01010 or 01100?
<dagle> become*
<Guest35> I'll take either one! Presumably the latter, though. I believe there is a dwm patch along those lines.
<Guest35> That would be the default behavior of a bit shift
xd1le has joined #river
Guest35 has quit [Quit: Client closed]
ext0l has joined #river
<ext0l> always nice when i go to report a bug, then i find that it was reported and fixed a few days ago :D
<ifreund> dagle: looks like Guest35 is gone, but river already has a focus-previous-tags command for future reference
<ifreund> ext0l: almost a month ago really :P Have you gone that long without restarting river?
pltrz has quit [Quit: You have been idle for 30+ days]
snakedye has joined #river
leon-p has joined #river
<leon-p> we should probably have a fullscreen filter as well I think (I found that when I open a video in mpv, I always want it fullscreen). Although it probably makes more sense to design the next river-control version to allow outsourcing filters to external clients...
noopdecoder has joined #river
noopdecoder has quit [Quit: noopdecoder]
bfiedler has quit [Read error: Connection reset by peer]
bfiedler has joined #river
leon-p has quit [Ping timeout: 252 seconds]
leon-p has joined #river
<bfiedler> Can I match window titles in float-filter-add somehow? The Firefox sharing indicator is driving me up the wall
<ifreund> bfiedler: nope, not currently
<ifreund> we really need more flexible matching rules
<bfiedler> ifreund: Do you have grand plans for a refactoring or would this be a good thing for me to look at?
<ifreund> bfiedler: it's not clear to me what the "perfect" design for flexible filters looks like, so I'd hesitate to merge anything that adds too much complexity as we'll probably end up replacing it with something else in the future
<ifreund> I have some long term ideas of how a general solution could look, but adding support for matching on window title in the short term probably wouldn't be a bad idea
<bfiedler> Sounds good, window titles would already help a lot I think
<ifreund> if you want to avoid wasted work, feel free to open an issue first to get feedback on the user-facing API you want to expose before starting on the implementation
<bfiedler> There's this one already: https://github.com/ifreund/river/issues/289 I'll write a comment there
<ifreund> cool
sjtio has quit [Quit: Bridge terminating on SIGTERM]
keithhub[m] has quit [Quit: Bridge terminating on SIGTERM]
priner has quit [Quit: Bridge terminating on SIGTERM]
anubhavkini has quit [Quit: Bridge terminating on SIGTERM]
edrex[m] has quit [Quit: Bridge terminating on SIGTERM]
voroskoi[m] has quit [Quit: Bridge terminating on SIGTERM]
sjtio has joined #river
priner has joined #river
anubhavkini has joined #river
voroskoi[m] has joined #river
edrex[m] has joined #river
keithhub[m] has joined #river
xd1le has quit [Quit: xd1le]
ext0l has quit [Read error: Connection reset by peer]
ext0l has joined #river
waleee has joined #river
ino has joined #river
<ino> hi guys! how are you?
ext0l has quit [Read error: Connection reset by peer]
ext0l has joined #river
ino has quit [Quit: Leaving]
ino has joined #river
<ino> what are you guys thoughts about dwl? I recently found it on github and it is a dwm clone for wayland. :)
<leon-p> ino: that question belongs into #river-offtopic
ino_ has joined #river
ino_ has quit [Client Quit]
ino has quit [Quit: Leaving]
ext0l has quit [Ping timeout: 256 seconds]
leon-p has quit [Ping timeout: 244 seconds]
leon-p has joined #river
ext0l has joined #river
<ext0l> ifreund: i restart river every so often, but i don't update my system *that* much
Guest32 has joined #river
schmo has joined #river
<schmo> Hey, Guest35 decided to actually set up an irc client. I'm not seeing a focus-previous-tags option in the riverctl manpage. How do I use that command to shift right or left?
<leon-p> schmo: that is not built into river. You can use an external program for that. A few days ago I uploaded a python script to do that, but I can't find it anymore, sorry
<leon-p> the focus-previous-tags command simply makes river focus the tag set that was active before the current one
<schmo> Ah ok. Thanks.
<leon-p> schmo: here is the relevant discussion (irc logs): https://libera.irclog.whitequark.org/river/2021-08-14#
<leon-p> starting at 10:43
<leon-p> note that the pywayland setup is a bit involved, please see the PR that adds a python layout for details
<schmo> ok, thanks.
<schmo> How involved would it be to add something like get-tagmask to riverctl?
<leon-p> schmo: it's not a question of how complicated it is, but rather if there is a good use case. River does not implement features for the sake of having features.
<leon-p> and if your use-case is "shell script", then I can stop you already: all river scripting is supposed to happen over wayland
<schmo> so river can be scripted and controlled through libwayland.
<leon-p> schmo: through all wayland implementations, not just libwayland. Howeveer the necessary protocol extensions need to be created first :P
<leon-p> that kind of scripting is better than just some shell script like on X, because you are not /overriding/ window management, you are /integrating/ into it
<schmo> lol, but it sounds like the average user is not really expected to script river very much?
<leon-p> schmo: the average user uses GNOME. river already targets a special breed of person, the extra step to writing wayland client isn't that far IMO
<leon-p> but the hope is that eventually there will be an "ecosystem" (stupid word, but whatever) of user created scripts
<schmo> Ok, fair. This is definitely a rabbit hole in a rabbit hole (perhaps in another rabbit hole). Seems similar to suckless's way of doing things, with patches and all.
<leon-p> I'd argue river is several steps above suckless in that it is not just a barely functional proof of concept and user code is not necessarily needed
<leon-p> also rivers way of having user code is a lot cleaner
schmo has quit [Ping timeout: 244 seconds]
schmo has joined #river
<bfiedler> Is there a "window title changed" event? Or what I'm rather asking is if we want to float based on window titles, do we want to handle title change events
<schmo> lol how is suckless a barely functional proof of concept?
<leon-p> schmo: self-imposed artificial limitiation such as "window manager in under 2000 LOC" don't exactly produce quality software. Also configuring via editing source code and recompiling is just sad.
<leon-p> bfiedler: yes there is using river-seat-status, but the way you get information about views will definitely change in the future
<leon-p> and patches are an extremely poor way of collecting user code: it leaves users with a bunch of half-working features that don't integrate into one another. And too keep compatibility with other patches (which is a lost cause in the first place, but many people try) you can't actually do all that much: If you change the code too much, other patches won't apply.
<schmo> I agree with you on the 2000 LOC, that part is stupid. They don't put comments anywhere which is annoying. That being said, suckless software has always worked perfectly for me and I have looked through the code, it's well written.
<schmo> Patching can get messy, but I have managed to get dwm working basically how I like it.
<schmo> I agree it can be yucky
<schmo> so user-made scripts for river always work with each other? They can't conflict?
<schmo> wayland scripts, that is
<leon-p> if the protocol is well designed, no, they can't conflict. Take the layout generators for example: It's literally impossible for multiple layout generators to "fight" over "layout supremacy". And since they are just basic Wayland client, you can also use all other protocol extensions supported by river without issue.
<leon-p> the trick is to strongly limit the way clients can control the server
<schmo> Why did you decide to try and implement a tag shift with a python script instead of building it into riverctl? was it easier that way, or was it decided not to implement that feature into riverctl for some reason?
<leon-p> schmo: because I was not feeling like adding a new feature to river, especially since it is already possible to implement it with a script.
<leon-p> the helper clients shipped with river are not supposed to be fully features. Think of them more as reference implementations.
<leon-p> *featured
<schmo> But it sounds like if someone made a pull request that put it in riverctl, it would get merged (assuming it worked)?
<leon-p> not necessarily. f.e. someone offered to add monocle mode to rivertile and that was not accepted.
<schmo> Is there a list of user scripts somewhere? That seems like a key part if you want an "ecosystem"
<leon-p> we have a wiki page with community layouts. one for scripts would make sense too, but there simply aren't that many yet, considering river did not even have a release yet
<bfiedler> ohhh yes it just did the thing I wanted it to do
<bfiedler> finally the firefox sharing indicator floats properly
<leon-p> anyway, I am off for the night
leon-p has quit [Quit: leaving]
<Nulo> bfiedler, "it" what? It annoys me too
<Nulo> I would like to implement a river configuration thing in Lua
<Nulo> Answering to some things leon-p said: I feel like, with the flexibility that river provides, it is possible to make an intuitive river distro with GUI config, etc.
<bfiedler> Nulo: "it" in this case was river :) whenever I (have to) use $conferencing_software, the media share indicator on FF doesn't float (since FF doesn't float), so I hacked^Wimplemented support for floating windows based on titles
<Nulo> Ah, ok
<ifreund> bfiedler: nice! That's been annoying me too for a long time but I've been too lazy to fix it and silently hoping that firefox would start behaving better :D
<ifreund> I'll take a look at your PR after I shower and make dinner, just got home
snakedye has quit [Ping timeout: 244 seconds]
snakedye has joined #river
schmo has quit [Quit: Leaving]
schmo has joined #river
schmo has quit [Client Quit]
ext0l has quit [Ping timeout: 244 seconds]
Guest28 has joined #river
Guest28 has left #river [#river]
<ifreund> not actually going to get any reviews done today, it got late
<ifreund> I owe all of y'alls PRs some attention
ext0l has joined #river
snakedye has quit [Ping timeout: 240 seconds]
snakedye has joined #river