Revamp wallpaper change to use shaders for the transition effect. But how? #12691
Unanswered
markg85
asked this question in
Feature requests - Protocols / Integrations
Replies: 1 comment 2 replies
-
|
hyprpaper should implement the animations, and that will be possible once toolkit gets more animation capabilities, as currently they are a bit limited. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
The goal of this change is simple.
This is the current way you can already change a wallpaper:
hyprctl hyprpaper wallpaper DP-1,contain:/home/mark/Pictures/blocks.jpgAnd this should be the addition allowing you to change it with a shader effect applied to the transition:
hyprctl hyprpaper wallpaper DP-1,contain:/home/mark/Pictures/blocks.jpg,/path/to/shader.fragSimple huh. Yeah, not so much.
But why? Other tools that animate a wallpaper go through lots of difficulties to make it animated. Can't we do this simpler? Well, that's what i'm trying to figure out.
There are two systems at play here. Also, please do correct me if i'm wrong because this is hella difficult to figure out properly.
Now you can "hack the system" by letting hyprland display the logo (misc:disable_hyprland_logo = true). The background is now entirely disable and others can take over. Essentially becoming mini compositors themselves. Nice..
When hyprland sees the wallpaper change it does do the fade in from black to whatever the layer is (layer is wayland speak for the layer that has the background). This change comes in from hyprpaper but it doesn't tell hyprland anything.
I'm therefore looking for an option to "tell" hyprland how to fade in this wallpaper change. I would like to use shaders for the nice fancy effects. But i'm blanking on the proper way to communicate back to hyprland. Now i can update wayland protocols to add a property for this but i have 0 interest in even attempting to do that upstream (and it would take years...). So with that it's already near impossible to go the protocol route.
I'm looking for feedback on how to implement this somewhat properly. I believe hyprland should be the one doing shader animations here so a value that arrives in hyprpaper must, somehow, be communicated back to hyprland for this to work.
Hints and pointers on how to solve this are much appreciated!
Beta Was this translation helpful? Give feedback.
All reactions