add option to switch themes from the main menu

This commit is contained in:
ksyasuda 2022-01-31 23:29:32 -08:00
parent 7ae041e95a
commit a1576f1549

View File

@ -22,8 +22,8 @@ IS_ROFI=1
VERBOSE=0 VERBOSE=0
SILENT=0 SILENT=0
quit="6. Quit" quit="7. Quit"
options="1. Stream|2. Download|3. Continue|4. Play from File|5. Sync History|$quit" options="1. Stream|2. Download|3. Continue|4. Play from File|5. Sync History|6. Choose Theme|$quit"
theme=default theme=default
############# #############
@ -123,38 +123,10 @@ generate_span() {
printf "%s\n" "$span" printf "%s\n" "$span"
} }
parse_args() { set_theme() {
while getopts 'vhqcdf:-:t:T:CQ:D:S' OPT; do new_theme="$1"
case "$OPT" in lg "theme: $new_theme"
h) case "$new_theme" in
help_text
exit 0
;;
v)
VERBOSE=1
;;
q)
GET_QUALITY=1
lg "Quality prompt enabled"
;;
c)
IS_ROFI=0
lg "Command-line (ani-cli) mode set"
;;
d)
IS_DOWNLOAD=1
lg "Download flag set..."
;;
f)
IS_PLAY_FROM_FILE=1
play_path="$OPTARG"
lg "Play from file flag set... skipping main menu"
lg "PLAY_PATH: $play_path"
;;
t)
theme="$OPTARG"
lg "custom theme provided: $theme"
case "$theme" in
aniwrapper) aniwrapper)
lg "Default theme chosen... doing nothing" lg "Default theme chosen... doing nothing"
theme=default theme=default
@ -185,6 +157,39 @@ parse_args() {
;; ;;
esac esac
CFG_FILE="$CFG_DIR/themes/$ROFI_THEME" CFG_FILE="$CFG_DIR/themes/$ROFI_THEME"
}
parse_args() {
while getopts 'vhqcdf:-:t:T:CQ:D:S' OPT; do
case "$OPT" in
h)
help_text
exit 0
;;
v)
VERBOSE=1
;;
q)
GET_QUALITY=1
lg "Quality prompt enabled"
;;
c)
IS_ROFI=0
lg "Command-line (ani-cli) mode set"
;;
d)
IS_DOWNLOAD=1
lg "Download flag set..."
;;
f)
IS_PLAY_FROM_FILE=1
play_path="$OPTARG"
lg "Play from file flag set... skipping main menu"
lg "PLAY_PATH: $play_path"
;;
t)
theme="$OPTARG"
set_theme "$theme"
;; ;;
C) C)
lg "Connecting to history database -> $CFG_DIR/history.sqlite3" lg "Connecting to history database -> $CFG_DIR/history.sqlite3"
@ -248,7 +253,7 @@ check_flags() {
######## ########
main() { main() {
choice=$(echo "${options[@]}" | rofi -dpi "$DPI" -dmenu -only-match -sep '|' \ choice=$(echo "${options[@]}" | rofi -dpi "$DPI" -dmenu -only-match -sep '|' \
-config "$CFG_FILE" -l 6 -i -p "Aniwrapper") -config "$CFG_FILE" -l 7 -i -p "Aniwrapper")
[ "$choice" == "$quit" ] && quit [ "$choice" == "$quit" ] && quit
@ -320,9 +325,21 @@ main() {
fi fi
;; ;;
6.) 6.)
# --------------------------------------------------------------------------- # -----------------------------------------------------------------
# choose theme
# -----------------------------------------------------------------
[ -z "$THEMES" ] && seppuku "No themes provided... exiting"
choice=$(rofi -dmenu -config "$CFG_FILE" -dpi "$DPI" \
-only-match -l 4 -i -p "Choose theme: " -sep '|' \
-theme-str 'listview { columns: 2; }' <<< "$THEMES")
theme=$(awk '{ print $1 }' <<< "$choice")
set_theme "$theme"
main
;;
7.)
# -----------------------------------------------------------------
# get out # get out
# --------------------------------------------------------------------------- # -----------------------------------------------------------------
quit quit
;; ;;
*) *)