Files
dotfiles/script/omarchy-theme-bg-next
T
gitadmin d637a2c72a refactor: migrate to template-based theme system, clean up old per-theme configs
- Remove per-theme app configs (alacritty, foot, ghostty, hyprland,
  hyprlock, mako, rofi, swayosd, tmux, walker, waybar, etc.) now
  handled by default/themed/ templates
- Update omarchy scripts (bg-next, list, set) for new template flow
- Update configs: bootstrap, nvim, rofi, tmux, mako
- Tweak installers (02-install-base.sh, btop, desktop, goose, nvim,
  obsidian, theme, tmux)
- Remove obsolete hyprland-rofi-* and hyprland-walker-* scripts
- Update neovim.lua across remaining themes
2026-07-08 15:31:29 -04:00

49 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# omarchy:summary=Cycle to the next background for the current theme
# omarchy:examples=omarchy theme bg next
THEME_NAME=$(cat "$HOME/.config/omarchy/current/theme.name" 2>/dev/null)
THEME_BACKGROUNDS_PATH="$HOME/.config/omarchy/current/theme/backgrounds/"
USER_BACKGROUNDS_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME/"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
mapfile -d '' -t BACKGROUNDS < <(find -L "$USER_BACKGROUNDS_PATH" "$THEME_BACKGROUNDS_PATH" -maxdepth 1 -type f -print0 2>/dev/null | sort -z)
TOTAL=${#BACKGROUNDS[@]}
if (( TOTAL == 0 )); then
notify-send "No background was found for theme" -t 2000
setsid uwsm app -- awww clear >/dev/null 2>&1 &
else
# Get current background from symlink
if [[ -L $CURRENT_BACKGROUND_LINK ]]; then
CURRENT_BACKGROUND=$(readlink "$CURRENT_BACKGROUND_LINK")
else
# Default to first background if no symlink exists
CURRENT_BACKGROUND=""
fi
# Find current background index
INDEX=-1
for i in "${!BACKGROUNDS[@]}"; do
if [[ ${BACKGROUNDS[$i]} == $CURRENT_BACKGROUND ]]; then
INDEX=$i
break
fi
done
# Get next background (wrap around)
if (( INDEX == -1 )); then
# Use the first background when no match was found
NEW_BACKGROUND="${BACKGROUNDS[0]}"
else
NEXT_INDEX=$(((INDEX + 1) % TOTAL))
NEW_BACKGROUND="${BACKGROUNDS[$NEXT_INDEX]}"
fi
# Set new background symlink
ln -nsf "$NEW_BACKGROUND" "$CURRENT_BACKGROUND_LINK"
setsid uwsm app -- awww img "$CURRENT_BACKGROUND_LINK" >/dev/null 2>&1 &
fi