Wayflipper is a Bash utility to flip between Waybar themes on Omarchy/Hyprland setups. It updates Waybar by symlinking a theme’s config.jsonc and style.css into ~/.config/waybar, plus any optional theme subdirectories (such as assets/ or scripts/).
- Active config:
~/.config/waybar/config.jsonc(symlink) - Active style:
~/.config/waybar/style.css(symlink) - Themes root (default):
~/.config/waybar/themes/<theme-name>/{config.jsonc,style.css} - Optional theme subdirectories (e.g.,
assets/,scripts/, or other folders) are symlinked into~/.config/waybar/with the same name. - Config file:
~/.wayflipper
Create the themes directory if it does not exist:
mkdir -p ~/.config/waybar/themesWayflipper creates ~/.wayflipper on first run with a default themes directory:
themes_dir=~/.config/waybar/themes
You can edit this file to point at a different themes location. If you set
WAYFLIPPER_THEMES_DIR, it overrides the config file.
If ~/.config/waybar/config.jsonc or ~/.config/waybar/style.css are regular files,
Wayflipper moves them into a theme named existing-backup under themes_dir before
creating symlinks. This is a one-time safety move so you can switch back later.
If a theme adds extra subdirectories, Wayflipper removes those symlinks when switching
to a new theme unless the new theme provides the same subdirectory.
It’s a good idea to save your current Waybar configuration before experimenting:
mkdir -p ~/.config/waybar/themes/default
cp -p ~/.config/waybar/config.jsonc ~/.config/waybar/themes/default/config.jsonc
cp -p ~/.config/waybar/style.css ~/.config/waybar/themes/default/style.cssYou can then switch back with wayflipper default.
Place the wayflipper script somewhere on your PATH (or run it directly from this repo):
chmod +x wayflipper
# Optionally move it into a bin directory you own:
mv wayflipper ~/.local/bin/wayflipper <theme-name> [--dry-run]
wayflipper --list
wayflipper --version
wayflipper --help
wayflipper --browse [--dry-run] [--browse-once]
-l,--listList themes found inthemes_dir(default~/.config/waybar/themes)-b,--browseInteractive selector for themes (fzf stays open after applying; Ctrl-Q quits; otherwise a numbered prompt)--browse-onceExit after applying a selection in browse mode--dry-runShow what would run without changing anything-v,--versionShow the script version-h,--helpShow usage
- List available themes:
wayflipper --list - Preview a switch:
wayflipper V6.e --dry-run - Apply a theme:
wayflipper V6.e - Browse and apply interactively:
wayflipper --browse - Browse once (no UI reopen):
wayflipper --browse-once
- The script calls
omarchy-restart-waybarafter applying a theme. Ensure it is installed and available inPATH; otherwise the script exits with an error. - In
--dry-run, it only reports the command it would run.