mirror of
https://github.com/ksyasuda/aniwrapper.git
synced 2024-11-22 03:19:53 -08:00
add dracula type theme and update script to accept theme arg
This commit is contained in:
parent
ddf2de4fe8
commit
952519de8b
20
README.md
20
README.md
@ -186,13 +186,19 @@ aniwrapper -q
|
|||||||
# Enable verbose logging
|
# Enable verbose logging
|
||||||
aniwrapper -v
|
aniwrapper -v
|
||||||
|
|
||||||
|
# Choose rofi theme from presets
|
||||||
|
aniwrapper -t [aniwrapper (default)|dracula|hidpi]
|
||||||
|
|
||||||
|
# Specify starting directory for play_from_file mode, bypassing main menu
|
||||||
|
aniwrapper -f <starting_directory> (no trailing slash in path)
|
||||||
|
|
||||||
# Use ani-cli command-line mode (rofi disabled)
|
# Use ani-cli command-line mode (rofi disabled)
|
||||||
aniwrapper -c
|
aniwrapper -c
|
||||||
|
|
||||||
# Download anime in command-line mode
|
# Download anime in command-line mode
|
||||||
aniwrapper -d
|
aniwrapper -d
|
||||||
|
|
||||||
# All flags can be used in command-line mode as well
|
# All flags can be used in command-line mode as well (except -f)
|
||||||
# ex. The following command will launch aniwrapper in command-line download mode with quality selection
|
# ex. The following command will launch aniwrapper in command-line download mode with quality selection
|
||||||
aniwrapper -cqd
|
aniwrapper -cqd
|
||||||
```
|
```
|
||||||
@ -234,6 +240,9 @@ At the moment, the requirements are as follows:
|
|||||||
# watch anime
|
# watch anime
|
||||||
ani-cli <query>
|
ani-cli <query>
|
||||||
|
|
||||||
|
# verbose logging
|
||||||
|
ani-cli -v
|
||||||
|
|
||||||
# download anime
|
# download anime
|
||||||
ani-cli -d <download_directory>
|
ani-cli -d <download_directory>
|
||||||
|
|
||||||
@ -243,6 +252,15 @@ ani-cli -H
|
|||||||
# sync history across devices
|
# sync history across devices
|
||||||
ani-cli -s
|
ani-cli -s
|
||||||
|
|
||||||
|
# choose quality
|
||||||
|
ani-cli -q [high|normal (default)|low]
|
||||||
|
|
||||||
|
# choose rofi theme from presets
|
||||||
|
ani-cli -t [aniwrapper (default)|dracula|hidpi]
|
||||||
|
|
||||||
|
# Specify starting directory for play_from_file mode (does not work with -c)
|
||||||
|
ani-cli -f <starting_directory> (no trailing slash in path)
|
||||||
|
|
||||||
# run ani-cli in command-line mode (rofi disabled)
|
# run ani-cli in command-line mode (rofi disabled)
|
||||||
ani-cli -c
|
ani-cli -c
|
||||||
```
|
```
|
||||||
|
41
ani-cli
41
ani-cli
@ -7,8 +7,10 @@ CFG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/aniwrapper"
|
|||||||
HISTORY_DB="$CFG_DIR/history.sqlite3"
|
HISTORY_DB="$CFG_DIR/history.sqlite3"
|
||||||
ANIWRAPPER_ICON_PATH="$CFG_DIR/icons/icon-64.png"
|
ANIWRAPPER_ICON_PATH="$CFG_DIR/icons/icon-64.png"
|
||||||
MAISAN_ICON_PATH="$CFG_DIR/icons/MYsan.png"
|
MAISAN_ICON_PATH="$CFG_DIR/icons/MYsan.png"
|
||||||
ROFI_CFG="aniwrapper.rasi"
|
ROFI_THEME="aniwrapper.rasi"
|
||||||
PLAYER_CMD="mpv -config-dir ${XDG_CONFIG_HOME:-$HOME/.config}/mpv"
|
ROFI_CFG="$CFG_DIR/themes/$ROFI_THEME"
|
||||||
|
PLAYER_CMD="mpv"
|
||||||
|
THEMES="aniwrapper (default)|dracula|hidpi"
|
||||||
|
|
||||||
# dependencies: grep, sed, curl, video_player, rofi, sqlite3
|
# dependencies: grep, sed, curl, video_player, rofi, sqlite3
|
||||||
# video_player ( needs to be able to play urls )
|
# video_player ( needs to be able to play urls )
|
||||||
@ -378,7 +380,7 @@ find_media() {
|
|||||||
|
|
||||||
span=$(generate_span "Current directory: $inp")
|
span=$(generate_span "Current directory: $inp")
|
||||||
inputlist=$(generate_inputlist "$inp")
|
inputlist=$(generate_inputlist "$inp")
|
||||||
selection=$(rofi -dmenu -only-match -config "$CFG_DIR/$ROFI_CFG" \
|
selection=$(rofi -dmenu -only-match -config "$ROFI_CFG" \
|
||||||
-l 13 -i -sep '|' -mesg "$span" -p "Enter selection" <<< "${inputlist[@]}")
|
-l 13 -i -sep '|' -mesg "$span" -p "Enter selection" <<< "${inputlist[@]}")
|
||||||
|
|
||||||
if [ -z "$selection" ] || [ "$selection" = "Quit" ]; then
|
if [ -z "$selection" ] || [ "$selection" = "Quit" ]; then
|
||||||
@ -408,7 +410,7 @@ get_search_query() {
|
|||||||
if [ -z "$*" ] && [ "$is_rofi" -eq 1 ]; then
|
if [ -z "$*" ] && [ "$is_rofi" -eq 1 ]; then
|
||||||
query=$(rofi -dmenu -l 12 -p "Search Anime:" \
|
query=$(rofi -dmenu -l 12 -p "Search Anime:" \
|
||||||
-mesg "$span" \
|
-mesg "$span" \
|
||||||
-config "$CFG_DIR/$ROFI_CFG" <<< "${hist[@]}")
|
-config "$ROFI_CFG" <<< "${hist[@]}")
|
||||||
# Remove the id from the query
|
# Remove the id from the query
|
||||||
query="${query//[1-9]*\. /}"
|
query="${query//[1-9]*\. /}"
|
||||||
# query="${query// /}"
|
# query="${query// /}"
|
||||||
@ -469,7 +471,7 @@ anime_selection() {
|
|||||||
# get the anime from indexed list
|
# get the anime from indexed list
|
||||||
msg="<span foreground='peachpuff' style='italic' size='small' weight='normal'>Query: $query</span>"
|
msg="<span foreground='peachpuff' style='italic' size='small' weight='normal'>Query: $query</span>"
|
||||||
user_input=$(printf "${menu[@]}" |
|
user_input=$(printf "${menu[@]}" |
|
||||||
rofi -dmenu -config "$CFG_DIR/${ROFI_CFG}" \
|
rofi -dmenu -config "$ROFI_CFG" \
|
||||||
-a "$searched" \
|
-a "$searched" \
|
||||||
-l 12 -i -p "Enter selection:" \
|
-l 12 -i -p "Enter selection:" \
|
||||||
-mesg "$msg" -only-match)
|
-mesg "$msg" -only-match)
|
||||||
@ -571,7 +573,7 @@ episode_selection() {
|
|||||||
-a "$watch_history" \
|
-a "$watch_history" \
|
||||||
-p "Select Episode [1, $last_ep_number]:" \
|
-p "Select Episode [1, $last_ep_number]:" \
|
||||||
-mesg "$msg" \
|
-mesg "$msg" \
|
||||||
-config "$CFG_DIR/${ROFI_CFG}"
|
-config "$ROFI_CFG"
|
||||||
)
|
)
|
||||||
ep_choice_start=$(printf '%s\n' "${choice}" | awk '{print $1}')
|
ep_choice_start=$(printf '%s\n' "${choice}" | awk '{print $1}')
|
||||||
ep_choice_end=$(printf '%s\n' "${choice}" | awk '{print $NF}')
|
ep_choice_end=$(printf '%s\n' "${choice}" | awk '{print $NF}')
|
||||||
@ -704,7 +706,7 @@ is_rofi=1
|
|||||||
is_download=0
|
is_download=0
|
||||||
download_dir="."
|
download_dir="."
|
||||||
half_ep=0
|
half_ep=0
|
||||||
while getopts 'hd:Hsvq:c-:f:' OPT; do
|
while getopts 'hd:Hsvq:c-:f:t:' OPT; do
|
||||||
case "$OPT" in
|
case "$OPT" in
|
||||||
h)
|
h)
|
||||||
help_text
|
help_text
|
||||||
@ -746,7 +748,30 @@ while getopts 'hd:Hsvq:c-:f:' OPT; do
|
|||||||
scrape="file"
|
scrape="file"
|
||||||
play_dir="$OPTARG"
|
play_dir="$OPTARG"
|
||||||
;;
|
;;
|
||||||
|
t)
|
||||||
|
theme="$OPTARG"
|
||||||
|
case "$theme" in
|
||||||
|
aniwrapper)
|
||||||
|
ROFI_THEME=aniwrapper.rasi
|
||||||
|
;;
|
||||||
|
dracula)
|
||||||
|
ROFI_THEME=aniwrapper-dracula.rasi
|
||||||
|
;;
|
||||||
|
hidpi)
|
||||||
|
ROFI_THEME=aniwrapper-hidpi.rasi
|
||||||
|
;;
|
||||||
|
default)
|
||||||
|
ROFI_THEME=aniwrapper.rasi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log "$1 not a valid theme file. Themes: [$THEMES]"
|
||||||
|
ROFI_THEME=aniwrapper.rasi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
log "Setting theme for ani-cli -> $ROFI_THEME"
|
||||||
|
ROFI_CFG="$CFG_DIR/themes/$ROFI_THEME"
|
||||||
|
log "ROFI_CFG: $ROFI_CFG"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
printf "%s\n" "Invalid option"
|
printf "%s\n" "Invalid option"
|
||||||
exit 1
|
exit 1
|
||||||
|
61
aniwrapper
61
aniwrapper
@ -8,9 +8,11 @@ set -Eeo pipefail
|
|||||||
CMD="/usr/bin/ani-cli"
|
CMD="/usr/bin/ani-cli"
|
||||||
DEFAULT_DOWNLOAD="$HOME/Videos/sauce"
|
DEFAULT_DOWNLOAD="$HOME/Videos/sauce"
|
||||||
CFG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/aniwrapper"
|
CFG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/aniwrapper"
|
||||||
CFG_FILE="aniwrapper.rasi"
|
ROFI_THEME="aniwrapper.rasi"
|
||||||
|
CFG_FILE="$CFG_DIR/themes/$ROFI_THEME"
|
||||||
QUALITIES="1. high|2. normal (default)|3. low"
|
QUALITIES="1. high|2. normal (default)|3. low"
|
||||||
QUALITY=normal
|
QUALITY=normal
|
||||||
|
THEMES="aniwrapper (default)|dracula|hidpi"
|
||||||
GET_QUALITY=0
|
GET_QUALITY=0
|
||||||
VERBOSE=0
|
VERBOSE=0
|
||||||
IS_ROFI=1
|
IS_ROFI=1
|
||||||
@ -19,6 +21,7 @@ IS_PLAY_FROM_FILE=0
|
|||||||
|
|
||||||
quit="6. Quit"
|
quit="6. 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|$quit"
|
||||||
|
theme=default
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# Functions #
|
# Functions #
|
||||||
@ -40,15 +43,17 @@ quit() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
run() {
|
run() {
|
||||||
if [[ "$GET_QUALITY" -eq 1 ]]; then
|
if [[ "$IS_PLAY_FROM_FILE" -eq 0 ]]; then
|
||||||
get_quality
|
if [[ "$GET_QUALITY" -eq 1 ]]; then
|
||||||
else
|
get_quality
|
||||||
log "QUALITY flag not set... using default -> $QUALITY"
|
else
|
||||||
|
log "QUALITY flag not set... using default -> $QUALITY"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ "$VERBOSE" -eq 0 ]]; then
|
if [[ "$VERBOSE" -eq 0 ]]; then
|
||||||
"$CMD" -q "$QUALITY" "$*"
|
"$CMD" -q "$QUALITY" -t "$theme" "$*"
|
||||||
else
|
else
|
||||||
"$CMD" -q "$QUALITY" -v "$*"
|
"$CMD" -q "$QUALITY" -t "$theme" -v "$*"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,7 +66,7 @@ create_default_download() {
|
|||||||
|
|
||||||
get_quality() {
|
get_quality() {
|
||||||
if [ "$IS_ROFI" -eq 1 ]; then
|
if [ "$IS_ROFI" -eq 1 ]; then
|
||||||
selection=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
|
selection=$(rofi -dmenu -config "$CFG_FILE" \
|
||||||
-l 3 -selected-row 1 \
|
-l 3 -selected-row 1 \
|
||||||
-theme-str 'listview {columns: 1;}' -p "Choose video quality:" \
|
-theme-str 'listview {columns: 1;}' -p "Choose video quality:" \
|
||||||
-sep '|' <<< "$QUALITIES")
|
-sep '|' <<< "$QUALITIES")
|
||||||
@ -84,7 +89,7 @@ generate_span() {
|
|||||||
########
|
########
|
||||||
# Main #
|
# Main #
|
||||||
########
|
########
|
||||||
while getopts 'vhqcdf:-:' OPT; do
|
while getopts 'vhqcdf:-:t:' OPT; do
|
||||||
case "$OPT" in
|
case "$OPT" in
|
||||||
h)
|
h)
|
||||||
help_text
|
help_text
|
||||||
@ -110,6 +115,28 @@ while getopts 'vhqcdf:-:' OPT; do
|
|||||||
log "Play from file flag set... skipping main menu"
|
log "Play from file flag set... skipping main menu"
|
||||||
log "PLAY_PATH: $play_path"
|
log "PLAY_PATH: $play_path"
|
||||||
;;
|
;;
|
||||||
|
t)
|
||||||
|
theme="$OPTARG"
|
||||||
|
log "custom theme provided: $theme"
|
||||||
|
case "$theme" in
|
||||||
|
aniwrapper)
|
||||||
|
log "Default theme chosen... doing nothing"
|
||||||
|
theme=default
|
||||||
|
;;
|
||||||
|
dracula)
|
||||||
|
log "Chaning theme to dracula..."
|
||||||
|
ROFI_THEME=aniwrapper-dracula.rasi
|
||||||
|
;;
|
||||||
|
hidpi)
|
||||||
|
ROFI_THEME=aniwrapper-hidpi.rasi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
log "$1 not a valid theme file. Themes: [$THEMES]"
|
||||||
|
theme=default
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
CFG_FILE="$CFG_DIR/themes/$ROFI_THEME"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
log "Invalid option"
|
log "Invalid option"
|
||||||
exit 1
|
exit 1
|
||||||
@ -118,6 +145,7 @@ while getopts 'vhqcdf:-:' OPT; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
log "CONFIG DIR: $CFG_DIR"
|
log "CONFIG DIR: $CFG_DIR"
|
||||||
|
log "ROFI CFG: $CFG_FILE"
|
||||||
|
|
||||||
# Check if command-line flag is set
|
# Check if command-line flag is set
|
||||||
if [[ "$IS_ROFI" -eq 0 ]] && [[ "$IS_DOWNLOAD" -eq 0 ]]; then
|
if [[ "$IS_ROFI" -eq 0 ]] && [[ "$IS_DOWNLOAD" -eq 0 ]]; then
|
||||||
@ -139,7 +167,7 @@ fi
|
|||||||
# Main
|
# Main
|
||||||
# -------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------
|
||||||
choice=$(echo "${options[@]}" | rofi -dmenu -only-match -sep '|' \
|
choice=$(echo "${options[@]}" | rofi -dmenu -only-match -sep '|' \
|
||||||
-config "$CFG_DIR/$CFG_FILE" -l 6 -i -p "Aniwrapper")
|
-config "$CFG_FILE" -l 6 -i -p "Aniwrapper")
|
||||||
|
|
||||||
[ "$choice" == "$quit" ] && quit
|
[ "$choice" == "$quit" ] && quit
|
||||||
|
|
||||||
@ -158,7 +186,7 @@ case "$selection" in
|
|||||||
# download
|
# download
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
log "Download anime"
|
log "Download anime"
|
||||||
dl_dir=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
|
dl_dir=$(rofi -dmenu -config "$CFG_FILE" \
|
||||||
-l 1 -p "Enter download dir:")
|
-l 1 -p "Enter download dir:")
|
||||||
# if dl_dir is none set to current directory
|
# if dl_dir is none set to current directory
|
||||||
[ "$dl_dir" == "" ] && dl_dir="$DEFAULT_DOWNLOAD"
|
[ "$dl_dir" == "" ] && dl_dir="$DEFAULT_DOWNLOAD"
|
||||||
@ -178,10 +206,11 @@ case "$selection" in
|
|||||||
# play
|
# play
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
log "Play from file selected"
|
log "Play from file selected"
|
||||||
|
IS_PLAY_FROM_FILE=1
|
||||||
msg="Provide a valid path to a directory or leave blank to go with the default: $HOME/Videos/sauce/"
|
msg="Provide a valid path to a directory or leave blank to go with the default: $HOME/Videos/sauce/"
|
||||||
msg="$(printf '%s\n%s\n' "$msg" "The program will begin searching for media files from the supplied directory")"
|
msg="$(printf '%s\n%s\n' "$msg" "The program will begin searching for media files from the supplied directory")"
|
||||||
span=$(generate_span "$msg")
|
span=$(generate_span "$msg")
|
||||||
play_dir=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
|
play_dir=$(rofi -dmenu -config "$CFG_FILE" \
|
||||||
-l 1 -mesg "$span" -p "Enter path to starting directory:")
|
-l 1 -mesg "$span" -p "Enter path to starting directory:")
|
||||||
if [ -z "$play_dir" ]; then
|
if [ -z "$play_dir" ]; then
|
||||||
create_default_download
|
create_default_download
|
||||||
@ -192,24 +221,24 @@ case "$selection" in
|
|||||||
;;
|
;;
|
||||||
5.)
|
5.)
|
||||||
log "Sync history database"
|
log "Sync history database"
|
||||||
username=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
|
username=$(rofi -dmenu -config "$CFG_FILE" \
|
||||||
-l 1 -p "Enter the username of the remote user:")
|
-l 1 -p "Enter the username of the remote user:")
|
||||||
if [[ -z "$username" ]] || [[ "$username" == "" ]]; then
|
if [[ -z "$username" ]] || [[ "$username" == "" ]]; then
|
||||||
log "No username provided... exiting"
|
log "No username provided... exiting"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
host=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
|
host=$(rofi -dmenu -config "$CFG_FILE" \
|
||||||
-l 1 -p "Enter the host for the remote machine (eg 192.168.1.99):")
|
-l 1 -p "Enter the host for the remote machine (eg 192.168.1.99):")
|
||||||
if [[ -z "$host" ]] || [[ "$host" == "" ]]; then
|
if [[ -z "$host" ]] || [[ "$host" == "" ]]; then
|
||||||
log "No host provided... exiting"
|
log "No host provided... exiting"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
port=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
|
port=$(rofi -dmenu -config "$CFG_FILE" \
|
||||||
-l 1 -p "Enter in the ssh port for remote machine or leave blank for default [22]:")
|
-l 1 -p "Enter in the ssh port for remote machine or leave blank for default [22]:")
|
||||||
if [[ -z "$port" ]] || [[ "$port" == "" ]]; then
|
if [[ -z "$port" ]] || [[ "$port" == "" ]]; then
|
||||||
port=22
|
port=22
|
||||||
fi
|
fi
|
||||||
keypath=$(rofi -dmenu -config "$CFG_DIR/$CFG_FILE" \
|
keypath=$(rofi -dmenu -config "$CFG_FILE" \
|
||||||
-l 1 -p "Enter path to private key (leave blank if not needed or if unsure):")
|
-l 1 -p "Enter path to private key (leave blank if not needed or if unsure):")
|
||||||
|
|
||||||
if [[ -z "$keypath" ]]; then
|
if [[ -z "$keypath" ]]; then
|
||||||
|
12
setup.sh
12
setup.sh
@ -31,7 +31,7 @@ log "MPV DIR:" "$MPV_DIR"
|
|||||||
# executes aniwrapper setup
|
# executes aniwrapper setup
|
||||||
# 1. create the aniwrapper directory in $XDG_CONFIG_HOME
|
# 1. create the aniwrapper directory in $XDG_CONFIG_HOME
|
||||||
# 2. create history databases in $DIR
|
# 2. create history databases in $DIR
|
||||||
# 3. move theme files to $DIR
|
# 3. move theme files to $DIR/themes/
|
||||||
# 4. move skip-intro.lua into mpv/scripts folder
|
# 4. move skip-intro.lua into mpv/scripts folder
|
||||||
# 5. move the aniwrapper icon to $XDG_CONFIG_HOME/aniwrapper/ directory
|
# 5. move the aniwrapper icon to $XDG_CONFIG_HOME/aniwrapper/ directory
|
||||||
run_setup() {
|
run_setup() {
|
||||||
@ -44,7 +44,6 @@ run_setup() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -f "$DIR/$DB" ]]; then
|
if [[ ! -f "$DIR/$DB" ]]; then
|
||||||
# Create the DB if not exists
|
|
||||||
log "Creating history database..."
|
log "Creating history database..."
|
||||||
sqlite3 "$DIR/$DB" < sql/watch_history_tbl.sql
|
sqlite3 "$DIR/$DB" < sql/watch_history_tbl.sql
|
||||||
sqlite3 "$DIR/$DB" < sql/search_history_tbl.sql
|
sqlite3 "$DIR/$DB" < sql/search_history_tbl.sql
|
||||||
@ -56,10 +55,10 @@ run_setup() {
|
|||||||
log "file_history table created"
|
log "file_history table created"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Move theme files and skip-intro script to correct locations
|
if [[ ! -d "$DIR/themes" ]]; then
|
||||||
if [[ ! -f "$DIR/aniwrapper.rasi" ]]; then
|
log "themes directory does not exist in filesystem... Creating and moving themes"
|
||||||
log "aniwrapper.rasi does not exist in filesystem... Moving theme files"
|
mkdir -p "$DIR/themes"
|
||||||
cp themes/* "$DIR"/
|
cp themes/* "$DIR/themes/"
|
||||||
log "Theme files moved..."
|
log "Theme files moved..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -77,7 +76,6 @@ run_setup() {
|
|||||||
log "Creating icons directory"
|
log "Creating icons directory"
|
||||||
mkdir -p "$DIR/icons"
|
mkdir -p "$DIR/icons"
|
||||||
fi
|
fi
|
||||||
# install aniwrapper icons
|
|
||||||
cp .assets/icons/* "$DIR/icons/"
|
cp .assets/icons/* "$DIR/icons/"
|
||||||
log "Installed icons in config directory..."
|
log "Installed icons in config directory..."
|
||||||
}
|
}
|
||||||
|
191
themes/aniwrapper-dracula.rasi
Normal file
191
themes/aniwrapper-dracula.rasi
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
configuration {
|
||||||
|
font: "Open Sans 15";
|
||||||
|
display-drun: "Dmenu";
|
||||||
|
scroll-method: 0;
|
||||||
|
disable-history: false;
|
||||||
|
sidebar-mode: true;
|
||||||
|
steal-focus: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
selected-normal-foreground: rgba ( 255, 147, 5, 100 % );
|
||||||
|
selected-normal-foreground: rgba ( 255, 147, 5, 100 % );
|
||||||
|
/* foreground: rgba ( 196, 203, 212, 100 % ); */
|
||||||
|
foreground: #ecbe7b;
|
||||||
|
normal-foreground: @foreground;
|
||||||
|
alternate-normal-background: rgba ( 45, 48, 59, 1 % );
|
||||||
|
red: #ff6c6b;
|
||||||
|
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
|
||||||
|
blue: #1E90FF;
|
||||||
|
urgent-foreground: rgba ( 204, 102, 102, 100 % );
|
||||||
|
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
|
||||||
|
active-foreground: #bd93f9;
|
||||||
|
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||||
|
selected-active-foreground: #1E90FF;
|
||||||
|
alternate-active-background: rgba ( 45, 48, 59, 95 % );
|
||||||
|
background: #282a36;
|
||||||
|
alternate-normal-foreground: @foreground;
|
||||||
|
normal-background: rgba ( 45, 48, 59, 1 % );
|
||||||
|
lightfg: rgba ( 88, 104, 117, 100 % );
|
||||||
|
selected-normal-background: rgba ( 24, 26, 32, 80 % );
|
||||||
|
spacing: 2;
|
||||||
|
separatorcolor: #44475a;
|
||||||
|
urgent-background: rgba ( 45, 48, 59, 15 % );
|
||||||
|
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
|
||||||
|
alternate-urgent-foreground: @urgent-foreground;
|
||||||
|
background-color: rgba ( 0, 0, 0, 0 % );
|
||||||
|
alternate-active-foreground: @active-foreground;
|
||||||
|
active-background: rgba ( 29, 31, 33, 24 % );
|
||||||
|
selected-active-background: rgba ( 26, 28, 35, 100 % );
|
||||||
|
black: #464b55;
|
||||||
|
blackwidget: #262626;
|
||||||
|
magenta: #c678dd;
|
||||||
|
blue2: #51afef;
|
||||||
|
element-border: #44475a;
|
||||||
|
element-text: #bd93f9;
|
||||||
|
element-selected-background: #44475a;
|
||||||
|
element-selected-border: #ffb86c;
|
||||||
|
normal-active: #8be9fd;
|
||||||
|
prompt-text: #ff79c6;
|
||||||
|
input-text: #50fa7b;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: @background;
|
||||||
|
border: 5px;
|
||||||
|
border-radius: 7px;
|
||||||
|
border-color: #282a36;
|
||||||
|
anchor: center;
|
||||||
|
location: center;
|
||||||
|
padding: 25;
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
listview {
|
||||||
|
lines: 12;
|
||||||
|
columns: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
border: 0;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
message {
|
||||||
|
border: 0;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
padding: 1px ;
|
||||||
|
text-color: @active-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
border: 0;
|
||||||
|
text-color: @foreground;
|
||||||
|
background-color: @blackwidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
border: 0;
|
||||||
|
dynamic: true;
|
||||||
|
fixed-height: 0;
|
||||||
|
spacing: 10px ;
|
||||||
|
scrollbar: false;
|
||||||
|
padding: 2px 0px 0px 0px;
|
||||||
|
margin: 0px 0px 1px 0px;
|
||||||
|
}
|
||||||
|
element {
|
||||||
|
border: 4px;
|
||||||
|
border-color: @element-border;
|
||||||
|
padding: 2px 15px;
|
||||||
|
margin: 1px;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: @element-text;
|
||||||
|
}
|
||||||
|
element.normal.normal {
|
||||||
|
background-color: @normal-background;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
element.normal.urgent {
|
||||||
|
background-color: @urgent-background;
|
||||||
|
text-color: @urgent-foreground;
|
||||||
|
}
|
||||||
|
element.normal.active {
|
||||||
|
background-color: @active-background;
|
||||||
|
border-color: @normal-active;
|
||||||
|
text-color: @element-selected-border;
|
||||||
|
}
|
||||||
|
element.selected.normal {
|
||||||
|
background-color: @element-selected-background;
|
||||||
|
border-color: @element-selected-border;
|
||||||
|
text-color: @element-selected-border;
|
||||||
|
}
|
||||||
|
element.selected.urgent {
|
||||||
|
background-color: @selected-urgent-background;
|
||||||
|
text-color: @selected-urgent-foreground;
|
||||||
|
}
|
||||||
|
element.selected.active {
|
||||||
|
background-color: @element-selected-background;
|
||||||
|
text-color: @normal-active;
|
||||||
|
border-color: @element-selected-border;
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar {
|
||||||
|
width: 4px ;
|
||||||
|
border: 0;
|
||||||
|
handle-color: @normal-foreground;
|
||||||
|
handle-width: 8px ;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mode-switcher {
|
||||||
|
border: 2px 0px 0px ;
|
||||||
|
border-color: @separatorcolor;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.selected {
|
||||||
|
background-color: @selected-normal-background;
|
||||||
|
text-color: @selected-normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @normal-foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
padding: 4px 8px;
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @input-text;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: @prompt-text;
|
||||||
|
padding: 4px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
|
||||||
|
padding: 15px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
margin: 0px 0.3em 0em 0em ;
|
||||||
|
text-color: @prompt-text;
|
||||||
|
padding: 4px 0px;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user