mirror of
https://github.com/danbulant/dotfiles
synced 2026-06-08 17:20:53 +00:00
48 lines
947 B
Bash
Executable file
48 lines
947 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
## Copyright (C) 2020-2022 Aditya Shakya <adi1090x@gmail.com>
|
|
|
|
# Import Current Theme
|
|
DIR="$HOME/.config/themes"
|
|
STYLE="easy"
|
|
RASI="$DIR/$STYLE/rofi/themes.rasi"
|
|
hypr="$HOME/.config/hypr/hyprland.conf"
|
|
|
|
# List Available Themes
|
|
THEMES=(`cd $DIR && ls -d */ | cut -d '/' -f1`)
|
|
|
|
# Theme Elements
|
|
prompt="Themes"
|
|
mesg="<b>Available Themes</b> : `cd $DIR && ls -d */ | cut -d '/' -f1 | wc -l`"
|
|
|
|
# Rofi CMD
|
|
rofi_cmd() {
|
|
rofi -dmenu \
|
|
-p "$prompt" \
|
|
-mesg "$mesg" \
|
|
-sep '|' \
|
|
-markup-rows \
|
|
-theme ${RASI}
|
|
}
|
|
|
|
# Pass variables to rofi dmenu
|
|
run_rofi() {
|
|
echo ${THEMES[@]} | sed 's/ /|/g' | sed 's/$/|/' | rofi_cmd
|
|
}
|
|
|
|
# Apply Theme
|
|
apply_theme() {
|
|
selected="`run_rofi`"
|
|
current="`cat $DIR/.current`"
|
|
|
|
for theme in "${THEMES[@]}"; do
|
|
if [[ -z "$selected" ]]; then
|
|
break
|
|
elif [[ "$selected" == "$theme" ]]; then
|
|
sed -i "$hypr" -e "s/\$theme = .*/\$theme = $theme/g"
|
|
break
|
|
fi
|
|
done
|
|
}
|
|
|
|
apply_theme && exit 0
|