rearrange hyprland config; change back to old waybar: adjust waybar colors; add btop
This commit is contained in:
54
waybar/scripts/theme-switcher.sh
Executable file
54
waybar/scripts/theme-switcher.sh
Executable file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
WAYBAR_CSS_DIR="$HOME/.config/waybar/themes/css"
|
||||
WAYBAR_CSS_FILE="$HOME/.config/waybar/theme.css"
|
||||
WAYBAR_JSONC_DIR="$HOME/.config/waybar/themes/jsonc"
|
||||
WAYBAR_JSONC_FILE="$HOME/.config/waybar/config.jsonc"
|
||||
ROFI_THEMES_DIR="$HOME/.config/rofi/themes"
|
||||
ROFI_THEME_FILE="$HOME/.config/rofi/theme.rasi"
|
||||
CURRENT_THEME_FILE="$HOME/.config/waybar/themes/current-theme"
|
||||
|
||||
for dir in "$WAYBAR_CSS_DIR" "$WAYBAR_JSONC_DIR" "$ROFI_THEMES_DIR"; do
|
||||
[[ ! -d "$dir" ]] && echo "Error: $dir not found" && exit 1
|
||||
done
|
||||
|
||||
# Get all themes
|
||||
waybar_css=("$WAYBAR_CSS_DIR"/*.css)
|
||||
waybar_jsonc=("$WAYBAR_JSONC_DIR"/*.jsonc)
|
||||
rofi_themes=("$ROFI_THEMES_DIR"/*.rasi)
|
||||
|
||||
if [[ ${#waybar_css[@]} -eq 0 || ${#waybar_jsonc[@]} -eq 0 || ${#rofi_themes[@]} -eq 0 ]]; then
|
||||
echo "Error: No themes found in one of the directories"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the current theme
|
||||
current_theme=$(cat "$CURRENT_THEME_FILE" 2>/dev/null || echo "")
|
||||
|
||||
# Find the index of the current theme
|
||||
next_theme_index=0
|
||||
for i in "${!waybar_css[@]}"; do
|
||||
[[ "${waybar_css[$i]}" == "$current_theme" ]] && next_theme_index=$(((i + 1) % ${#waybar_css[@]})) && break
|
||||
done
|
||||
|
||||
# Get the new theme
|
||||
new_waybar_css="${waybar_css[$next_theme_index]}"
|
||||
new_waybar_jsonc="${waybar_jsonc[$next_theme_index]}"
|
||||
new_rofi_theme="${rofi_themes[$next_theme_index]}"
|
||||
|
||||
# Save the new theme
|
||||
echo "$new_waybar_css" >"$CURRENT_THEME_FILE"
|
||||
|
||||
declare -A theme_files=(
|
||||
["$new_waybar_css"]="$WAYBAR_CSS_FILE"
|
||||
["$new_waybar_jsonc"]="$WAYBAR_JSONC_FILE"
|
||||
["$new_rofi_theme"]="$ROFI_THEME_FILE"
|
||||
)
|
||||
|
||||
for src in "${!theme_files[@]}"; do
|
||||
cp "$src" "${theme_files[$src]}"
|
||||
done
|
||||
|
||||
# Restart Waybar to apply changes
|
||||
killall waybar || true
|
||||
nohup waybar --config "$HOME/.config/waybar/config.jsonc" --style "$HOME/.config/waybar/style.css" >/dev/null 2>&1 &
|
||||
Reference in New Issue
Block a user