← Back to blog

Wallpaper-driven theme switcher

NeurAlch

Wallpaper-driven theme switcher

I created a small Fish alias ,tw ( theme-switch --wallpaper). It launches an fzf picker inside Kitty, previews every image in ~/Wallpapers, and lets me lock in the mood based on the image I choose.

Behind the scenes the script hands the chosen file to pywal, grabs the generated 16-color palette, and feeds it to a helper that rewrites all my theme snippets (Hyprland, Waybar, Kitty, Walker, btop, mako, swayosd, etc.).

The fresh palette is saved as a new theme directory, the wallpaper is set via hyprpaper, and the regular theme-switch routine copies everything into place before reloading.

,tw  # pick wallpaper → extract palette → theme everything → reload

fzf wallpaper picker with matching desktop theme

Notes

  • I generate my Wallpaper images with MidJourney
  • I started using Kitty because of the image support (and ligatures).
  • The inspiration came from Aether (for Omarchy) tool.