Important
The script may work in the using the normal pywal but it may fail to complete some steps of this script, so please use this fork of pywal called pywal16 in order to complete some steps in the script, also the wallpapers are not uploaded in the repo, so please configure the wallpaper directory first.
preview.mp4
The youtube video showcases realtime theme changing.
A sneakpeek to what I have been doing for a few days. While I was learning the Gtk GUI toolkit, at the same time rewriting parts code the code to python. If you are curious you can check it here, it is pretty much not done yet.
-
Finished
- Dialog configuration along with pywal options.
- Choose between
solid_colororimagein wallpaper setting. - Wallpaper setup options include [ fill, scale, max, fit, etc ]
- Pywal colors to some configurable programs.( as toml config arrays )
- Use a wallpaper folder or image in pywal16.
- Gtk theming based Flat-Remix-GTK as base theme.
- Icon theme colors based Flat-Remix icon pack.
- Reload gtk and icon themes using
xsettingd&gsettings.(only icon theme reloading in wayland) - Full Gif wallpaper support(please update to the latest pywal16 version).
-
Unfinished
- Gui config support using
python-gi(this is a bit challenging)
- Gui config support using
DEPENDENCIES
-
Required
yqpywal16imagemagick
-
Optional
python-gi[GUI configuration]kdialogDialog Configurationxsettingsd[reload_gtk & icons]libxapp-gtk3-module[gtk3 decorations]gtk2-engines-murrine[gtk2 support]- A wallpaper setter (optional):
fehhsetrootxwallpapernitrogenxgifwallpaper(gif wallpaper animations on x11)swaybgawww(gif wallpaper on wayland) ...
DISTRO
- Debian ( or Other Debian based distro )
sudo apt install kdialog pipx yq imagemagick xwallpaper
pipx install pywal16- Arch / AUR
# You can use something else that works for you like paru
yay -S kdialog pywal16 yq imagemagick xwallpaperRun the following commands in your terminal:
git clone --recursive https://github.com/aKqir24/walset.git
cd ~/walsetthen use these option to configure it:
bash walsetup.sh [OPTION]
--gui: To launch a configuration GUI and apply the configurations.
--setup: Show dialogs that sets up the configurations in order.
--theme [add, remove]: a gtk or/and icon theme template for pywal16.
You can add your custom theme repo by addind the 'CUSTOM_THEME_REPO' env.
-D | --debug: shows all the messages of this script.
-R | --reload: enables programs to reload after running pywal, eg.(gtk|icons|wm)
-r | --reset: To remove all set features, and set them all to default.
-V | --verbose: To show log messages when each step of the script is executed.
-h | --help: to show how to use this script.
-h | --help: to show how to use this script, (this is ignored sometimes ignored).
-L | --load: loads/applies the configurations.Note
Not all are covered like changing the values of a wm config file, in this script yet, so feel free to commit some improvements to it...
The config file is located in $HOME/.config/walset.toml.
Here is a sample config, I recommend to use it cause it is much easier to setup:
[wallpaper]
cycle = "iterative"
type = "image"
path = "/home/akqir24/Pictures/Wallpapers"
mode = "fill"
animated = true
[theming]
mode = "dark"
accent = "color2"
[theming.programs]
i3status_rust = "/home/akqir24/.files/.config/i3/status/config.toml"
alacritty = "/home/akqir24/.config/alacritty.toml"
rofi = "/home/akqir24/.config/rofi/config.rasi"
dunst = "/home/akqir24/.config/dunst/dunstrc"
[pywal16]
light = true
reload = true
backend = "wal"
colorscheme = "lighten"
deviantfero: wpgtk's templates for the gtk2/3 reference theme format.daniruiz: Flat-Remix-GTK for the gtk2,3,4 base theme.daniruiz: Flat-Remix-Icon_Pack for the base icon pack.eylles: build-gradience.py it helped me fixed the gtk4 issue.eylles: pywal16 which make this program possible.

