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/
<leon-p> it should work with sway
roarc[m] has joined #river
<leon-p> however the latest release requires a compositor to implement wl_output.name, which is pretty recent
<leon-p> if a compositor does not do so yet, you can try an older release, which still uses xdg_output.name
wsn-13 has joined #river
wsn-13 has quit [Client Quit]
waleee has quit [Ping timeout: 250 seconds]
waleee has joined #river
<leon-p> just tried lswt on sway 1.7 and it kinda works, but the title and app-id are mangled and it crashes
<leon-p> I looked into it and I found an unrelated bug in lswt but the cause for this still remains a mystery to me. I'll look into it tomorrow when I am a bit less tired.
<leon-p> so apparently on Sway lswt sees a "mystery toplevel" that actually isn't there? Weird.
waleee has quit [Ping timeout: 260 seconds]
<mon_aaraj> huh... weird, is it just me or did middle mouse button just stop working?
<mon_aaraj> launuched xev (i know, it's X, but should still tell me if a button is picked up), and i tried scrolling, other keys, and they all worked, just not middle mouse button
<mon_aaraj> huh, when i try to test via `riverctl map normal None BTN_MIDDLE spawn 'notify-send hi'`, it says: `error: invalid keysym 'BTN_MIDDLE'`
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 256 seconds]
orangepurp has joined #river
<orangepurp> hello, got a quick question that i hope somebody can answer. i have the following command in my config: riverctl map normal $mod equal send-layout-cmd rivertile "main-count +1"
<orangepurp> it increases the number of windows in the "main" section
<orangepurp> but it does so for every workspace
<orangepurp> is it possible to have it only affect the current workspace?
<orangepurp> similarly for the "main-ratio" option - i only want to have different ratios for different workspaces
<orangepurp> but it seems to affect all of them
snakedye has quit [Ping timeout: 260 seconds]
<orangepurp> ah never mind, tried the right keywords and came across this issue: https://github.com/riverwm/river/issues/218
orangepurp has quit [Quit: Client closed]
mon_aaraj has joined #river
pkap has joined #river
mon_aaraj has quit [Ping timeout: 252 seconds]
mon_aaraj has joined #river
pkap has quit [Ping timeout: 256 seconds]
pkap has joined #river
<pkap> mon_aaraj: About mapping mouse buttons: The way it is implemented you cannot map mouse buttons to commands, only to {move, resize}.
notzmv has quit [Ping timeout: 240 seconds]
notzmv has joined #river
pkap has quit [Ping timeout: 256 seconds]
bfiedler has quit [Read error: Connection reset by peer]
bfiedler has joined #river
snakedye has joined #river
wurt has joined #river
wurt has quit [Client Quit]
pkap has joined #river
<novakane> ifreund: what about local function in commands like https://github.com/riverwm/river/blob/master/river/command/map.zig#L167
<novakane> do you still want to pass an Allocator args or directly use util.gpa inside
<ifreund> I don't think it makes sense to pass around allocators anywhere in river's codebase, just use the global util.gpa
<ifreund> we're too tied to the C/wlroots/libwayland way of doing things
<novakane> yeah it doesn't makes any sense if you don't use different Allocator
<novakane> okay command/ all clean :P
snakedye has quit [Ping timeout: 240 seconds]
<ifreund> tiosgz`: RE cursor hiding, why should the cursor being visible/not change the events being sent to clients? Can't it just be purely cosmetic?
<ifreund> It seems to me that the implementation would be much simpler if the hidden state didn't affect the mode
<tiosgz`> hidden -> focus is cleared; cursor is shown on motion / button press
<tiosgz`> disabled -> never shown again
<ifreund> why clear focus though? I don't think the client needs to know that the cursor is hidden until it gets moved again
<novakane> is 'disabled' something really needed?
<tiosgz`> iirc someone here suggested clearing the focus when i asked
<ifreund> and for disabled, couldn't we just disable all the input devices and hide the cursor?
<ifreund> as opposed to making a new mode
<tiosgz`> i'm not really sure about that, will have to look at how to achieve it
<ifreund> tiosgz`: we already have a way to disable input devices through riverctl input foo events disabled
<mon_aaraj> ifreund: ah, i see, any insights to my middle mouse issue? it seems like it simply does not exist
<ifreund> mon_aaraj: map-pointer not map
<tiosgz`> novakane: it seemed natural to me, but... that's the kiwmi'an in me
<mon_aaraj> well, my middle mouse issue is that it doesn't do what it's supposed to do, the map i was doing was just to test if river was detecting me pressing the button itself
<tiosgz`> ifreund: thanks, i think i can remove that mode then
<novakane> tiosgz`: to me it sounds a bit too much to hide the pointer "forever", do people would do that?
<ifreund> that's probably something some people want, e.g. a laptop with trackpad and touchscreen
<ifreund> tiosgz`: what about this for an interface: set-cursor-state [normal|hidden|auto-hide <msec>]
<ifreund> and people who want to both disable and hide can set the hidden state and use `riverctl input` to disable their pointer inputs
<ifreund> riverctl input probably needs some basic globbing at some point...
<mon_aaraj> oh... wait, I've just restarted river and it seems my middle mouse button seems to be working as intended now? well, more of a general reboot because trying to kill river froze my tty
<tiosgz`> ifreund: sounds good
<mon_aaraj> alright, thank you very much for trying to help!
<ifreund> mon_aaraj: did you kill -9 ? SIGTERM should be a graceful exit...
<mon_aaraj> nope, i simply executed `killall river`
<mon_aaraj> i fixed it via ssh, tried to launch river again but it would not load my configuration, and would just freeze at the cyan screen, so i just rebooted it since i didnt know what to do to fix it
snakedye has joined #river
<novakane> looks like I'm in a cleaning mood so time to tell if there is other places to cleanup river codebase :P
<leon-p> some of the cursor movement math is a bit messy and could use your help :)
<leon-p> also it probbaly has a few lines that can be replaced by the new saturating arithmetics
<novakane> leon-p: "math" hm yeah sure it's totally my strong point... :P
<novakane> you mostly talking about processMotion() in Cursor?
<mon_aaraj> speaking about help... i might need some - for something like rivercarro, is there a way to sort of "toggle" something? So that when I press, say, $mod+Z, it "toggles" monocle mode on, but then if i press the button again, it would "toggle" it off? i thought about making a function in the shell configuration to do it, but that sounds messy and i was wondering if there's just something i haven't
<mon_aaraj> been seeing?
<leon-p> novakane: yes, mostly
<leon-p> I think I improved some of it in my resize PR, you can cherry pick those improvements if you like.
<novakane> mon_aaraj: no, that's not possible from rivercarro side, as it would need to store the previous layout to restore it when you toggle off monocle layout
<novakane> leon-p: I'll have a look
<mon_aaraj> ah, i see
<mon_aaraj> i guess ill have to do some greasy scripting
<leon-p> or you could implement it in rivercarro and send a patch :)
<mon_aaraj> I feel like that might need a bit more discussion, I wouldn't think that something like a toggle command would be added in just for the main_location (if so, then im up for giving a patch), and i am not really quite sure what other things could be incorporated into it
<leon-p> es not exist).
<leon-p> well, if you want to solve this a bit cleaner, I would be willing to accept the following two patches for stacktile: a) Make it possible for stacktile to recieve multiple commands at once, separated by ; probably, b) add two commands `save_layout <register>` and `apply_layout <register>` that would allow to save the current layout config into a named register (overwriting without error) and restore it (silently fail if the register of that name do
pkap has quit [Quit: Client closed]
<mon_aaraj> that sounds like an interesting way to implement it, and it sure looks like something that might help a little, but i feel if 1st party support for a toggle command that's fairly short and simple isn't added in, then that wouldn't really be good enough for my own case, i'd be willing to implement both patches and also a certain toggle command, but for stacktile, i haven't read the source code yet
<mon_aaraj> and i am not sure if those 3 things might be too much for me to add in
<novakane> leon-p: ah well saturating arithemtics doesn't works with floats so not sure you could really use it in cursor
<novakane> or at least not sure it would be more clean
<leon-p> right, I forgot about the floats
<mon_aaraj> i would also think about adding in documentation into stacktile because at this moment i think it's lacking in that department in my opinion, compared to something like rivercarro, but that would be less technical
<leon-p> mon_aaraj: man stacktile
<leon-p> pretty sure that documents everything
<mon_aaraj> yeah! i've seen that, it's really nice, i was just talking about a sort of getting started deal, where it shows you example usages inside the init and also gives replacements for what's used in river by default with rivertile, in the stacktile alternative i personally find it a little harder to approach because it doesn't have those, so i read rivercarro's documentation and translated it to
<mon_aaraj> stacktile to know how to use alternate tilers in river
<mon_aaraj> might be just me though, im not that great at reading manpages haha
<leon-p> I am personally not a real fan of "getting startet"-guides, because they often have the effect of users not reading the documentation
<mon_aaraj> well i was sure to read the stacktile manpage when i first installed stacktile, i just had no idea how to start after that, though mostly because i had never used an external tiler for river before
<leon-p> all layout generators are external :)
<mon_aaraj> yeah, true
<novakane> maybe a small guide on how to change the layout generator could be added to river wiki though
<novakane> I don't remember if that kinda explained in river man pages
<leon-p> I think it is explained what a layout generator is and how to chose which one shall be used
pkap has joined #river
<pkap> I can use python-evdev to create an input device and send events. How can I do this in a nested session?
<pkap> I made this simple script for debugging purposes: https://privatebin.net/?88db12c9d4032dae#G5E9VsxhvaT6FFT6rDxSv2TfQp6ni8CbjTNC3WimD7eE
<pkap> But when I run this in a nested session, the device appears in the outer session.
<ifreund> pkap: a nested river instance does not get events from the kernel through evdev but rather over the wayland protocol from the host compositor
<pkap> Ah yeah that makes sense. Is there a compositor that implements this functionality?
<pkap> Or maybe any ideas how to debug events?
<pkap> Ah man, I can just use a second tty.
<ifreund> oh, yeah I do that a lot
<ifreund> note that it will confuse some crappy programs like firefox
mon_aaraj has quit [Ping timeout: 256 seconds]
<novakane> man, evertytime I'm a bit motivated to touch the Keyboard code, all the motivation goes away very quickly when I started ^^
pkap has quit [Quit: Client closed]
<novakane> leon-p: just remember I want to asked you something, why does all your project man pages have perm as 755
<leon-p> novakane: the *.1 files have the exact same permissions as all the other files in all of my projects
<leon-p> which is rw-r--r--, or 644
<leon-p> if the permissions get messed up during installation, then I probably have yet another mistake in my Makefile template
<novakane> leon-p: I mean when I install it, in ~/.local/share/man/man1... the permission switch to rwxr-xr-x
<novakane> is it just me?
<novakane> because I only have this with your projects
<leon-p> no, you're right
<leon-p> probably used a wrong flag for `install`, patches welcome
<ifreund> leon-p: that's just the default for install
<ifreund> you need to use -m if you want something different
<leon-p> is it? Who designs stuff like that...
pkap has joined #river
waleee has joined #river
<novakane> ah yeah instal -m 644 fixe this
<leon-p> well, patches welcome :P
<novakane> that the moment I find that you have too many projects :P
pkap has quit [Ping timeout: 256 seconds]
<leon-p> novakane: thanks!
waleee has quit [Quit: WeeChat 3.4]
<novakane> leon-p: that's all projects of you I have, I let you the others :P
<leon-p> fair :D
waleee has joined #river
pkap has joined #river
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #river
pkap has quit [Quit: Client closed]
<ghostbuster> would there be any interest in a flag to the river binary to disable xwayland support, ie. just fail hard if the user attempts to open an X app
<ghostbuster> there is already a build flag to do so, and an aur package that has said flag toggled
<ghostbuster> i guess the problem i'm really trying to solve is that the -git aur doesn't update when I do pacman -Syu
<tiosgz`> ghostbuster: <aur_helper> -Syu?
<ifreund> ghostbuster: nope, I wouldn't merge a runtime option to disable xwayland. A build time flag is plenty IMO
<ghostbuster> fair enough
<tiosgz`> btw. history is repeating for me, i checked out master instead of session-lock :D (as to what i've said in #sway)
* tiosgz` needs wlr 0.16 already
Evo2 has quit [Ping timeout: 250 seconds]
* ifreund would also love wlroots 0.16
pkap has joined #river
<novakane> I'm still wondering what's up with the zig-wlroots CI
<ifreund> yeah, no idea there
<novakane> that really doesn't makes any sense, like it was nah I'm not running righ now, not in the mood ^^
<tiosgz`> (sorry for off-topic) leon-p: https://0x0.st/oX2r.diff -- for closing on game-over
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #river
pkap has quit [Ping timeout: 256 seconds]
Evo2 has joined #river
<leon-p> tiosgz`: snayk isn't supposed to close on game-over. It displays the game over screen and is ready for the next round
<novakane> that's better for rage quitting though :D
<leon-p> If you are rage qutting a snake clone, I think you have bigger issues :P
<novakane> hey, that super hard :P
<leon-p> it's slower than the original game by at least 50% :D
<novakane> ah yeah ok, put me down :P
<tiosgz`> slower to react? :P
<novakane> nah it's just my laptop keyboard that is too slow huh... :D
<leon-p> the trick is to get into the rythm of the snake moving and press the keys accordingly. Snayk does not buffer inputs yet, so that's the best way to play it atm.
dagle has joined #river
<tiosgz`> nice news on security: river crashes if i unplug an output during lock. swaylock crashes if i plug an output, and then keeps crashing until an unlock
<tiosgz`> nobody can get my session :)
<ifreund> oh, got a backtrace on the river crash? Don't really have time to take a look tonight but we should get that fixed
mon_aaraj has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #river
mon_aaraj has quit [Ping timeout: 250 seconds]
mon_aaraj has joined #river
<tiosgz`> ifreund: unfortunately i couldn't get gdb to give me anything useful, not even an ugly trace w/o symbols
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #river
<tiosgz`> hmm, but SIGABRT should be a failed assert, innit? then i think i should keep more than 2 logs
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #river
<tiosgz`> ifreund: log here https://0x0.st/oX2V.log (that's on session-lock, w/ running swaylock, ~ 1 sec after unplugging external screen)
<leon-p> solved the lswt crash. The new wlroots versions changed the foreign toplevel implementation, causing two toplevel_handle.done events to be sent for each toplevel on bind which I did not expect when I wrote it.
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #river
<novakane> oh that was it, I tried to test in sway out of curiosity, that was weird
waleee has quit [Ping timeout: 240 seconds]
waleee has joined #river