#!/bin/bash THEMES_DIR="$HOME/.config/omarchy/themes/" CURRENT_THEME_LINK="$HOME/.config/omarchy/current-theme" THEMES=($(find "$THEMES_DIR" -mindepth 1 | sort)) TOTAL=${#THEMES[@]} # Get current theme from symlink if [[ -L "$CURRENT_THEME_LINK" ]]; then CURRENT_THEME=$(readlink "$CURRENT_THEME_LINK") else # Default to first theme if no symlink exists CURRENT_THEME=${THEMES[0]} fi # Find current theme index INDEX=0 for i in "${!THEMES[@]}"; do if [[ "${THEMES[$i]}" == "$CURRENT_THEME" ]]; then INDEX=$i break fi done # Get next theme (wrap around) NEXT_INDEX=$(((INDEX + 1) % TOTAL)) NEW_THEME=${THEMES[$NEXT_INDEX]} NEW_THEME_NAME=$(basename "$NEW_THEME") # Install theme backgrounds source ~/.config/omarchy/current-theme/backgrounds.sh ln -nsf ~/.config/omarchy/backgrounds/$NEW_THEME_NAME ~/.config/omarchy/current-backgrounds # Set new theme ln -nsf $NEW_THEME ~/.config/omarchy/current-theme # Touch alacritty config to pickup the changed theme touch ~/.config/alacritty/alacritty.toml # Restart apps for new theme pkill -SIGRTMIN+10 waybar swaybg-next