Hyprland and the Variety wallpaper manager

I’ve just started experimenting with the Wayland compositor Hyprland and wanted to use my favorite wallpaper manager, Variety. Unfortunately, Variety does not support Hyprland out of the box. However, it’s easy to make it work also on Wayland.

I’m going to use Arch Linux in this blog post.

First of all, you must install “swaybg”, a wallpaper tool for Wayland compositors, and “variety”:

Now, start variety and do the first-time configuration. Currently, trying to change the wallpaper will not work.

Variety creates the directory “~/.config/variety/scripts”. Edit the file “set_wallpaper” inside that directory and search for the block starting like this:

Change it like that (you could also remove the part about SWAYSOCK if you want or if you don’t plan to use “sway” at all):

This relies on the XDG_CURRENT_DESKTOP environment variable to be set accordingly, which should be like that automatically; you might want to check that:

Restart Variety, and now you can change the wallpaper!

Stay tuned for more posts on Hyprland 🙂

 

9 thoughts on “Hyprland and the Variety wallpaper manager

  1. Pingback: Hyprland: getting started (part 1) | Lorenzo Bettini

  2. Mark

    Don’t forget to add ‘exec-once = variety &’ to your hyprland.conf so it starts up automatically the next time you start your computer 😉

    Reply
  3. Pingback: Variety 在 Hyprland 上如何运作? | 开发者交流平台

  4. Jason

    I decided to go a different route. I wanted to use swww, because of its effects. So I added this to the script:

    #hyprland
    if pgrep -x “Hyprland” > /dev/null; then
    echo “hyprland is running”
    swww init
    swww img $WP \
    –transition-bezier .43,1.19,1,.4 \
    –transition-fps=60 \
    –transition-type=random \
    –transition-duration=0.7 \
    –transition-pos “$( hyprctl cursorpos )”
    fi

    Reply
  5. Dmitry

    Variety 0.8.12-1

    Make the following change to the script at line #232 to ensure it functions correctly:


    PID=
    pidof swaybg
    if [[ -n $PID || $XDG_CURRENT_DESKTOP == "Hyprland" ]]; then

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.