DankMaterialShell icon indicating copy to clipboard operation
DankMaterialShell copied to clipboard

Swww support

Open tduck1equack opened this issue 1 month ago • 3 comments

Feature Description

The wallpaper picker allows using Swww to render animated wallpapers without sacrificing automatic theming.

Use Case

As specified above, the default wallpaper daemon doesn't allow rendering animated wallpapers, and setting up Swww manually doesn't integrate well with auto theming or the shell's wallpaper picker.

Compositor

Is this feature specific to one compositor?

  • [x] All compositors
  • [ ] niri
  • [ ] Hyprland
  • [ ] dwl (MangoWC)
  • [ ] sway

Proposed Solution

These are the steps I take to use Swww with the shell on Niri:

  1. Run swww-daemon at startup spawn-at-startup "swww-daemon"
  2. Adding a layer-rule to render the wallpaper on overview and make it not move with workspace changing:
layer-rule {
    match namespace="^swww-daemon$"
    place-within-backdrop true
}
  1. Run the command swww with the path to desired image swww img path/to/image

Currently I can't modify the wallpaper picker to utilize swww commands and display the selected wallpaper because I don't have a good understanding on the shell's Quickshell config structure.

For the auto theming, I also have no solutions yet but I believe we can use a tool like ffmpeg to extract any frame of the animated image and generate color palettes using the extracted frame.

Alternatives/Existing Solutions

None

tduck1equack avatar Nov 22 '25 21:11 tduck1equack

Yeah good idea . I just wanted to write smiller post. I just wish animated gif wallpapers would work.

sir86 avatar Nov 27 '25 12:11 sir86

I think keeping DMS strictly performant and as lightweight as possible is better. There is a plugin for allowing the use of the linux-wallpaperengine version that can take the animated wallpapers from wallpaper engine. My thought is that a plugin to use SWWW to replace the default wallpaper would be a good idea.

Acters avatar Nov 28 '25 15:11 Acters

I also think it should be a plugin, managing external processes from within the shell adds a lot of complexity.

It's also worth exploring if we can support video wallpapers natively. There was a PR for it awhile ago but it went unmerged

bbedward avatar Nov 28 '25 15:11 bbedward

Closing in favor of https://github.com/AvengeMedia/dms-plugin-registry/issues/34 , add details as you see fit there.

We do not intend to add swww as a dependency/optional dependency, within the shell itself.

bbedward avatar Dec 08 '25 23:12 bbedward