介绍

hyprland 官方推荐的壁纸设置工具。

官方仓库

安装

sudo pacman -S hyprpaper

配置

这里需要自己创建一个配置文件:

vim ~/.config/hypr/hyprpaper.conf

设置一下:

# ~/.config/hypr/hyprpaper.conf
 
# 预加载图片到内存,这样切换壁纸时会更快
preload = /home/your_user/Pictures/Wallpapers/mountain.png
preload = /home/your_user/Pictures/Wallpapers/city.jpg
 
# 设置壁纸
# 语法是: wallpaper = [显示器名称], [图片路径]
# 显示器名称可以用 `hyprctl monitors` 命令查看
wallpaper = DP-1, /home/your_user/Pictures/Wallpapers/mountain.png
 
# 你可以为不同的显示器设置不同的壁纸
wallpaper = HDMI-A-1, /home/your_user/Pictures/Wallpapers/city.jpg
 
# 设置一个备用壁纸,用于未指定的显示器
# 注意第一个逗号前是空的
wallpaper = , /home/your_user/Pictures/Wallpapers/fallback.jpg
 
# (可选) 开启 IPC (进程间通信),允许你用命令行动态切换壁纸
ipc = on

设置自动启动

vim ~/.config/hypr/hyprland.conf

然后添加一下:

exec-once = hyprpaper &

切换壁纸

如果在 hyprpaper.conf 中设置了 ipc = on 就可以通过指令进行随时切换壁纸。

# 将 DP-1 显示器的壁纸更换为 space.png
hyprctl hyprpaper wallpaper "DP-1,/home/your_user/Pictures/Wallpapers/space.png"

当然,可以把这个指令绑定到 hyprland.conf 中的快捷键上,通过快捷键进行快速切换。

GIF

值得注意的是 hyprpaper 不支持 gif,要想用动态壁纸就用 hyprland设置动态壁纸

可能的问题

进入系统先闪出原始壁纸,然后才是 hyprpaper 设置的壁纸。

这就需要打开 hyprland.conf 文件,把其中的:

misc {
    disable_splash_rendering = true # 这个设置成true,默认是false
}

这就可以解决了。