From 5bb4cb6d7138fcac012305b50f52ffd53f9bd2c2 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Wed, 14 Jan 2026 23:12:28 +0100 Subject: Add hyprtheme (based on omarchy themes) role with 2 themes --- roles/hyprtheme/files/scripts/theme-bg-next | 49 +++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 roles/hyprtheme/files/scripts/theme-bg-next (limited to 'roles/hyprtheme/files/scripts/theme-bg-next') diff --git a/roles/hyprtheme/files/scripts/theme-bg-next b/roles/hyprtheme/files/scripts/theme-bg-next new file mode 100644 index 00000000..c3259a45 --- /dev/null +++ b/roles/hyprtheme/files/scripts/theme-bg-next @@ -0,0 +1,49 @@ +#!/bin/bash + +# Cycles through the background images available + +THEMES_PATH="$HOME/.config/hyprthemes/" +THEME_BACKGROUNDS_PATH="$THEMES_PATH/current/backgrounds/" +CURRENT_BACKGROUND_LINK="$THEMES_PATH/current/background" + +mapfile -d '' -t BACKGROUNDS < <(find -L "$THEME_BACKGROUNDS_PATH" -maxdepth 1 -type f -print0 2>/dev/null | sort -z) +TOTAL=${#BACKGROUNDS[@]} + +if [[ $TOTAL -eq 0 ]]; then + notify-send "No background was found for theme" -t 2000 + pkill -x swaybg + setsid uwsm-app -- swaybg --color '#000000' >/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 -eq -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" + + # Relaunch swaybg + pkill -x swaybg + setsid uwsm-app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 & +fi -- cgit v1.2.3