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/
ext0l has joined #river
<ext0l> right now, my setup on sway uses a 2x2 grid layout for my 'chat client' workspace, but i tend to go with a more 'one main, several smaller' layout for the other workspaces. is this something i can replicate in river?
<leon-p> ext0l: yes
<leon-p> just not with the default layout generator
<ext0l> ah ok
<ext0l> yeah it looks like the layout protocol does specify the tag set
<leon-p> some of the community layout generators (like mine, for example) support per-tag layouts
<ext0l> which one is yours?
<ext0l> neat, ty
<leon-p> if you use the --per-tag-config command flag, all layout configuration is per tag instead of global
<ext0l> got it
<ext0l> honestly this is one of the things that really interested me in river so this is good to hear
<ext0l> going to try converting tonight after my daily walk/dinner
<leon-p> ext0l: nice!
<leon-p> if you have any questions, you can of coruse come here. Just be aware that most people answering questions here operate on european timezones
<ext0l> yeah it's a 30-person channel for a niche window manager, i'm not expecting instant responses in any case :D
Nulo has quit [Quit: WeeChat 3.2]
leon-p has quit [Ping timeout: 248 seconds]
leon-p has joined #river
leon-p has quit [Ping timeout: 268 seconds]
keithhub has joined #river
leon-p has joined #river
elshize has quit [Quit: WeeChat 3.2]
elshize has joined #river
<elshize> hey, speaking of git send-email, just wondering, what email client are you guys using to interact with pathes and mail lists and stuff?
keithhub has quit [Ping timeout: 258 seconds]
leon-p has quit [Quit: leaving]
keithhub has joined #river
keithhub has quit [Quit: Quit]
keithhub has joined #river
snakedye has quit [Ping timeout: 248 seconds]
ext0l has quit [Quit: WeeChat 3.2]
ext0l has joined #river
ino has joined #river
<ino> Hi! is there any way for blurring background? thanks!
<ext0l> i don't think so
<ino> oh. when i was using picom it had that "dual_kawase" algorithm for blurring. I was wondering if similar kind of blurring is available in river.
<ext0l> yeah, i don't think so. i miss it too (from having used sway) but afaik it's not trivial to implement
<ino> oww.
<ext0l> iirc wayfire is the biggest wayland impl that supports blur (outside of gnome/kde ofc)
<ino> wayfire is a 3D compositor, right? inspired from compiz
<ext0l> yeah, though you can just leave all the 3d stuff off ofc. i've never used it so i have no clue how good it is
<ino> I am having very good time with river! thanks to all the maintainers and developers of this project. i can now become more productive.
ino has quit [Quit: Client closed]
novakane has joined #river
ext0l has quit [Ping timeout: 268 seconds]
snakedye has joined #river
dbuckley has quit [Ping timeout: 258 seconds]
dbuckley has joined #river
yyp has quit [Ping timeout: 250 seconds]
yyp has joined #river
waleee has quit [Ping timeout: 272 seconds]
keithhub has quit [Ping timeout: 258 seconds]
ino has joined #river
<ino> Hi! is there a way to reduce the gap between the layout and screen-edge persistantly? I have gone through the default `init` file, I have seen an option to use `super + alt + ctrl` keybinding to snap view to screen edges, but it makes the window float; and it is applied for only one window. is there any way to reduce/increase persistantly accross
<ino> all tags and windows? thanks! :)
<novakane> ino: gaps are handled by the layout generator so it depends which one you use. For example with rivertile you need to launch it with `rivertile -outer-padding 4`
<novakane> see rivertile(1) manpage
<novakane> note that you can't change it at runtime
<ino> Thank you novakane!!! you always help. sorry i forgot to check the man page. :))))
<novakane> ino: no worries
<ino> =D
ino has quit [Quit: Client closed]
waleee has joined #river
keithhub_ has joined #river
elshize has quit [Ping timeout: 248 seconds]
elshize has joined #river
keithhub_ has quit [Quit: WeeChat 3.2]
keithhub_ has joined #river
leon-p has joined #river
<novakane> I started writing a draft article for the wiki on river protocols, what do you guys think? https://paste.sr.ht/~novakane/16ef1acec62147d2552771e6e1a49878ba7e1d87
<novakane> I hope there is no wrong information in it
keithhub_ has quit [Quit: WeeChat 3.2]
<leon-p> novakane: I'll give it a read
<leon-p> you should probably mention that the language needs wayland bindings in the first paragraph
<leon-p> novakane: the most important part of the article is, IMO, the last part, where you list all protocols and what they can do. That is the number 1 thing people will look for.
<novakane> leon-p: it mentionned later but I could change it
<novakane> right I should change the order
<ifreund> yeah, definitely want to focus on river-specific information but link to more general wayland info
<leon-p> btw, I have some new ideas for river-toplevel. I should have working code sometime this week.
<ifreund> and the only protocol not currently planned to be replaced is river-layout-v3 fwiw, so I'm not sure documenting the current river-control or river-status is really worth it beyond what's in the XML
<ifreund> leon-p: cool, I'm currently super busy with work and exams but I'll try to get you a review when I can
<novakane> I didn't want to publish it yet in case there was too many mistakes, but once there is a good base, I'll add it to the wiki so you guys can edit it easily
<novakane> ifreund: Yeah I know I hesited I probably mention it
<leon-p> novakane: if you can provide a description of all the events and requests that is readable by mere-mortals without Wayland experience, I think that could be really nice
<novakane> leon-p: I'll try this, probably only for river-layout for now though
<novakane> And I think I only leave the explication for interface, event, requests because it's an inportant information IMO
<leon-p> well basically what I think we should have is documentation that allows someone who has never written Wayland code before to pickup, say, python and start scripting river without too much headache
<dnkl> I really miss the 'opacity' command... so much that I added something similar to foot - https://codeberg.org/dnkl/foot/pulls/676 - all my windows are terminals anyway :D
<leon-p> dnkl: sweet!
<leon-p> I feel like for opacity, client-side is definitely better than server-side
<dnkl> not sure if I'll merge it. But the change is pretty small, so maybe I will, even though it might be too "flashy" for foot...
<dnkl> leon-p: you definitely get more control over how/what to make translucent, and how much to change the opacity
<dnkl> leon-p: in foot's case, the patch is somewhat hacky, and incurs a quite noticeable performance impact for screen updates while the window is unfocused
<leon-p> dnkl: exactly. Server-side opacity has the massive disadvantage that content such as text or images will also be transparent
<dnkl> leon-p: right now that's what foot does too - everything is made transparent. That's how I like it in this case... but could probably be made optional, to e.g. just increase the "normal" background opacity, which is only applied to the default background color
<leon-p> so, other than floating state and the tags, is there any other river specific information clients should be able to get about toplevels?
Nulo has joined #river
<ifreund> fullscreen state?
<leon-p> already in zwlr-foreign-toplevel
<ifreund> dnkl: something similar to the opacity command may return to river in the (likely distant) future. I'm confident that removing it for now was the right move though especially as the wlroots scene graph API seems to be gaining traction
<ifreund> I assume foot needing to damage the whole frame every frame while unfocused is just to keep things simple and is not strictly necessary?
<ifreund> leon-p: right :)
<ifreund> leon-p: when we implement xdg-activation we'll probably want to add urgency
<ifreund> or actually that probably belongs in ext-toplevel-info
<dnkl> ifreund: yeah, opacity is applied in a final step, after everything else has been rendered, using an IN REVERSE operation with a "solid" transparent source "image".
<dnkl> that breaks the internal damage tracking
<dnkl> the alternative would have been to apply the alpha *while* rendering.
<dnkl> while that might work for regular cells, it's much more difficult with sixels
<dnkl> and probably not that easy with color glyphs either
keithhub_ has joined #river
keithhub_ is now known as keithhub
<leon-p> hmm... I think we'll have a few problems extending the foreign toplevel protocol since the wlroots impl. is very self-contained
<ifreund> leon-p: changing wlroots to make it more extensible is very much an option
<ifreund> If we try to get ext-toplevel-info/ext-toplevel-management merged in wayland-protocols before merging river-toplevel we even need to write a new wlroots implementation
<leon-p> ifreund: had the same thought. Although I will have to look deeper into how protocols are supposed to work since I am not sure my idea is even doable
<leon-p> Basically what I want to do is have another global that sends events for floating state and tags with a foreign toplevel handle as parameter, since binding an additional object per toplevel handle has to many roundtrips for my taste
<ifreund> leon-p: why wouldn't the river-toplevel objects be server-side created alongside the ext-toplevel ones?
<ifreund> I don't see how a separate object would require more round-trips
<leon-p> ifreund: if they are advertised by a global then indeed there is no additional roundtrip. Clients would have to match the river-toplevel-handle with the foreign-toplevel-handle, but that is fine I guess.
<leon-p> only problem I see is keeping the events of both synchronous
<leon-p> If we have two different 'done' events fore both toplevel handles, clients tracking toplevels will not get atomic state updates
<ifreund> leon-p: the event creating the river-toplevel-handle could send the matching foreign-toplevel-handle as an argument
<ifreund> we should definitely only have a single done event, the one on the base object
<ifreund> dnkl: I see, that makes sense. That kind of full-buffer opacity is probably better done in the server tbh.
<ifreund> back when I used X11, I had my terminal's foreground color change on focus/unfocus to match my window border color
<dnkl> ifreund: agreed. I'll keep the PR open, but don't think I'll merge it. I'll try to keep it up to date, for those who'd like to use it until a server side implementation is in place
Nulo has quit [Quit: WeeChat 3.2]
Nulo has joined #river
<novakane> so the river protocols wiki article v2, should be better https://paste.sr.ht/~novakane/15b5b04f9eed867af15465ef47390424fe4df108
<novakane> and the last version for today :P
<novakane> leon-p: ifreund should be more what you had in mind
<elshize> hey, I had river crash on me when I unplugged an external monitor from the laptop. full log: https://0x0.st/-Jpr.log (very long) just the errors at the end: https://0x0.st/-Jps.log and kanshi config: https://0x0.st/-Jpi.txt just letting you know, I'll try to dig deeper and maybe try to reproduce later tonight, will let you know...
<ifreund> elshize: were you running with commit 2f3fe501?
novakane has quit [Quit: WeeChat 3.2]
novakane has joined #river
<Nulo> Hm, -release events are not called after releasing the modifier
<Nulo> Which makes sense but it is annoying
<Nulo> map normal Mod4 B spawn yambar
<Nulo> map -release normal Mod4 B spawn 'killall yambar'
<Nulo> When pressing on the Mod4 key and then the B, the bar appears, but if the Mod4 key is released before the B the bar doesn't disappear
<elshize> ifreund: yeah, compiled on "config: fix leak of default layout namespace" from yesterday
<elshize> ifreund: it's strange because I've been switching my display between two computers, and no problems usually
<elshize> e.g. I just did this to switch from my work laptop to personal, and no crash
<ifreund> sounds like a race :/
<ifreund> Nulo: the behavior you describe does sound nicer, and there's no technical reason river couldn't do that afaik. I'm not sure how complex it would be to implement though
<ifreund> I'm not planning on making such a change myself but if someone were to send a PR and the patch was reasonably simple I'd merge it
<elshize> ifreund: thanks. anything I could do to provide more info? do you think WAYLAND_DEBUG would be helpful?
<ifreund> elshize: if you can reproduce with a debug build or otherwise get a stack trace that would be helpful
<ifreund> I don't think WAYLAND_DEBUG will be useful here
<ifreund> there's a stack trace in that issue already, but It's not yet 100% clear the crash you hit is the same bug
novakane has quit [Quit: WeeChat 3.2]
yyp has quit [Ping timeout: 258 seconds]
Nulo has quit [Ping timeout: 272 seconds]
Nulo has joined #river