Tuesday, June 24, 2025

Switching Wallpapers With Hyprpaper in Hyprland with ML4W Dotfiles on Fedora 42

 This post is immediate follow up for https://lxer.com/module/newswire/view/354995/index.html

Hyprpaper is a fast Wayland wallpaper utility, primarily designed for use with Hyprland, that supports dynamic wallpaper changes via Inter-Process Communication (IPC). It enables users to switch wallpapers quickly and efficiently through commands or scripts. While designed for Hyprland, it can also be used with other wlroots-based compositors. The "IPC" part refers to the mechanism that allows Hyprpaper to communicate with other programs and scripts, enabling real-time changes to the wallpaper.

Make sure that hyprpaper is running on the system










Add line ipc=true to .config/hypr/hyprpaper.conf and re-login into Hyprland session to restart hyprpaper with updated hyprpaper.conf .

The first thing to verify is getting `ps -ef | grep hypr` output :-

[boris@fedora ~]$ ps -ef | grep hypr

boris       2078       1  0 14:24 tty2     00:00:01 hyprpaper

boris       2184    1956  0 14:24 ?        00:00:00 /usr/libexec/xdg-desktop-portal-hyprland

boris       2667    2621  0 14:42 pts/0    00:00:00 grep hypr

Next step would be creating bash script switchWallpaper.sh as was advised in https://itsfoss.com/hyprpaper-hyprland/

#!/bin/bash

WALLPAPER_DIRECTORY=~/Pictures/Wallpapers

WALLPAPER=$(find "$WALLPAPER_DIRECTORY" -type f | shuf -n 1)

hyprctl hyprpaper preload "$WALLPAPER"

hyprctl hyprpaper wallpaper "Virtual-1,$WALLPAPER"

sleep 1

hyprctl hyprpaper unload unused

Execute script several times:-

































My attempt to reproduce same schema on openSUSE Tumbleweed failed due to :-

[boris@localhost ~]$ neofetch

        JJJJJJJJ                            boris@localhost

     JJJJJJJJJJJJJJ                         ---------------

   JJJJJJ   =JJJJJJJ                        OS: openSUSE Tumbleweed x86_64

  JJJJ      =JJJ JJJJ                       Host: KVM/QEMU (Standard PC (Q35 + ICH9, 2009) pc-q35-9.2)

  JJJ       =JJJ   JJJ                      Kernel: 6.15.2-1-default

 JJJJ       =JJJ   JJJ                      Uptime: 17 mins

 JJJJJJJJJJJJJJJ   JJJJ                     Packages: 50 (pip), 3230 (rpm), 7 (flatpak-system)

  JJJJJJJJJJJJJJ   JJJJ                     Shell: bash 5.2.37

  JJJJ             JJJJ                     Resolution: 1280x800

   JJJJJ=          JJJJ                     DE: Plasma 6.4.0 [KF 6.15.0] [Qt 6.9.1] (wayland)

     JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ=         WM: kwin_wayland_wr

       =JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ       Theme: Breeze [GTK2/3]

                   JJJJ         =JJJJJJ     Icons: breeze [GTK2/3]

                   JJJJ            =JJJJ    Cursor: breeze_cursors [GTK2/3]

                   JJJJ   JJJJJJJJJJJJJJ    Terminal: konsole

                   JJJJ   JJJJJJJJJJJJJJJ   CPU: 8x AMD Ryzen 7 3700X (1) @ 3.5GHz

                   JJJJ   JJJJ       JJJJ   GPU: Red Hat, Inc. Virtio 1.0 GPU

                    JJJ   JJJJ       JJJ    Memory: 2.62 GiB / 15.24 GiB (17%)

                    JJJJJ JJJJ      JJJJ    Network: Unknown

                     =JJJJJJJJ   JJJJJJ     BIOS: EDK II 0.0 (05/23/2025)

                       JJJJJJJJJJJJJJ

                          JJJJJJJ=

[boris@localhost ~]$ sudo zypper search -s hyprctl*

Refreshing service 'openSUSE'.

Loading repository data...

Reading installed packages...

No matching items found.

[boris@localhost ~]$ sudo zypper install hyprctl*

Refreshing service 'openSUSE'.

Loading repository data...

Reading installed packages...

'hyprctl*' not found in package names. Trying capabilities.

No provider of 'hyprctl*' found.

Resolving package dependencies...

Nothing to do.

========================================================

Tuning setup above on bare metal (Fedora 42 Server box, BenQ  1280x1024 detected by `hyperctl monitors` as VGA-1 )





































References

Getting Wallpapers Right With Hyprpaper in Hyprland

https://itsfoss.com/hyprpaper-hyprland/

No comments:

Post a Comment