ifreund changed the topic of #river to: river - a dynamic tiling wayland compositor - https://github.com/ifreund/river - channel logs: https://freenode.irclog.whitequark.org/river/
waleee-cl has quit [Quit: Connection closed for inactivity]
gspe has joined #river
gspe has quit [Quit: gspe]
betawaffle_ has joined #river
betawaffle has quit [*.net *.split]
gspe has joined #river
<skuzzymiglet> hey all, my screen sometimes freezes on river, usually due to inactivity
<skuzzymiglet> not sure how long before it freezes, it can be 2-5 seconds after inactivity
betawaffle_ is now known as betawaffle
<ifreund> sounds like this thing: https://github.com/ifreund/river/issues/153
<ifreund> I kinda expect it to just disappear once I implement damage tracking
<skuzzymiglet> what's the progress on that?
<ifreund> I'll probably get to it shortly after river-layout is finally mereged
<ifreund> which is currently blocked on me deciding how best to handle configuration of "default" output options
<skuzzymiglet> I've developed a muscle memory of ctrl-alt-2 ctrl-alt-1-ing to fix it now :)
<ifreund> heh, I admire your persistence :D
<ifreund> there's also the fact that I personally have never hit this so I'm not particularly motivated to work on it yet...
<skuzzymiglet> I could take a shot if you want
<skuzzymiglet> don't know the codebase and I've only dabbled with Zig though
<ifreund> I mean if you want to go for it I wont stop you. Damage tracking isn't exactly trivial though, it it were I'd have already done it
<leon-p> very simplistic start-stop damage tracking actually is trivial, but I am not sure it is enough of a performance improvement to be worth it
<leon-p> (source: some experiments with zig-wlroots)
<ifreund> might still fix #153 by using the more tested wlroots code paths for damage tracking
<leon-p> IIRC here is what to do if anyone does wants. It's not much more than creating wlr_output_damage for every wlr_output and using its frame events instead of the outputs one. Then in the frame handler do wlr_output_damage.attachRender, which will tell you if you need to render a frame. If not, wlr_output.rollback(), if yes, render like we do now. Now you need to add wlr_output_damage.addWhole() everywhere
<leon-p> where the sreen gets dirty.
<leon-p> s/does wants/wants to/g
<leon-p> s/sreen/screen/g
<leon-p> AFAIK wlroots takes care of dirty-fying the screen for output mode changes, but I am not sure
<ifreund> the "add wlr_output_damage.addWhole() everywhere" part is the hard part
mseeber has joined #river
mseeber has quit [Remote host closed the connection]
leon-p has quit [Quit: leaving]
gspe has quit [Quit: gspe]
gspe has joined #river
waleee-cl has joined #river
gspe has quit [Quit: gspe]
inclement has quit [Quit: WeeChat 0.3.8]
inclement has joined #river
inclement has quit [Client Quit]
inclement has joined #river