Closed nnra6864 closed 1 week ago
i have this same issue and i need fix
Huge find!
This is directly tied to the following blur setting: new_optimizations = true
!
I genuinely have no clue how I never tried setting it to false
before...
Disabling it straight up fixes the issue fully!
Yeah, performance is supposedly worse but at least it behaves properly :/
Hope this thread is of help to any future users and gives Vaxry an idea of what could be causing the issue.
Ok, I went through the hyprland codebase and I have an assumption as to why these optimizations block the hyprwinwrap rendering. From my understanding, new optimizations are basically avoiding re-rendering of non dirty windows(windows with no changes), which results in hyprwinwrap not being displayed through them since nothing's updated(I could be very wrong about this). It also explains why it's working with floating and special workspace windows, because a window doesn't qualify for these optimizations if it's floating or on a special workspace, as can be seen here. If you are using hyprwinwrap, you are better off just disabling these new optimizations because blur has to be constantly re-rendered anyways. I won't close the issue yet because I am awaiting a response in the hyprland discord server since I don't have enough knowledge to truly mark this as a solution/intended behaviour.
I am closing this issue with the solution being as simple as using decoration:blur:new_optimizations = false
(or decoration:blur:ignore_opacity = false
if you don't mind the ugly look).
From my understanding, disabling the optimizations in this case shouldn't affect the performance in any way since even with those, the blur would have to be redrawn every frame since hyprwinwrap is displaying animated content.
Thanks to Vaxry for clearing stuff up.
Hope this helps somebody in the future!
Similar issues reported are #167, #197 and #91. To sum it up, when using
decoration:blur:ignore_opacity = true
, hyprwinwrap isn't rendered behind tiled windows. I am suspecting this to be a hyprland issue rather than hyprwinwrap issue because window being tiled or not causes this. Interesting thing is that if you make the window float and then fullscreen/maximize it with either of these binds(and possibly others):bind = $mainMod, F, fullscreen
bind = $mainMod ALT, F, fullscreenstate, 1
hyprwinwrap gets rendered properly, as shown here:Tiled
Floating
Maximized
Fullscreen
Tiled with
decoration:blur:ignore_opacity = false
I would like to be of more use but I am not familiar with the hyprland codebase so hopefully somebody experienced will be able to fix this.
EDIT
I found a really interesting thing... It seems to behave properly when used on a special workspace o_0