Skip to content
/ walset Public

A straight forward script that adds feautures to `pywal16` and makes the configuration much more easier.

License

Notifications You must be signed in to change notification settings

aKqir24/walset

Repository files navigation

A cute kitten

GitHub Release Codacy grade GitHub License

A bash script that expands the usage of pywal16's colors and to ease the configuration.

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.

FEATURES

  • Finished

    • Dialog configuration along with pywal options.
    • Pywal colors to some configurable programs. ( as toml config arrays )
    • Uses the pywal16 option to either have a wallpaper in a folder or just an image.
    • A wallpaper can be set either to solid_color or image
    • Support for animated gif wallpapersc ( Does not support some gifs | it is a pywal16 limitation )
    • Wallpaper setup options include [ fill, scale, max, fit, etc ]
    • Gtk theming based Flat-Remix-GTK as base theme.
    • Icon colors based Flat-Remix icon pack.
    • Reload gtk and icon themes using xsettingd & gsettings.
  • Unfinished

    • Gui config support using python-gi
    • Programs theming configs in --setup & --gui option.
    • Gif wallpaper support limitation fix.

SETUP

DEPENDENCIES

  • yq
  • pywal16
  • kdialog so to be python-gi
  • xsettingsd (optional)
  • imagemagick
  • A wallpaper setter (optional):
    • feh
    • hsetroot
    • xwallpaper
    • nitrogen
    • xgifwallpaper (for gif wallpaper animations)

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 xwallpaper

USAGE

Run the following commands in your terminal:

  git clone --recursive https://github.com/aKqir24/walset.git
  cd ~/walset

then 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.
  --reset: To remove all set features, and set them all to default.
  --verbose: To show log messages when each step of the script is executed.
  --help: to show how to use this script.
  --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...

CONFIG

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]
gtk = true
icons = true
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]
backend = "wal"
light = "true"
colorscheme = "darken"

SPEACIAL THANKS