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/
mtm has quit [Ping timeout: 260 seconds]
mtm has joined #river
pinpoxIRC has quit [Ping timeout: 252 seconds]
pinpoxIRC has joined #river
eShaev9z has joined #river
eShaev9z_ has quit [Ping timeout: 244 seconds]
Palanix_ has joined #river
Palanix has quit [Ping timeout: 272 seconds]
Palanix_ is now known as Palanix
Den4ikRus has joined #river
taeltydes_ has quit [Read error: Connection reset by peer]
taeltydes_ has joined #river
alebastr has quit [Ping timeout: 260 seconds]
alebastr has joined #river
<leon-p> szgy: doesn't grep only output once the input pipe is closed?
<leon-p> so no
leopoldek has quit [Remote host closed the connection]
<leon-p> actually, I think the issue is buffering
<leon-p> I can drop a patch later to make lswt line-buffered when piped
<leon-p> (internet here is kinda sad, so may take a while)
adv8tor has joined #river
Franciman has quit [Ping timeout: 245 seconds]
adv8tor has quit [Ping timeout: 260 seconds]
Den4ikRus has quit [Ping timeout: 246 seconds]
Den4ikRus has joined #river
Den4ikRus has quit [Ping timeout: 252 seconds]
Den4ikRus has joined #river
sm2222 has joined #river
Soliprem has joined #river
Soliprem has quit [Remote host closed the connection]
TheAnachron has joined #river
Soliprem has joined #river
TheAnachron has quit [Quit: TheAnachron]
pinpoxIRC has quit [Ping timeout: 260 seconds]
landre has joined #river
<landre> Hi, I can't find a way to setup a rule to match windows with an empty title. Did anyone manage that ?
tiosgz has joined #river
<tiosgz> landre: apparently, empty glob is intentionally forbidden. do you remember the motivation ifreund ?
<tiosgz> is it one of the misbehaving applications that only set the title later?
pinpoxIRC has joined #river
sm2222 has quit [Remote host closed the connection]
sm2222 has joined #river
<tiosgz> (from looking at the globber code i'd guess it's just an annoying edge case that didn't seem worth handling)
TheAnachron has joined #river
<TheAnachron> hey, does anybody have a working script to detach an eGPU on a running river session?
<ifreund> tiosgz: I don't recall, there's may be no good reason
pinpoxIRC has quit [Remote host closed the connection]
<ifreund> I don't think setting an empty app-id or title is good client behavior, but it's probably impossible to stop clients from doing that so we should be able to gracefully handle it somehow
pinpoxIRC has joined #river
<tiosgz> well right now it's also impossible to add an exact-match rule for '*******' as the title :P
<landre> ifreund I agree that this is bad client behavior, but unfortunately I don't control the clients ^^' I'll look for a way to work around this for the time being, and I hope the behaviour will change soon
<landre> Thanks for the answer anyway !
<ifreund> yeah, I suppose we could use some form of escaping as well in theory...
<ifreund> though I don't think I've heard of any client setting ****** as their app-id yet
pinpoxIRC has quit [Ping timeout: 245 seconds]
<landre> Might happen with some weird sensoring x)
<landre> censoring*
<Soliprem> is there a way to blur transparent windows?
<Soliprem> I understand it's not performance friendly, it's a readability thing
<landre> Soliprem not at the moment, river does not implement much eye-candy and focuses on features and usability
<Soliprem> yeah I know. It's why I like it
sm2222 has quit [Ping timeout: 244 seconds]
<Soliprem> > .<
<Soliprem> it's just that I'd consider blur on-par with transparency in terms of eye-candi-ness
<Soliprem> so I was hoping there's some way to set it
<Soliprem> but it's not a huge issue
<landre> Not in terms of performance and ease of implementation unfortunately ^^'
<Soliprem> yeah I imagined as much
<ifreund> river doesn't really do anything special with regards to "transparency"
<ifreund> if a program gives river transparent buffers river will blend them with the buffers under them in the scene graph
<Soliprem> oh ok
<Soliprem> that makes sense
<ifreund> IMO doing blur on the compositor side is a bad idea, you don't want to blur the text of your terminal, only the background
<Soliprem> I take it it can be done client-side then?
<Soliprem> didn't know it was a thing
<ifreund> In theory there could be an ext-blur protocol that a client could use to communicate which part of which surface should be blurred
<ifreund> this is how kde does blur iirc
<ifreund> Hmm, I retract the "compositor side is a bad idea" statement, it would make most sense to blur the area on top of which the transparent client buffer with solid text should be rendered
<ifreund> and then blend the partially transparent client buffer with the blurred background
<ifreund> in any case, this is all purely academic at this stage in river's development
<leon-p> arguably after the WM protocol rivers codebase is small enough that some thoughts can be spend on eye-candy, allthough implementing the blur protocol is probably more in the wlroots domain
<leon-p> and I am actually quite sure you can do a fair amount of eye-candy WM-side already, since it can place surfaces at arbitrary locations
<leon-p> f.e. in combination with the new per-toplevel screen-capture, some animations can happen entirely client-side
tiosgz has quit [Quit: nyaa~]
<Soliprem> oh, screen capture works now?
<Soliprem> I'm a bit out of the loop
pinpoxIRC has joined #river
<leon-p> per-toplevel isn't merged yet I think, per-output has worked for quite a while
<Soliprem> what does per-toplevel do?
<leon-p> capture individual windows
<Soliprem> oh nice
<Soliprem> why name it per-toplevel rather than per-window?
<Soliprem> I assume it's because of a categorisation I don't know about, which is why I'm asking
<Soliprem> not bein snarky
<leon-p> toplevel == window == view
<leon-p> more or less
<Soliprem> is the configuration from older versions still compatible with modern river?
<Soliprem> mine is a couple years old at this point
<leon-p> there were breaking changes in the last few releases
<Soliprem> oh ok, is there a list anywhere?
<leon-p> an easy way to find out is to run your init script in a new river and see which commands result in an error
<leon-p> otherwise just read the release notes
<Soliprem> fair enough, will do
<ifreund> the release notes are the list of breaking changes :)
mtm has quit [Ping timeout: 252 seconds]
mtm has joined #river
sm2222 has joined #river
<TheAnachron> okay, my eGPU removal script is kinda working now. my windows stay open and it switched back to intel GPU, but the window layout resets :/
<TheAnachron> has river ever been tested against eGPUs?
<leon-p> If the layout resets, than intuitively I'd say that the logical output is destroyed and re-created
<TheAnachron> well the display changed (DP-5 > DP-1)
<TheAnachron> And the connections are closed, yep.
<leon-p> then obviously, as far as the layout generator is concered, that is a totally different output that has no connection to the previous one
sm2222 has quit [Ping timeout: 244 seconds]
<TheAnachron> In reality, it's the same monitor. One with HDMI connection, one with DP. (the HDMI one comes from the laptop itself, the DP one from my eGPU)
<leon-p> having your layouts survive such an output switch is possible, but would require special support in the layout generator
<leon-p> reality doesn't matter. What matters is what the software thinks is real :)
<TheAnachron> Does wlroots/river decide based on device path or device IDs?
<leon-p> 🤷
<TheAnachron> based on what I understand it should be the first, as that is the only thing changing
<leon-p> either way, you could use one of the programmable layout generators and write your layout script in a way that layout variables are moved over to another output (or just make them globals, likely easier)
<TheAnachron> Well I am using riverctl currently, that is true. I've compiled https://github.com/alex-courtis/wideriver but didnt switch to it yet
<TheAnachron> s/riverctl/rivertile/
<TheAnachron> I'll probably keep testing and notify (complain) about my findings here
TheAnachron has quit [Quit: TheAnachron]
landre has quit [Ping timeout: 256 seconds]
<szgy> leon-p: regarding buffering of lswt. Yeah, line buffering would be nice, makes it much easier to work with
<leon-p> I was under the impression that libc auto-switches to line-buffering when output is not a tty, but might have remembered that wrong...
<leon-p> as I said, the connection here isn't very good (barely enough for IRC at most), so it might take me a while to send a patch.
Guest18 has joined #river
Guest18 has quit [Client Quit]
<szgy> ofk!, no rush at all
sm2222 has joined #river
catman has quit [Ping timeout: 276 seconds]
catman has joined #river
catman has quit [Ping timeout: 272 seconds]
catman has joined #river
<Soliprem> anyone here using NixOS?
soulseeder has joined #river
<soulseeder> Hey all! I am trying to do a systemd-based autostart of dependencies for river (it already runs fine through GDM) by copypasting the setup I found in niri compositor (https://github.com/YaLTeR/niri/tree/main/resources) but for some reason it just exits the session after like 30s without anything reasonable in journalctl
<soulseeder> anyone has a similar setup working or maybe some pointers to debug this?
leopoldek has joined #river
NickH has quit [*.net *.split]
kaisan has quit [*.net *.split]
Jazzah has quit [*.net *.split]
kaisan has joined #river
NickH has joined #river
Jazzah has joined #river
NickH has quit [Max SendQ exceeded]
NickH has joined #river
pinpoxIRC has quit [Quit: Ping timeout (120 seconds)]
<soulseeder> or well, I see that it kind of does its stuff but then I see "start operation timed out" and systemd shuts it down kind of nominally, is it related to how exactly I call it in the .service file?
leopoldek has quit [Remote host closed the connection]
<soulseeder> UPD: so yeah it's because of Type=notify in service def. To make it work I need to call sd_notify but apparently it's not possible through the unit script so I switched type to exec (which has its own flaws)
pinpoxIRC has joined #river
pinpoxIRC has quit [Client Quit]
lordmzte has quit [Ping timeout: 272 seconds]
pinpoxIRC has joined #river
<leon-p> soulseeder: you probably don't want to start river as a unit directly. instead use something like greetd as a proxy. I recommend defining a custom .target unit
sm2222 has quit [Ping timeout: 252 seconds]
sm2222 has joined #river
leopoldek has joined #river
sm2222 has quit [Ping timeout: 272 seconds]
sm2222 has joined #river
waleee has joined #river
leopoldek has quit [Remote host closed the connection]
<soulseeder> leon-p: I have GDM that starts it already, or do you mean I should make one more hop in between?
<soulseeder> do you have an example that I could study?
sm2222 has quit [Ping timeout: 244 seconds]
sm2222 has joined #river
sm2222 has quit [Ping timeout: 248 seconds]
sm2222 has joined #river
sm2222 has quit [Ping timeout: 248 seconds]
pinpoxIRC9 has joined #river
voroskoi_ has joined #river
arya_elfren_ has joined #river
raiaq_ has joined #river
gbrlsnchs_ has joined #river
geemili_ has joined #river
wsx_ has joined #river
dnkl_ has joined #river
psnszsn_ has joined #river
whereswaldon_ has joined #river
pvsr_ has joined #river
adamcstephens_ has joined #river
robertgzr_ has joined #river
SusanTheNerd2_ has joined #river
siaal_ has joined #river
ninewise_ has joined #river
walee_ has joined #river
SusanTheNerd2 has quit [Ping timeout: 246 seconds]
wsx has quit [Ping timeout: 246 seconds]
psnszsn has quit [Ping timeout: 246 seconds]
robertgzr has quit [Ping timeout: 246 seconds]
arya_elfren has quit [Ping timeout: 246 seconds]
voroskoi has quit [Ping timeout: 246 seconds]
adamcstephens has quit [Ping timeout: 246 seconds]
ninewise has quit [Ping timeout: 246 seconds]
whereswaldon has quit [Ping timeout: 246 seconds]
pvsr has quit [Ping timeout: 246 seconds]
raiaq has quit [Ping timeout: 246 seconds]
geemili has quit [Ping timeout: 246 seconds]
dnkl has quit [Ping timeout: 246 seconds]
gbrlsnchs has quit [Ping timeout: 246 seconds]
waleee has quit [Ping timeout: 246 seconds]
pinpoxIRC has quit [Ping timeout: 246 seconds]
siaal has quit [Ping timeout: 246 seconds]
psnszsn_ is now known as psnszsn
wsx_ is now known as wsx
voroskoi_ is now known as voroskoi
robertgzr_ is now known as robertgzr
SusanTheNerd2_ is now known as SusanTheNerd2
adamcstephens_ is now known as adamcstephens
whereswaldon_ is now known as whereswaldon
pvsr_ is now known as pvsr
raiaq_ is now known as raiaq
geemili_ is now known as geemili
arya_elfren_ is now known as arya_elfren
dnkl_ is now known as dnkl
pinpoxIRC9 is now known as pinpoxIRC
gbrlsnchs_ is now known as gbrlsnchs
siaal_ is now known as siaal
sm2222 has joined #river
lordmzte has joined #river
ninewise_ is now known as ninewise
sm2222 has quit [Ping timeout: 260 seconds]
Franciman has joined #river
lordmzte9 has joined #river
lordmzte has quit [Ping timeout: 246 seconds]
lordmzte9 is now known as lordmzte
<leon-p> soulseeder: oh, then I mistook what you were saying. Some people try starting the compositor directly as a systemd-unit which is possible but not advisable and I thought you were doing that.
<leon-p> I think there is an example of how to do this properly in the sway wiki
<leon-p> I personally have gotten a bit lazy and just start user services on the graphical.target, which works but isn't very clean
<soulseeder> oh, you mean independently of each other
<soulseeder> I guess that would also work for me in this case
leopoldek has joined #river
Den4ikRus has quit [Ping timeout: 252 seconds]
Palanix has quit [Ping timeout: 265 seconds]
Palanix has joined #river