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/
mon_aaraj has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 252 seconds]
romangg has joined #river
mon_aaraj has joined #river
talismanick has quit [Read error: Connection reset by peer]
zxtx has quit [Ping timeout: 276 seconds]
zxtx has joined #river
waleee has quit [Ping timeout: 260 seconds]
romangg has quit [Ping timeout: 248 seconds]
snakedye has quit [Ping timeout: 256 seconds]
argentite has joined #river
romangg has joined #river
argentite has quit [Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )]
lxsameer1 has joined #river
talismanick has joined #river
snakedye has joined #river
<ifreund> bw: the scene graph will have little user-facing impact. Longer term I do have major changes I want to try which will break pretty much everything :D
<ifreund> well, all the same features will still be possible, but the architecture will likely change significantly
mon_aaraj has quit [Ping timeout: 248 seconds]
talismanick has quit [Remote host closed the connection]
mon_aaraj has joined #river
talismanick has joined #river
snakedye has quit [Ping timeout: 260 seconds]
snakedye has joined #river
lxsameer1 has quit [Ping timeout: 256 seconds]
lxsameer1 has joined #river
mon_aaraj has quit [Read error: Connection reset by peer]
mon_aaraj has joined #river
lxsameer1 has quit [Ping timeout: 255 seconds]
lxsameer1 has joined #river
snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
mon_aaraj has quit [Ping timeout: 255 seconds]
mon_aaraj has joined #river
snakedye has quit [Ping timeout: 244 seconds]
snakedye has joined #river
hill has joined #river
hill_ has joined #river
hill_ has quit [Ping timeout: 240 seconds]
hill has quit [Ping timeout: 258 seconds]
hill has joined #river
hill_ has joined #river
hill_ has quit [Quit: Lost terminal]
snakedye has quit [Ping timeout: 276 seconds]
hill has quit [Remote host closed the connection]
snakedye has joined #river
lxsameer1 has quit [Ping timeout: 246 seconds]
snakedye has quit [Ping timeout: 260 seconds]
mon_aaraj has quit [Ping timeout: 246 seconds]
snakedye has joined #river
snakedye has quit [Read error: Connection reset by peer]
snakedye has joined #river
mon_aaraj has joined #river
norkki_ has joined #river
norkki has quit [*.net *.split]
elshize has quit [Quit: WeeChat 3.5]
mon_aaraj has quit [Ping timeout: 258 seconds]
snakedye has quit [Ping timeout: 255 seconds]
snakedye has joined #river
mon_aaraj has joined #river
kraem2 has joined #river
inclemen1 has joined #river
monaaraj has joined #river
waleee has joined #river
NickH_ has joined #river
mon_aaraj has quit [*.net *.split]
kraem1 has quit [*.net *.split]
NickH has quit [*.net *.split]
inclement has quit [*.net *.split]
emersion has quit [Remote host closed the connection]
emersion has joined #river
lxsameer1 has joined #river
lxsameer1 has quit [Ping timeout: 248 seconds]
lxsameer1 has joined #river
flub has quit [Quit: WeeChat 3.0]
elshize has joined #river
monaaraj has quit [Ping timeout: 276 seconds]
monaaraj has joined #river
monaaraj has quit [Ping timeout: 256 seconds]
monaaraj has joined #river
monaaraj has quit [Read error: Connection reset by peer]
monaaraj has joined #river
monaaraj has quit [Read error: Connection reset by peer]
monaaraj has joined #river
talismanick has quit [Remote host closed the connection]
talismanick has joined #river
snakedye has quit [Ping timeout: 272 seconds]
snakedye has joined #river
<talismanick> Is the command to shrink window borders to 2px not `riverctl send-layout-cmd rivertile "-outer-padding 2"`?
<talismanick> At runtime, I mean - I see it defaults to 6 in my init
<talismanick> Also, how might I conditionally launch a program in floating mode? Add a switch with a `riverctl csd-filter-add float $( ...<check for case>... )` call?
<talismanick> (when atomic-chrome spawns an Emacs(client) instance, it's broken until I switch it to floating)
<talismanick> (not river's problem; just don't want to be confusing about what I'm trying to fix)
<monaaraj> > ifreund: well, all the same features will still be possible, but the architecture will likely change significantly
<monaaraj> that sounds awesome!
<monaaraj> personally I've found that river could definitely improve if it changed a couple things, like how the configuration works, or adding more things to the riverctl utility that could simplify configs
monaaraj has quit [Ping timeout: 260 seconds]
monaaraj has joined #river
<xaltsc> Hey, is it possible to get the current tag being shown ?
monaaraj has quit [Client Quit]
<xaltsc> By tag I really mean tags, i.e. the unsigned integer
<leon-p> xaltsc: yes, using the river-status protocol extension.
<xaltsc> So no easy way ?
<leon-p> xaltsc: well, it /is/ easy, you just need to write some code
<leon-p> you could though write a little tool that just returns the integer so that you can use it in scripts and stuff
<xaltsc> Yeah, that's what I guess I will do, could you point me where you query for the currently focused tag on the file ?
<xaltsc> s/on/in/
<leon-p> ok, so you'll want to write a normal wayland client and bind all seats and all outputs. Bind the seat-info and output-info object for all seats and outputs. There will only be a single seat, so there you'll get a focused-output event. On all outputs you'll get focused-tags and occupied tags events.
<leon-p> probably easiest to just take river-tag-overlay and remove everything you don't need :P
<xaltsc> I guess I need to read the Wayland book first, I've only been using wayland for five days :D
<leon-p> it helps, but writing wayland clients is pretty simple. It's really just binding objevts and attaching event-listeners.
lxsameer1 has quit [Ping timeout: 260 seconds]
<leon-p> xaltsc: for what do you want to get the tags anyway? maybe the thing you want already exists
<xaltsc> Would you know even shorter resources about that ?
<xaltsc> leon-p: Switching from one tag to the next/previous one when it's a power of @
<xaltsc> 2*
<leon-p> sorry, I don't know anything shorter than the Wayland book, however only the first few chapters of the book are what you'll need for this
<leon-p> and actually something like that does exist: https://github.com/NickHastings/riverwm-utils
<leon-p> it's in python, so you'll have to setup the necessary lib first
<leon-p> also this can be used to query some things, not sure it works for you though: https://gitlab.com/snakedye/ristate
<NickH_> pip should be able to look after all the dependcies.
<NickH_> But you'll need to need to run the pywayland.scanner.
<NickH_> The script gives instructions on how to do it though.
<xaltsc> Thanks, I'll look into that :)
<NickH_> Can you exaplain what you mean by "when it is a power of 2". When what is?
<xaltsc> Well, tags are uints, so powers of two are tagsets in which there's only one tag.
<leon-p> power of twos will be all singular tags, meaning 00001, 00010, 00100, 01000, 1000, etc
<xaltsc> s/tags/tagset/ for the first occurence
<NickH_> So you want a binding that only switchs the next tag when only a single tag is focussed?
<NickH_> Why put that constraint on it?
<xaltsc> Otherwise, there's no good notion of next/previous
<NickH_> Yes there is.
<NickH_> I implemented it.
<xaltsc> You mean +/- 1 ?
<NickH_> Increment/decrement all.
<NickH_> Eg 00100100 -> 00010010
<xaltsc> Yeah, but if you see tags as workspaces, then the semantics are lost
<NickH_> So, don't hit the binding when you have multiple tags focused.
<leon-p> not at all. If you see tags as workspaces, you'll likely never open more than one, so it works again.
<NickH_> I could add an option so that the script does nothing if multiple tags are focused.
<xaltsc> NickH_: or fallback to someplace apropriate
<NickH_> The default will likely stay as it is but I can add that option if you want.
<xaltsc> I'd rather try to figure how all of this works myself, but if you want, I can send a PR once I'm done
<NickH_> Ok.
<xaltsc> Oh, and besides, >> and << are just multiplying/diving by two
<NickH_> Let me know if you have any trouble getting it up and running.
<NickH_> I do by: "new_tags |= (tags >> 1)" and "new_tags |= (tags << 1)"
<xaltsc> Except for the ior part that I don't understand, that's exactly what I wanted to do.
<xaltsc> I'll see that tomorrow, good night, or not if you're in other TZs :)
<NickH_> Thats there becuse in the code new_tags may already have the first or last bit set earlier in the code due to the special case of wrapping the when inrementing/decrementing on the last/first tags.
<talismanick> NickH_: where do I download wayland.xml from?
<talismanick> I made a venv, pip3-install'd riverwm-utils, and got an error about a lack of "wayland-scanner", so I also installed pywayland
<talismanick> now it complains that wayland.xml isn't there (which, to be fair, it isn't)
<talismanick> fd wayland.xml$ /
<talismanick> oops
<leon-p> wayland.xml should be part of your distributions wayland(-devel) package
<leon-p> /usr/share/wayland/wayland.xml
<NickH_> What distro are you using?
<NickH_> On Debian and derivatives its in libwayland-dev
<talismanick> NickH_: Void
<NickH_> Ok, sorry can't help
<talismanick> was wondering what was happening until I realized that `curl -O https://raw.github.../...xml` 404'd lol
<NickH_> I'm very much a grey beard... if it's not RHEL or Debian based I'm pretty much clueless.
<talismanick> okay, made dir with venv, activated, pip-installed riverwm-utils and pywayland, downloaded the xml files (installed wayland.xml like leon-p suggested, the other two from Github to ~/.local/share/river-protocols/)
<talismanick> and ran the command inside the venv
<talismanick> NickH_: does the paste I sent mean it did what it was supposed to?
<NickH_> That looks like the expected output
<NickH_> Now try running cycle-focused-tags
<talismanick> ah, it works <inside the venv>
<NickH_> I don't use venv for this stuff.
<talismanick> I installed it originally with pipx
<NickH_> I just install with pip and my default system python
<talismanick> I learned the hard way that it's not for me :P
<talismanick> Much as in life generally, I can only handle messy setups by avoiding them from the start
<NickH_> I mean venv is good when you are using some archaic python package that has very perculiar dependencies.
<NickH_> But this is maintained.
<talismanick> huzzah!
<talismanick> it worked
<talismanick> (I cd'd to ~/.local/pipx/riverwm-utils, activated its venv, and ran the same command - now it works globally)
<NickH_> Great.
<talismanick> pipx is great - it makes a venv for standalone packages and symlinks the binary to ~/.local/bin
<talismanick> As a rule, I use it for all standalone PyPI packages
<NickH_> I wasn't familar with pipx. I just read about it now. Looks good.
<talismanick> pipx + poetry = comfort
<talismanick> err, not binary - executable