ChanServ changed the topic of #river to: river - a dynamic tiling Wayland compositor || https://codeberg.org/river/river || channel logs: https://libera.irclog.whitequark.org/river/
aryak has joined #river
aryak has quit [Ping timeout: 255 seconds]
aryak has joined #river
kotto has quit [Quit: WeeChat 4.2.2]
Szadek36 has quit [Quit: Ping timeout (120 seconds)]
Szadek36 has joined #river
waleee has quit [Ping timeout: 264 seconds]
Szadek36 has quit [Quit: Ping timeout (120 seconds)]
Szadek36 has joined #river
lbia has quit [Quit: lbia]
eShaev9z_ has joined #river
eShaev9z has quit [Ping timeout: 240 seconds]
Guest11 has joined #river
Guest11 has quit [Client Quit]
Guest78K has joined #river
Guest78K has quit [Client Quit]
<dnkl> I'm seeing something really weird... if I switch between two tags, with exactly one view on each, the view gets unmapped from the output, and then immediately remapped, when switching *to* tag. That is, the window is not unmapped when switching away from a tag.
<dnkl> (river is on latest master)
<dnkl> WAYLAND_DEBUG shows a wl_surface.leave followed immediately by a wl_surface.enter. Nothing else in-between
<dnkl> foot, with DPI aware rendering, flickers in multi-monitor setup when it's forced to guess a DPI...
<LarstiQ> dnkl: does that (still) happen on monitors with scale 1 (looking at https://codeberg.org/dnkl/foot/issues/714)
<dnkl> that issue is no longer relevant, since there's no longer an "auto" value for "dpi-aware"
<dnkl> with DPI-aware rendering the scale factor is ignored (for font sizing), so yes, it happens regardless of what the scaling factor is
<dnkl> we could perhaps remember the last used DPI, and use that when we don't know which DPI to use
<dnkl> that's how we handle the scaling factor, with dpi-aware=no
<dnkl> still, this has to be a bug in river...
<dnkl> I don't see how it could be intentional
<LarstiQ> I'll refrain from speculating and let someone more qualified answer :)
leopoldek has quit [Remote host closed the connection]
<ifreund> dnkl: that sounds like an issue caused by the scene graph API being impossible to update atomically at the moment... I'll have a look and see if things can be improved there
<dnkl> ifreund: thanks! I'll take a look at my side, to see if I can improve things. I suspect the same issue may occur on some compositors when minimizing the window.
Guest8 has joined #river
Guest8 has quit [Client Quit]
Guest8 has joined #river
<dnkl> alright, I can work around it in foot, by stashing the last known "good" DPI value
<ifreund> hmm, as far as I can tell it's currently intended for wlr_scene to send enter/leave events when a surface becomes visible/hidden
<ifreund> It sends the leave event late though, which seems like a bug to me and I think I see the cause
<ifreund> wlr_scene_node_set_enabled() sets node->enabled to false before calling scene_node_update(). This means that that scene_nodes_in_box() will skip the node during iteration since it's disabled
<dnkl> thanks for looking into it
<dnkl> after checking again, I do see leave/enter regardless of how many views are mapped
<ifreund> I'm not quite sure yet why it does end up sending the output leave event right before enter
<dnkl> which makes sense given your expansion
<dnkl> explanation
<dnkl> there *is* a difference in how foot renders, with one view vs. many. not sure why, and not sure I care 😅
<ifreund> hmm, what kind of difference?
<dnkl> with one view, the window redraws twice. Once with a bad DPI, then it corrects itself
<dnkl> I can try to check what's going on, later today. Holding a presentation at work soon... 😅
<ifreund> I think I can explain that
<ifreund> if there are multiple windows river might drop the bad frames due to waiting for all of the open clients to commit a new buffer in response to the configure
<ifreund> if there is only one client visible, the first buffer it commits will be displayed right away
<ifreund> I susped that if you test with multiple foot instances you may see one of them redraw twice (or maybe more, I think it's racy)
<ifreund> s/susped/suspect/
<ifreund> anyhow, good luck with the presentation
lbia has joined #river
<ifreund> anyhow, I don't think this is likely to be fixed until wlroots 0.18 unfortunately though I could perhaps add a hacky workaround
<vyivel> we could squeeze a fix into 0.17.3
<ifreund> oh, that would be nice. I'm not sure how complicated the fix will be though.
<ifreund> heh, waybar can crash river by setting an exclusive zone larger than the width/height of the output
<ifreund> I think I might consider this a wlroots bug as well, it seems to me that wlr_scene_layer_surface_v1_configure() should handle this
<dnkl> vyivel: ifreund: thanks, no need to rush from my point of view :)
Guest8 has quit [Quit: Client closed]
alexherbo2 has joined #river
<novakane> ah damn, looks like zelbar also makes river crashes, is the wl_output geometry event fine to compare the exclusive zone with outputs width/height?
<ifreund> novakane: I don't think clients should try and guess what limits the compositor has
<ifreund> it's fine for the compositor to just close them if they get too greedy
<ifreund> (most likely due to strange user configuration)
<novakane> alright thanks, yeah that would be a messed config since using 0 would give you the max usable width/height anyway
alexherbo2 has quit [Remote host closed the connection]
<dnkl> congrats!
<ifreund> thanks :)
<LarstiQ> woohoo!
pfr has joined #river
<pfr> How do I map volume and screen brightness keys?
<pfr> XF86* keys
<ifreund> pfr: the same as any other key... what isn't working about them?
<ifreund> you can use `xkbcli interactive-wayland` to figure out the names if that's the issue
<pfr> so with a `riverctl map normal XF* spawn "raise vol"` for example?
<pfr> that's what I've tries and it doesn't work.
<pfr> riverctl map normal XF86AudioRaiseVolume spawn "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
<pfr> to be exact
<ifreund> pfr: you always need to pass modifiers for the mapping to riverctl map
<ifreund> in this case you want to pass "None" it seems
<pfr> ahhhh
<pfr> so.. riverctl map normal None XF86AudioRaiseVolume spawn "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
<pfr> or, would the Fn key become the modifier?
<FireFly> nah, Fn is handled by the keyboard's firmware internally usually, so that should be right
<pfr> cool. xkbcli shows keycodes and keysums. Key code for F5 being FK05 and keysum is simply F5
<pfr> so perhaps I shouldn't use XF86*
<pfr> riverctl map normal None F5 spawn ..
<FireFly> I mean, you could do that but wolud be annoying to not have an F5 key otherwise on the system..
<pfr> do I need to add the "$mode"
<FireFly> the $mode is normal
<FireFly> you're passing it already
<pfr> gotcha
<pfr> last question... unrelated to river specifically... but I'm using `brightnessctl` to adjust my laptop screen brightness. THis requires root privliges
<FireFly> anyway, if it's not detecting/showing the keysym I'd look at if there's some other stage or mapping that handles it already.. for the media keys. at least on most laptops/similar they should emit the XF86 media key keysyms
<FireFly> pfr: I'm not sure but I'd guess it just writes to the sysfs backlight brightness directly. you could check ls -l /sys/class/backlight/*/brightness or so, at least on my system it's owned by group 'video' (but might vary depending on your distribution)
<ifreund> pfr: some keyboards have an "fn lock" key or similar to switch between sending e.g. F5 and "volume up"
<FireFly> (so, rather than being root you could add your user to the video group, in that case)
<ifreund> you can also use udev rules for that
<FireFly> true
<ifreund> which is probably how the video group is assigned in the first place...
<pfr> I'll look into that. Cheers
<pfr> when I use xkbcli to check Fn+F4 i get no output at all
<pfr> so it recognises the Fn key by itself and the F keys individually, but nothing when combined
<ifreund> pfr: no output could also mean that river has eaten that keypress due to the mapping you have defined for XF86AudioRaiseVolume
<pfr> True!
<FireFly> the backlight thing reminds me, a friend and I put a small script together recently for fading the backlight out a bit before locking (for swayidle purposes)--should polish it a bit and see if it makes sense to add to the wiki
<novakane> congrats on the release 🎉
<ifreund> thanks!
<ifreund> FireFly: there's also this tool for that purpose: https://git.sr.ht/~emersion/chayang
<novakane> you could use the passthrough mode to still gets value in xkbcli
<FireFly> ifreund: oh, nice, didn't know about that
<ifreund> fading out the backlight at the hardware level might look a bit different or have some advantage, I haven't tried either myself
leopoldek has joined #river
waleee has joined #river
<leon-p> happy release day 🐈
<ifreund> :)
<pfr> novakane: how to use passthrough mode with xkbcli?
<novakane> pfr: the passthrough mode is in river https://codeberg.org/river/river/src/branch/master/example/init#L112-L120
<ifreund> to be more exact, it's just a mostly empty mode defined by the user
<ifreund> which can be pretty handy at times
leopoldek has quit [Remote host closed the connection]
fossdd has joined #river
pfr has quit [Quit: pfr]
tiosgz has joined #river
<tiosgz> ah, release :)
leopoldek has joined #river
<tiosgz> ifreund: i'm not sure the layer-shell restriction works for all use cases. a typical thing taking ~half of the screen is an on-screen keyboard (which is usually layer-shell afaik)
<ifreund> tiosgz: hmm, yeah we cap it at 90% or so instead
<ifreund> *we could
<ifreund> I do wonder if anyone uses an on-screen keyboard with river though
<tiosgz> i don't know if anyone does, but they are more likely to report a bug to its dev when they try
<tiosgz> and especially with the wm protocol you don't know what everything people will use river for
waleee has quit [Ping timeout: 252 seconds]
tiosgz has quit [Quit: nyaa~]
<leon-p> IMO layershell isn't usable for on screen keyboards in its current state: you either shrink the available space or hide part of the application window with the OSK which isn't ideal. IIRC on mobile devices, applications get a hint indicating what part of their surface is obscured by the OSK so they can adapt their UI how they see fit. There is currently no wayland protocol for that AFAIK
aryak has quit [Ping timeout: 256 seconds]
aryak has joined #river
waleee has joined #river
waleee has quit [Ping timeout: 264 seconds]
Guest98 has joined #river
waleee has joined #river
angry_vincent has quit [Ping timeout: 255 seconds]
Guest98 has quit [Quit: Client closed]
ninewise has quit [Remote host closed the connection]
ninewise has joined #river
ninewise has quit [Remote host closed the connection]
ninewise has joined #river
travankor has quit [Remote host closed the connection]
leopoldek has quit [Ping timeout: 252 seconds]
leopoldek has joined #river
leopoldek has quit [Ping timeout: 252 seconds]
<NickH> ifreund: Congratulations on 0.3.0 🎆
aryak has quit [Read error: error:0A000119:SSL routines::decryption failed or bad record mac]
aryak has joined #river
<adamcstephens> 🎉
<adamcstephens> LarstiQ: I merged the 0.3.0 PR into nixpkgs earlier today, so no need to build once that hits unstable
leopoldek has joined #river
pfr has joined #river
<pfr> Some nice changes in 0.3.0
<pfr> Happy to see the addition of a code of conduct too.
<pfr> Cheers to everyone for their work on river.