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/
<wrl> bfiedler: recommended river config??
<wrl> s/??/?/
<Guest63> Hello, newbie here having some problems setting river up in vmware
<Guest63> Using arch linux and paru to grab river and foot from the aur
<Guest63> Then clone and grab the example init config from the river github
<Guest63> I can successfully launch river, but I have trouble opening the terminal emulator
<Guest63> other keymaps, such as mod + shift + e to exit river works as expected
<Guest63> Would appreciate any advice on how to diagnose or fix this problem
<Guest63> Never mind, found the problem
<Guest63> When editing the config file, I accidently removed "spawn"
Guest63 has quit [Quit: Client closed]
Guest36 has joined #river
Guest36 has quit [Ping timeout: 256 seconds]
waleee has quit [Ping timeout: 245 seconds]
tdeo has quit [Ping timeout: 252 seconds]
tdeo has joined #river
tdeo has quit [Ping timeout: 252 seconds]
tdeo has joined #river
Guest34 has joined #river
Guest34 has quit [Client Quit]
xd1le has joined #river
snakedye has quit [Ping timeout: 252 seconds]
n8r has joined #river
<n8r> hello. I am having trouble launching river. I put stderr and other helpful info here: https://envs.sh/XZ.txt
ext0l has joined #river
<ext0l> what setup do people like for setting up river init across multiple machines with machine-specific configs
<ext0l> simple thing is just `if [[ $(hostname) == "foo-bar" ]]; then do whatever; fi`
<n8r> ended up getting it working just by installing sway and trying again. i opened an issue https://github.com/ifreund/river/issues/417
<n8r> ext0l: I have seen people check how many monitors are plugged in on other wms
loFiWaterCat has joined #river
Guest86 has joined #river
Guest86 has quit [Client Quit]
loFiWaterCat has quit [Client Quit]
loFiWaterCat has joined #river
<loFiWaterCat> Hello, I am a newbie with a question. How do I change the resolution of my screen?
<loFiWaterCat> I took a look at the man pages for river, riverctl and rivertile but nothing seems to be there
Guest64 has joined #river
Guest64 has quit [Client Quit]
n8r has quit [Quit: leaving]
loFiWaterCat has quit [Ping timeout: 252 seconds]
ext0l_ has joined #river
loFiWaterCat has joined #river
<ext0l> loFiWaterCat: you'll want to use wlr-randr for that
<loFiWaterCat> Thankyou ext0l, that worked!
ext0l_ has quit [Ping timeout: 244 seconds]
waleee has joined #river
waleee has quit [Quit: WeeChat 3.2]
keithhub[m] has quit [Ping timeout: 245 seconds]
waleee has joined #river
keithhub[m] has joined #river
snakedye has joined #river
<bfiedler> wrl: sorry, I meant the one from the examples/ directory in the river repo
ext0l has quit [Ping timeout: 252 seconds]
waleee has quit [Ping timeout: 256 seconds]
priner has quit [Ping timeout: 245 seconds]
priner has joined #river
tsujp has joined #river
<tsujp> if I am on tag 1 and firefox is there, and I do something like just pressing a button that is going to spawn a popup window after 2 seconds and I then swap to tag 2 the popup comes up on tag 2. Is there a way to keep that popup on the tag of it's parent?
loFiWaterCat has quit [Ping timeout: 256 seconds]
xd1le has quit [Quit: xd1le]
loFiWaterCat has joined #river
noopdecoder has joined #river
loFiWaterCat has quit [Ping timeout: 240 seconds]
<ifreund> tsujp: hmm, yeah river should probably default to placing new child xdg-toplevels on the same tags as their parent (which I assume is what you're talking, firefox's download dialog for example)
<ifreund> feel free to open an issue
snakedye has quit [Ping timeout: 256 seconds]
snakedye has joined #river
loFiWaterCat has joined #river
loFiWaterCat has quit [Ping timeout: 240 seconds]
noopdecoder has quit [Quit: noopdecoder]
loFiWaterCat has joined #river
loFiWaterCat has quit [Ping timeout: 245 seconds]
waleee has joined #river
snakedye has quit [Ping timeout: 240 seconds]
loFiWaterCat has joined #river
loFiWaterCat has quit [Ping timeout: 252 seconds]
<tsujp> ifreund old mate leon beat me to it
<tsujp> I have all the dependencies installed but I get `error: container '.wlroots' has no member called 'XdgActivationV1'` when running `zig build -Dxwayland -Drelease-safe --prefix ~/.local install`
<tsujp> WHOOPS please ignore I forgot `git submodule update --init`
<tsujp> okay it's rebootin' time
tsujp has quit [Remote host closed the connection]
snakedye has joined #river
snakedye has quit [Ping timeout: 240 seconds]
snakedye has joined #river
tsujp has joined #river
tsujp has quit [Remote host closed the connection]
tsujp has joined #river
<tsujp> okay had to do some changes to dots around colours etc, got a session running again but im using `kile` for layouts in river and the `focused` command takes a string for the tag the layout applies to and then a layout definition. I'm using the default layouts but it's not laying out views.
<tsujp> I think it's because I am not setting what tag it applies to but if I try I get `error: too many arguments` when the same command worked on river built july 30
<tsujp> I know the protocol has changed and I'm using the new kile updated for it
<tsujp> `riverctl send-layout-cmd focused '1 ( v: h h )'` does nothing, and attempting to do `riverctl send-layout-cmd focused 1 '( v: h h )'` (note the change in the location of the `'` so it's now two arguments) gives the too many args error
<tsujp> anyone have any ideas here?
<ifreund> send-layout-command takes a single argument, you are providing more than one
<ifreund> you need to put "focused 1 ..." in quotes
<tsujp> thought so, so I must put it as 1 as I was before
<tsujp> yeah was doing that so the problem lies with kile
<ifreund> error: too many arguments comes from river
<tsujp> Oh hello `thread 'main' panicked at 'Compositor doesn't implement river_layout_v2', src/client.rs:106:14`
<ifreund> sounds like you're using quite and old version of kile then
<ifreund> river-layout-v3 has been around for months
<tsujp> no I'm using commit `128fb13`
<tsujp> that's the latest commit
<tsujp> unless I didn't install it correctly -_-
<tsujp> _sigh_ my bad sorry
<tsujp> I built it but didn't move it into ~/.local/bin to replace the old one
<tsujp> hey ifreund you have written non-trivial (to me) software in both zig and rust, any thoughts on strengths of either?
<ifreund> tsujp: I much prefer zig
<ifreund> rust is too complex for my taste, and the ecosystem is full of crappy crates with 10x the dependencies necessary
<ifreund> also zero cost abstractions are a lie, and anyone who tells you differently is trying to sell you something
<ifreund> zig certainly has it's issues as well, the biggest one being that it's yet at all stable
<ifreund> but despite that it's better than everything else I've tried
<ifreund> If I hadn't decided to try zig for river, river would be written in C
<ifreund> This (satire) sums up the rust ecosystem/culture pretty well: https://github.com/mTvare6/hello-world.rs
<tsujp> interesting, I don't know anything about zero cost abstractions beyond reading a short page on it then. Seems like it takes some type and "boils it down" to a single value it just stores in a register. Why is that valuable and how is it snake oil?
<ifreund> zero cost abstractions are just hoping that your compiler is smart enough to realize what you actually meant for the CPU to do and emit those instructions instead
<ifreund> they are snake oil because compilers can't read your mind and never will be able too
<ifreund> llvm is very good, but there's only so much it can do
<ifreund> this comment from spacejam (author of some quite good rust software) is pretty insightful on the state of the ecosystem: https://github.com/spacejam
<ifreund> wrong link sorry
<tsujp> time to learn some rust so I can understand just how big an abomination that codebase is
<tsujp> snakedye (or anyone else if they are keen) I cannot get kile to layout views even though it's running currently, `riverctl send-layout-cmd focused "all ( v: h h )"` isn't doing anything except fullscreen the view at the top of the layout stack
<ifreund> tsujp: did you tell river to use kile for layouts? `riverctl output-layout kile`
<ifreund> or `default-layout`, see riverctl(1)
<tsujp> I have done ifreund
<ifreund> alright, well I don't use kile myself so that's about as far as I can help
<tsujp> it doesn't matter which order that comes in does it? I tried both before and after same thing, usually I just have it before for semantics
<tsujp> I assume it doesn't because river tells the layout manager about the tags and then the layout manager gives the positions it's just setting config
snakedye has quit [Ping timeout: 240 seconds]
<tsujp> oh no they've gone!
tsujp has quit [Remote host closed the connection]
tsujp has joined #river
<tsujp> just tried manually setting the namespace to be sure and it's definitely cooked
<tsujp> `riverctl spawn "kile -n testing"` then `riverctl output-layout testing`
<tsujp> wait a second the layout command takes a namespace
<tsujp> a-ha that was it
<tsujp> all I did was change the previous `set-layout-value` to `send-layout-cmd` but apparently mangled something _somehow_ maybe the namespace kile makes now isn't called "kile" by default or something?
<tsujp> Someone tell snakedeye I fixed it if they don't come back before I head off to bed in an hour or so
<ifreund> nice
<tsujp> hmm I might've spoken too soon some kile commands are working but others aren't, at least _part_ of it is working again like output padding though
<tsujp> outer*
<tsujp> got it again, yeah nice
<tsujp> man, lot's of flailing from me today lol
tdeo has quit [Ping timeout: 244 seconds]
<tsujp> ifreund: you know rust how do I build the scdoc file here?
tdeo has joined #river
noopdecoder has joined #river
<ifreund> no idea, I'd just run scdoc from the command line
<ifreund> scdoc is super simple, cargo is not
noopdecoder has quit [Client Quit]
<tsujp> roger that `scdoc < kile.1.scd > test && man -l test` it is
<tsujp> gives me what I want easily enough
<tsujp> anyone happen to know what the `:` is in the kile docs for layouts e.g. `(v: h h)` vs `(v h: h)`. I _think_ the `:` marks the left-side as the main area, so in `(v: h h)` the `v` is the main area and the two `h h` are the secondary area
<tsujp> _I think_
tdeo has quit [Ping timeout: 245 seconds]
tsujp has quit [Remote host closed the connection]
tsujp has joined #river
tdeo has joined #river
<tsujp> okay do not run `riverctl send-layout-cmd lns 'focused all ( v h: h )'` it seems to heavily break something, kile doesn't crash but layouts just stop working unless you hard reset
<tsujp> even if you change namespace
<tsujp> this is making experimentation hard hmm, idk how to debug that more right now
snakedye has joined #river
leon-p has joined #river
leon-p has quit [Ping timeout: 256 seconds]
<tsujp> hey snakedye I got kile working but I have a few questions if it's okay, what does the `:` signify in layouts e.g. `( v: h h )`, does it mark the left operand `v` as the main area?
leon-p has joined #river
<snakedye> tsujp: it's the seperator between the outer layout and sub layouts. The layout in the left will generate as much areas as needed (depends on other layout parameters and the amount of sub layouts) and in those areas the sublayouts will be generated in the order they are presented.
<snakedye> Unless "focused" is the namespace you gave to kile, you're not sending a layout command to anything
<snakedye> You also need to give a name to the layout
<tsujp> I'm confused on what an outer layout and sublayout are here snakedye . Gotcha on the missed name for the layout too.
<tsujp> "The area in the left will generate as much area as needed" so if I did `( v v: h h )` what would that do?
<snakedye> No there's only one outer layout
<snakedye> Also I'm confused, what do you mean by the area in the left?
<tsujp> So with (v:hh) the v is left of the :
<tsujp> so the format is `( outer_layout : sub_layout, sub_layout ... )`?
<snakedye> There's no ',' it's (layout : layout layout ... )
<tsujp> Right but in the man page there is "main", "inner", and "slave" areas and here there are "outer" and "sub" layouts
<tsujp> If there is only one "outer layout" is that because the "outer layout" _is_ the main (in river terminology) layout
<snakedye> Inner is just to express how they function but individually they're all layouts
<snakedye> Inner, main, slave*
<snakedye> Omg I'm confusing my self haha. Okay, main and outer and different concepts
<snakedye> Same as inner
<snakedye> Recursive is a layout. It's a layout meant to help you layout areas. Recursive like other layouts can be influenced by layout parameters. Those layout parameters are main amount, main factor and main index.
<tsujp> Okay, so I've applied a layout from the examples as follows `riverctl send-layout-cmd lns 'focused 2 blah ( ( ver: h h ) : ver ful )' based on my understanding here is what I think is happening: this is a recursive layout only and there are no layout parameters here (like main amount etc). It will "absorb" 3 views before recursing The main layout is (ver: h h) meaning one vertical view on the left and two horizontal views on the right. To the right of thi
<tsujp> snakedye: ^
<snakedye> In plain English (v: h h) means, I want a to split an area vertically and create 2 new areas. I want the first and second area created, I want those areas to be split horizontally.
<snakedye> tsujp: In plain English (v: h h) means, I want a to split an area vertically and create 2 new areas. In the first and second area created, I want areas to be split horizontally.
<snakedye> I hope I didn't have a stroke this time
<tsujp> Okay I think I'm getting it now, that's a good example because if I do (v: h h h) 3 of `h` what's going on is: you have an area, you want to split the area into 3 sub-areas which themselves are vertical. Within each of these 3 sub-areas, the splits are horizontal.
<tsujp> snakedye: ^
<tsujp> so assuming no main factor (v: h h h) makes 3 columns on your screen, and when more views are added to those columns their is a vertical seperation like a stack in each column
<tsujp> there*
tdeo has quit [Ping timeout: 252 seconds]
<tsujp> (v: h h h) in better english your starting area X is split vertically 3 times. X1, X2, and X3. Within X1, X2, and X3 additional views are split horizontally.
<snakedye> Yeah exactly
<tsujp> Thanks for patient with me here
<snakedye> It's fine, it's not a particular easy concept to grasp especially once you start having recursive layouts inside others.
tdeo has joined #river
tdeo has quit [Ping timeout: 245 seconds]
tdeo has joined #river
tsujp has quit [Remote host closed the connection]
ext0l has joined #river
<snakedye> ifreund: didn't realize there's were threads about hello world rs hahaha
<ext0l> if i press the 'suspend' key on my keyboard, my laptop immediately suspends. i know river isn't the one doing this (since i don't have it bound), but does anyone here know how i'd *disable* it?
<leon-p> ext0l: are you using systemd? If yes, you need to edit /etc/systemd/logind.conf
<leon-p> just set HandleSuspendKey to ignore
<leon-p> it's also where you can turn off auto-suspend when closing your laptop lid, btw
tdeo has quit [Ping timeout: 252 seconds]
tdeo has joined #river
<leon-p> ifreund: I wonder if it makes sense to just design and implment the input configuration protocol right now and hope for standardization later on. I am not happy with having that complexity in river.
notzmv has quit [Ping timeout: 252 seconds]
<ifreund> leon-p: I'd be fine with a river-input-management protocol in the short term, I'd probably block a hypothetical future 1.0 release on getting that standardized though
<leon-p> ifreund: in that case, that'll be my project the next week
<ifreund> leon-p: nice!
<ifreund> I'm setting aside my afternoon tomorrow to do some much need PR review
<ifreund> next week I'll be hiking in switzerland and then going to a techno/psy festival there, so I won't be online much if at all
<ifreund> by the end of september though I should have all the exams for my bachelor's done :)
<ifreund> which means more time for river
<leon-p> nice! switzerland has some beautiful mountains
<leon-p> although you'll probably need to re-learn German to understand what they are saying :
<ifreund> yeah, I've had some very difficult conversations about directions in the austrian alps before :D
loFiWaterCat has joined #river
snakedye has quit [Ping timeout: 256 seconds]
loFiWaterCat has quit [Ping timeout: 240 seconds]
snakedye has joined #river
snakedye has quit [Ping timeout: 252 seconds]
loFiWaterCat has joined #river
snakedye has joined #river
<ext0l> leon-p: yep, using systemd. thanks!
<ext0l> also, i really need to get around to implementing that idle inhibitor support. maybe now that i've finished the move and started my new job
tdeo has quit [Ping timeout: 245 seconds]
snakedye has quit [Remote host closed the connection]
snakedye has joined #river
tdeo has joined #river
tdeo has quit [Read error: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac]
tdeo has joined #river
ext0l has quit [Quit: WeeChat 3.2]
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #river
n8_ has joined #river
<n8_> can someone help me troubleshoot `riverctl natural-scroll`
<n8_> i have the input device for my trackpad outputted from `riverctl list-inputs` and the syntax matches the man page. But I cannot get the behavior of my scrolling to change
<n8_> https://envs.sh/XY.txt output of `riverctl list-inputs` and `riverctl list-input-configs`. interestingly, the device does not show as configured in list-inputs, but *does* show as having configured options in the latter command
loFiWaterCat has quit [Ping timeout: 252 seconds]
<ifreund> n8_: the numbers at the beginning of the name are part of the name, and need to be included in your riverctl input <name> <option> command
<n8_> epic thanks
loFiWaterCat has joined #river
n8_ has quit [Ping timeout: 245 seconds]