[BUG] Waypaper doesn’t retain wallpaper, and Rofi shows theme warning
Describe the bug
Hi,
First, thanks a lot for your great work on this project!
I’ve been experiencing a persistent bug that I’d like to report so I can get some help.
System info :
- OS: Arch Linux (fully up to date)
- Dotfiles version: latest version from this repository
Issues
- Waypaper starts automatically at every boot, and always asks me to choose a wallpaper — it never remembers my previous selection.
- The wallpaper applies temporarily, but it resets on reboot.
- When I change my theme using
waybar, everything looks fine, but I get this warning from Rofi on startup:
The following warnings were detected when starting rofi:
Validating the theme failed: the variable 'current-image' in `mainbox { background-image: var(current-image); }` failed to resolve.
Steps to reproduce
Just launch Hyprland
Expected behavior
What I’m hoping for :
- Is there a way to make Waypaper remember the selected wallpaper?
- Should I disable its autostart? If so, how?
- Could the Rofi theme be made more robust by checking if
current-imageis defined before using it?
Thanks in advance for your help — and again, great work on this project!
Screenshots
Distribution
Arch Linux
If Other, specify
No response
Additional context
No response
Code of Conduct
- [x] I agree to follow this project's Code of Conduct
@Firebleudark Did you run ml4w-hyprland-setup after updating?
Yeah !
I FIXED the issue. SEE issue #938
I tried your solution and it only works partially. The wallpaper selection application no longer launches at startup. However, I now have a black desktop background and I can't set my wallpaper anymore - the application simply doesn't work at all.
I tried your solution and it only works partially. The wallpaper selection application no longer launches at startup. However, I now have a black desktop background and I can't set my wallpaper anymore - the application simply doesn't work at all.
Can you send me your config.ini
Yeah of course. This is my file without modification :
[Settings]
language = en
folder = ~/wallpaper
monitors = All
wallpaper = ~/wallpaper/astronaut_jellyfish.jpg
backend = hyprpaper
fill = fill
sort = name
color = #ffffff
subfolders = False
show_hidden = False
show_gifs_only = False
show_transition_options = True
post_command =
number_of_columns = 3
swww_transition_type = any
swww_transition_step = 90
swww_transition_angle = 0
swww_transition_duration = 2
swww_transition_fps = 60
use_xdg_state = False
show_path_in_tooltip = True
all_subfolders = False
mpvpaper_sound = False
mpvpaper_options =
zen_mode = False
Yeah of course. This is my file without modification :
[Settings] language = en folder = ~/wallpaper monitors = All wallpaper = ~/wallpaper/astronaut_jellyfish.jpg backend = hyprpaper fill = fill sort = name color = #ffffff subfolders = False show_hidden = False show_gifs_only = False show_transition_options = True post_command = number_of_columns = 3 swww_transition_type = any swww_transition_step = 90 swww_transition_angle = 0 swww_transition_duration = 2 swww_transition_fps = 60 use_xdg_state = False show_path_in_tooltip = True all_subfolders = False mpvpaper_sound = False mpvpaper_options = zen_mode = False
Try using post_command = $HOME/.config/hypr/scripts/wallpaper.sh "$wallpaper". This time variable is in double quotes. And after modification, open the terminal and run waypaer from it and send me the output. See if there is some error or something.
Try running ~/dotfiles/.config/hypr/scripts/wallpaper.sh ~/wallpaper/city_bridge.jpg in the terminal. See if it generates the colors properly and if the rofi error is still there.
After the modifications, the error has indeed disappeared and the color for waybar has been properly modified. However, this was not the case for the terminal. And every time I restart my PC, I always get the same black background and I have to manually reset my wallpaper each time.
Try running
~/dotfiles/.config/hypr/scripts/wallpaper.sh ~/wallpaper/city_bridge.jpgin the terminal. See if it generates the colors properly and if the rofi error is still there.
Give me the output of this command.
❯❯ /home/firebleu : ~/dotfiles/.config/hypr/scripts/wallpaper.sh ~/wallpaper/apple-waves1.jpg
:: Using Wallpaper Cache
:: Setting wallpaper with source image /home/firebleu/wallpaper/apple-waves1.jpg
:: Path of current wallpaper copied to /home/firebleu/.config/ml4w/cache/current_wallpaper
:: Wallpaper Filename: apple-waves1.jpg
:: Wallpaper effect is set to off
:: Execute matugen with /home/firebleu/wallpaper/apple-waves1.jpg
ok
:: Execute wallust with /home/firebleu/wallpaper/apple-waves1.jpg
/home/firebleu/dotfiles/.config/hypr/scripts/wallpaper.sh: line 118: /home/firebleu/.cargo/bin/wallust: No such file or directory
:: Theme: /ml4w-modern
:: Dock disabled
CSS reload success: true
:: Use cached wallpaper blur-50x30-off-apple-waves1.jpg
:: Generate new cached wallpaper square-apple-waves1.jpg
[2025-06-01 10:36:16.308] [info] Using configuration file /home/firebleu/.config/waybar/themes/ml4w-modern/config
[2025-06-01 10:36:16.310] [info] Including resource file: ~/.config/ml4w/settings/waybar-quicklinks.json
[2025-06-01 10:36:16.311] [info] Including resource file: ~/.config/waybar/modules.json
[2025-06-01 10:36:16.316] [info] Discovered appearance 'dark'
[2025-06-01 10:36:16.316] [info] Using CSS file /home/firebleu/.config/waybar/themes/ml4w-modern/colored/style.css
[2025-06-01 10:36:16.329] [info] Hyprland IPC starting
[2025-06-01 10:36:16.331] [info] Loading persistent workspaces from Waybar config
[2025-06-01 10:36:16.331] [info] Loading persistent workspaces from Hyprland workspace rules
[2025-06-01 10:36:16.514] [error] Failed to query power-profiles-daemon via dbus: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer 'net.hadess.PowerProfiles': activation request failed: unit is masked
[2025-06-01 10:36:16.840] [info] Bar configured (width: 1892, height: 35) for output: eDP-1
Btw when I add this : post_command = $HOME/.config/hypr/scripts/wallpaper.sh "$wallpaper" in my config.ini file and I launch the wallpaper app I get errors : File "/usr/bin/waypaper", line 5, in <module> from waypaper.__main__ import run File "/usr/lib/python3.13/site-packages/waypaper/__main__.py", line 22, in <module> cf.read() ~~~~~~~^^ File "/usr/lib/python3.13/site-packages/waypaper/config.py", line 83, in read config.read(self.config_file, 'utf-8') ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/configparser.py", line 735, in read self._read(fp, filename) ~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3.13/configparser.py", line 1050, in _read ParsingError._raise_all(self._read_inner(fp, fpname)) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^ File "/usr/lib/python3.13/configparser.py", line 1079, in _read_inner self._handle_rest(st, line, fpname) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/configparser.py", line 1105, in _handle_rest self._handle_header(st, mo.group('header'), fpname) if mo else self._handle_option(st, line, fpname) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/configparser.py", line 1144, in _handle_option raise DuplicateOptionError(st.sectname, st.optname, fpname, st.lineno) configparser.DuplicateOptionError: While reading from PosixPath('/home/firebleu/.config/waypaper/config.ini') [line 27]: option 'post_command' in section 'Settings' already exists
It says that the post_command function is repeating. Make sure that there is only one post_command function in the config file and that will be the new line that i added.
Yeah of course. This is my file without modification :
[Settings] language = en folder = ~/wallpaper monitors = All wallpaper = ~/wallpaper/astronaut_jellyfish.jpg backend = hyprpaper fill = fill sort = name color = #ffffff subfolders = False show_hidden = False show_gifs_only = False show_transition_options = True post_command = number_of_columns = 3 swww_transition_type = any swww_transition_step = 90 swww_transition_angle = 0 swww_transition_duration = 2 swww_transition_fps = 60 use_xdg_state = False show_path_in_tooltip = True all_subfolders = False mpvpaper_sound = False mpvpaper_options = zen_mode = False
make sure you remove the line that already says" post_command = " and replace it completely with new line.
Oh yeah my bad ! Now everything is ok !