mirror of
https://github.com/adi1090x/rofi.git
synced 2024-11-25 15:38:22 -05:00
Added applet scripts and type-1 themes
This commit is contained in:
parent
7069fdc87b
commit
6f3b87543e
102
files/applets/bin/appasroot.sh
Executable file
102
files/applets/bin/appasroot.sh
Executable file
@ -0,0 +1,102 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Run Applications as Root
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt='Applications'
|
||||||
|
mesg='Run Applications as Root'
|
||||||
|
|
||||||
|
if [[ "$theme" == *'type-1'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='400px'
|
||||||
|
elif [[ "$theme" == *'type-3'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='120px'
|
||||||
|
elif [[ "$theme" == *'type-5'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='520px'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='5'
|
||||||
|
list_row='1'
|
||||||
|
win_width='670px'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Alacritty"
|
||||||
|
option_2=" Thunar"
|
||||||
|
option_3=" Geany"
|
||||||
|
option_4=" Ranger"
|
||||||
|
option_5=" Vim"
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
option_2=""
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
option_5=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "window {width: $win_width;}" \
|
||||||
|
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY"
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
${polkit_cmd} alacritty
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
${polkit_cmd} dbus-run-session thunar
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
${polkit_cmd} geany
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
${polkit_cmd} alacritty -e ranger
|
||||||
|
elif [[ "$1" == '--opt5' ]]; then
|
||||||
|
${polkit_cmd} alacritty -e vim
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
$option_5)
|
||||||
|
run_cmd --opt5
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
104
files/applets/bin/apps.sh
Executable file
104
files/applets/bin/apps.sh
Executable file
@ -0,0 +1,104 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Favorite Applications
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt='Applications'
|
||||||
|
mesg="Installed Packages : `pacman -Q | wc -l` (pacman)"
|
||||||
|
|
||||||
|
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='6'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='6'
|
||||||
|
list_row='1'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# CMDs (add your apps here)
|
||||||
|
term_cmd='alacritty'
|
||||||
|
file_cmd='thunar'
|
||||||
|
text_cmd='geany'
|
||||||
|
web_cmd='firefox'
|
||||||
|
music_cmd='alacritty -e ncmpcpp'
|
||||||
|
setting_cmd='xfce4-settings-manager'
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Terminal <span weight='light' size='small'><i>($term_cmd)</i></span>"
|
||||||
|
option_2=" Files <span weight='light' size='small'><i>($file_cmd)</i></span>"
|
||||||
|
option_3=" Editor <span weight='light' size='small'><i>($text_cmd)</i></span>"
|
||||||
|
option_4=" Browser <span weight='light' size='small'><i>($web_cmd)</i></span>"
|
||||||
|
option_5=" Music <span weight='light' size='small'><i>($music_cmd)</i></span>"
|
||||||
|
option_6=" Settings <span weight='light' size='small'><i>($setting_cmd)</i></span>"
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
option_2=""
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
option_5=""
|
||||||
|
option_6=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
${term_cmd}
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
${file_cmd}
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
${text_cmd}
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
${web_cmd}
|
||||||
|
elif [[ "$1" == '--opt5' ]]; then
|
||||||
|
${music_cmd}
|
||||||
|
elif [[ "$1" == '--opt6' ]]; then
|
||||||
|
${setting_cmd}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
$option_5)
|
||||||
|
run_cmd --opt5
|
||||||
|
;;
|
||||||
|
$option_6)
|
||||||
|
run_cmd --opt6
|
||||||
|
;;
|
||||||
|
esac
|
134
files/applets/bin/battery.sh
Executable file
134
files/applets/bin/battery.sh
Executable file
@ -0,0 +1,134 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Battery
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Battery Info
|
||||||
|
battery="`acpi -b | cut -d',' -f1 | cut -d':' -f1`"
|
||||||
|
status="`acpi -b | cut -d',' -f1 | cut -d':' -f2 | tr -d ' '`"
|
||||||
|
percentage="`acpi -b | cut -d',' -f2 | tr -d ' ',\%`"
|
||||||
|
time="`acpi -b | cut -d',' -f3`"
|
||||||
|
|
||||||
|
if [[ -z "$time" ]]; then
|
||||||
|
time=' Fully Charged'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt="$status"
|
||||||
|
mesg="${battery}: ${percentage}%,${time}"
|
||||||
|
|
||||||
|
if [[ "$theme" == *'type-1'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='4'
|
||||||
|
win_width='400px'
|
||||||
|
elif [[ "$theme" == *'type-3'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='4'
|
||||||
|
win_width='120px'
|
||||||
|
elif [[ "$theme" == *'type-5'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='4'
|
||||||
|
win_width='500px'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='4'
|
||||||
|
list_row='1'
|
||||||
|
win_width='550px'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Charging Status
|
||||||
|
active=""
|
||||||
|
urgent=""
|
||||||
|
if [[ $status = *"Charging"* ]]; then
|
||||||
|
active="-a 1"
|
||||||
|
ICON_CHRG=""
|
||||||
|
elif [[ $status = *"Full"* ]]; then
|
||||||
|
active="-u 1"
|
||||||
|
ICON_CHRG=""
|
||||||
|
else
|
||||||
|
urgent="-u 1"
|
||||||
|
ICON_CHRG=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Discharging
|
||||||
|
if [[ $percentage -ge 5 ]] && [[ $percentage -le 19 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $percentage -ge 20 ]] && [[ $percentage -le 39 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $percentage -ge 40 ]] && [[ $percentage -le 59 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $percentage -ge 60 ]] && [[ $percentage -le 79 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
elif [[ $percentage -ge 80 ]] && [[ $percentage -le 100 ]]; then
|
||||||
|
ICON_DISCHRG=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Remaining ${percentage}%"
|
||||||
|
option_2=" $status"
|
||||||
|
option_3=" Power Manager"
|
||||||
|
option_4=" Diagnose"
|
||||||
|
else
|
||||||
|
option_1="$ICON_DISCHRG"
|
||||||
|
option_2="$ICON_CHRG"
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "window {width: $win_width;}" \
|
||||||
|
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str "textbox-prompt-colon {str: \"$ICON_DISCHRG\";}" \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
${active} ${urgent} \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
polkit_cmd="pkexec env PATH=$PATH DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY"
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
notify-send -u low " Remaining : ${percentage}%"
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
notify-send -u low "$ICON_CHRG Status : $status"
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
xfce4-power-manager-settings
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
${polkit_cmd} alacritty -e powertop
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
107
files/applets/bin/brightness.sh
Executable file
107
files/applets/bin/brightness.sh
Executable file
@ -0,0 +1,107 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Brightness
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Brightness Info
|
||||||
|
backlight="$(printf "%.0f\n" `light -G`)"
|
||||||
|
card="`light -L | grep 'backlight' | head -n1 | cut -d'/' -f3`"
|
||||||
|
|
||||||
|
if [[ $backlight -ge 0 ]] && [[ $backlight -le 29 ]]; then
|
||||||
|
level="Low"
|
||||||
|
elif [[ $backlight -ge 30 ]] && [[ $backlight -le 49 ]]; then
|
||||||
|
level="Optimal"
|
||||||
|
elif [[ $backlight -ge 50 ]] && [[ $backlight -le 69 ]]; then
|
||||||
|
level="High"
|
||||||
|
elif [[ $backlight -ge 70 ]] && [[ $backlight -le 100 ]]; then
|
||||||
|
level="Peak"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt="${backlight}%"
|
||||||
|
mesg="Device: ${card}, Level: $level"
|
||||||
|
|
||||||
|
if [[ "$theme" == *'type-1'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='4'
|
||||||
|
win_width='400px'
|
||||||
|
elif [[ "$theme" == *'type-3'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='4'
|
||||||
|
win_width='120px'
|
||||||
|
elif [[ "$theme" == *'type-5'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='4'
|
||||||
|
win_width='425px'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='4'
|
||||||
|
list_row='1'
|
||||||
|
win_width='550px'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Increase"
|
||||||
|
option_2=" Optimal"
|
||||||
|
option_3=" Decrease"
|
||||||
|
option_4=" Settings"
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
option_2=""
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "window {width: $win_width;}" \
|
||||||
|
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
light -A 5
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
light -S 25
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
light -U 5
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
xfce4-power-manager-settings
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
esac
|
131
files/applets/bin/mpd.sh
Executable file
131
files/applets/bin/mpd.sh
Executable file
@ -0,0 +1,131 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : MPD (music)
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
status="`mpc status`"
|
||||||
|
if [[ -z "$status" ]]; then
|
||||||
|
prompt='Offline'
|
||||||
|
mesg="MPD is Offline"
|
||||||
|
else
|
||||||
|
prompt="`mpc -f "%artist%" current`"
|
||||||
|
mesg="`mpc -f "%title%" current` :: `mpc status | grep "#" | awk '{print $3}'`"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='6'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='6'
|
||||||
|
list_row='1'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
if [[ ${status} == *"[playing]"* ]]; then
|
||||||
|
option_1=" Pause"
|
||||||
|
else
|
||||||
|
option_1=" Play"
|
||||||
|
fi
|
||||||
|
option_2=" Stop"
|
||||||
|
option_3=" Previous"
|
||||||
|
option_4=" Next"
|
||||||
|
option_5=" Repeat"
|
||||||
|
option_6=" Random"
|
||||||
|
else
|
||||||
|
if [[ ${status} == *"[playing]"* ]]; then
|
||||||
|
option_1=""
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
fi
|
||||||
|
option_2=""
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
option_5=""
|
||||||
|
option_6=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Toggle Actions
|
||||||
|
active=''
|
||||||
|
urgent=''
|
||||||
|
# Repeat
|
||||||
|
if [[ ${status} == *"repeat: on"* ]]; then
|
||||||
|
active="-a 4"
|
||||||
|
elif [[ ${status} == *"repeat: off"* ]]; then
|
||||||
|
urgent="-u 4"
|
||||||
|
else
|
||||||
|
option_5=" Parsing Error"
|
||||||
|
fi
|
||||||
|
# Random
|
||||||
|
if [[ ${status} == *"random: on"* ]]; then
|
||||||
|
[ -n "$active" ] && active+=",5" || active="-a 5"
|
||||||
|
elif [[ ${status} == *"random: off"* ]]; then
|
||||||
|
[ -n "$urgent" ] && urgent+=",5" || urgent="-u 5"
|
||||||
|
else
|
||||||
|
option_6=" Parsing Error"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
${active} ${urgent} \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
mpc -q toggle && notify-send -u low -t 1000 " `mpc current`"
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
mpc -q stop
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
mpc -q prev && notify-send -u low -t 1000 " `mpc current`"
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
mpc -q next && notify-send -u low -t 1000 " `mpc current`"
|
||||||
|
elif [[ "$1" == '--opt5' ]]; then
|
||||||
|
mpc -q repeat
|
||||||
|
elif [[ "$1" == '--opt6' ]]; then
|
||||||
|
mpc -q random
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
$option_5)
|
||||||
|
run_cmd --opt5
|
||||||
|
;;
|
||||||
|
$option_6)
|
||||||
|
run_cmd --opt6
|
||||||
|
;;
|
||||||
|
esac
|
129
files/applets/bin/powermenu.sh
Executable file
129
files/applets/bin/powermenu.sh
Executable file
@ -0,0 +1,129 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Power Menu
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt="`hostname`"
|
||||||
|
mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
|
||||||
|
|
||||||
|
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='6'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='6'
|
||||||
|
list_row='1'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Lock"
|
||||||
|
option_2=" Logout"
|
||||||
|
option_3=" Suspend"
|
||||||
|
option_4=" Hibernate"
|
||||||
|
option_5=" Reboot"
|
||||||
|
option_6=" Shutdown"
|
||||||
|
yes=' Yes'
|
||||||
|
no=' No'
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
option_2=""
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
option_5=""
|
||||||
|
option_6=""
|
||||||
|
yes=''
|
||||||
|
no=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Confirmation CMD
|
||||||
|
confirm_cmd() {
|
||||||
|
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
|
||||||
|
-theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \
|
||||||
|
-theme-str 'listview {columns: 2; lines: 1;}' \
|
||||||
|
-theme-str 'element-text {horizontal-align: 0.5;}' \
|
||||||
|
-theme-str 'textbox {horizontal-align: 0.5;}' \
|
||||||
|
-dmenu \
|
||||||
|
-p 'Confirmation' \
|
||||||
|
-mesg 'Are you Sure?' \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ask for confirmation
|
||||||
|
confirm_exit() {
|
||||||
|
echo -e "$yes\n$no" | confirm_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Confirm and execute
|
||||||
|
confirm_run () {
|
||||||
|
selected="$(confirm_exit)"
|
||||||
|
if [[ "$selected" == "$yes" ]]; then
|
||||||
|
${1} && ${2} && ${3}
|
||||||
|
else
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
betterlockscreen -l
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
confirm_run 'kill -9 -1'
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
confirm_run 'mpc -q pause' 'amixer set Master mute' 'systemctl suspend'
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
confirm_run 'systemctl hibernate'
|
||||||
|
elif [[ "$1" == '--opt5' ]]; then
|
||||||
|
confirm_run 'systemctl reboot'
|
||||||
|
elif [[ "$1" == '--opt6' ]]; then
|
||||||
|
confirm_run 'systemctl poweroff'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
$option_5)
|
||||||
|
run_cmd --opt5
|
||||||
|
;;
|
||||||
|
$option_6)
|
||||||
|
run_cmd --opt6
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
103
files/applets/bin/quicklinks.sh
Executable file
103
files/applets/bin/quicklinks.sh
Executable file
@ -0,0 +1,103 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Quick Links
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt='Quick Links'
|
||||||
|
mesg="Using '$BROWSER' as web browser"
|
||||||
|
|
||||||
|
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='6'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='6'
|
||||||
|
list_row='1'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-5'* ) ]]; then
|
||||||
|
efonts="JetBrains Mono Nerd Font 10"
|
||||||
|
else
|
||||||
|
efonts="JetBrains Mono Nerd Font 28"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Google"
|
||||||
|
option_2=" Gmail"
|
||||||
|
option_3=" Youtube"
|
||||||
|
option_4=" Github"
|
||||||
|
option_5=" Reddit"
|
||||||
|
option_6=" Twitter"
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
option_2=""
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
option_5=""
|
||||||
|
option_6=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-theme-str "element-text {font: \"$efonts\";}" \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
xdg-open 'https://www.google.com/'
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
xdg-open 'https://mail.google.com/'
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
xdg-open 'https://www.youtube.com/'
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
xdg-open 'https://www.github.com/'
|
||||||
|
elif [[ "$1" == '--opt5' ]]; then
|
||||||
|
xdg-open 'https://www.reddit.com/'
|
||||||
|
elif [[ "$1" == '--opt6' ]]; then
|
||||||
|
xdg-open 'https://www.twitter.com/'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
$option_5)
|
||||||
|
run_cmd --opt5
|
||||||
|
;;
|
||||||
|
$option_6)
|
||||||
|
run_cmd --opt6
|
||||||
|
;;
|
||||||
|
esac
|
165
files/applets/bin/screenshot.sh
Executable file
165
files/applets/bin/screenshot.sh
Executable file
@ -0,0 +1,165 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Screenshot
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt='Screenshot'
|
||||||
|
mesg="DIR: `xdg-user-dir PICTURES`/Screenshots"
|
||||||
|
|
||||||
|
if [[ "$theme" == *'type-1'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='400px'
|
||||||
|
elif [[ "$theme" == *'type-3'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='120px'
|
||||||
|
elif [[ "$theme" == *'type-5'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='520px'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='5'
|
||||||
|
list_row='1'
|
||||||
|
win_width='670px'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Capture Desktop"
|
||||||
|
option_2=" Capture Area"
|
||||||
|
option_3=" Capture Window"
|
||||||
|
option_4=" Capture in 5s"
|
||||||
|
option_5=" Capture in 10s"
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
option_2=""
|
||||||
|
option_3=""
|
||||||
|
option_4=""
|
||||||
|
option_5=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "window {width: $win_width;}" \
|
||||||
|
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Screenshot
|
||||||
|
time=`date +%Y-%m-%d-%H-%M-%S`
|
||||||
|
geometry=`xrandr | grep 'current' | head -n1 | cut -d',' -f2 | tr -d '[:blank:],current'`
|
||||||
|
dir="`xdg-user-dir PICTURES`/Screenshots"
|
||||||
|
file="Screenshot_${time}_${geometry}.png"
|
||||||
|
|
||||||
|
if [[ ! -d "$dir" ]]; then
|
||||||
|
mkdir -p "$dir"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# notify and view screenshot
|
||||||
|
notify_view() {
|
||||||
|
notify_cmd_shot='dunstify -u low --replace=699'
|
||||||
|
${notify_cmd_shot} "Copied to clipboard."
|
||||||
|
viewnior ${dir}/"$file"
|
||||||
|
if [[ -e "$dir/$file" ]]; then
|
||||||
|
${notify_cmd_shot} "Screenshot Saved."
|
||||||
|
else
|
||||||
|
${notify_cmd_shot} "Screenshot Deleted."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy screenshot to clipboard
|
||||||
|
copy_shot () {
|
||||||
|
tee "$file" | xclip -selection clipboard -t image/png
|
||||||
|
}
|
||||||
|
|
||||||
|
# countdown
|
||||||
|
countdown () {
|
||||||
|
for sec in `seq $1 -1 1`; do
|
||||||
|
dunstify -t 1000 --replace=699 "Taking shot in : $sec"
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# take shots
|
||||||
|
shotnow () {
|
||||||
|
cd ${dir} && sleep 0.5 && maim -u -f png | copy_shot
|
||||||
|
notify_view
|
||||||
|
}
|
||||||
|
|
||||||
|
shot5 () {
|
||||||
|
countdown '5'
|
||||||
|
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
|
||||||
|
notify_view
|
||||||
|
}
|
||||||
|
|
||||||
|
shot10 () {
|
||||||
|
countdown '10'
|
||||||
|
sleep 1 && cd ${dir} && maim -u -f png | copy_shot
|
||||||
|
notify_view
|
||||||
|
}
|
||||||
|
|
||||||
|
shotwin () {
|
||||||
|
cd ${dir} && maim -u -f png -i `xdotool getactivewindow` | copy_shot
|
||||||
|
notify_view
|
||||||
|
}
|
||||||
|
|
||||||
|
shotarea () {
|
||||||
|
cd ${dir} && maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | copy_shot
|
||||||
|
notify_view
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
shotnow
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
shotarea
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
shotwin
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
shot5
|
||||||
|
elif [[ "$1" == '--opt5' ]]; then
|
||||||
|
shot10
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
$option_5)
|
||||||
|
run_cmd --opt5
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
134
files/applets/bin/volume.sh
Executable file
134
files/applets/bin/volume.sh
Executable file
@ -0,0 +1,134 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Applets : Volume
|
||||||
|
|
||||||
|
# Import Current Theme
|
||||||
|
source "$HOME"/.config/rofi/applets/shared/theme.bash
|
||||||
|
theme="$type/$style"
|
||||||
|
|
||||||
|
# Volume Info
|
||||||
|
mixer="`amixer info Master | grep 'Mixer name' | cut -d':' -f2 | tr -d \',' '`"
|
||||||
|
speaker="`amixer get Master | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`"
|
||||||
|
mic="`amixer get Capture | tail -n1 | awk -F ' ' '{print $5}' | tr -d '[]'`"
|
||||||
|
|
||||||
|
active=""
|
||||||
|
urgent=""
|
||||||
|
|
||||||
|
# Speaker Info
|
||||||
|
amixer get Master | grep '\[on\]' &>/dev/null
|
||||||
|
if [[ "$?" == 0 ]]; then
|
||||||
|
active="-a 1"
|
||||||
|
stext='Unmute'
|
||||||
|
sicon=''
|
||||||
|
else
|
||||||
|
urgent="-u 1"
|
||||||
|
stext='Mute'
|
||||||
|
sicon=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Microphone Info
|
||||||
|
amixer get Capture | grep '\[on\]' &>/dev/null
|
||||||
|
if [[ "$?" == 0 ]]; then
|
||||||
|
[ -n "$active" ] && active+=",3" || active="-a 3"
|
||||||
|
mtext='Unmute'
|
||||||
|
micon=''
|
||||||
|
else
|
||||||
|
[ -n "$urgent" ] && urgent+=",3" || urgent="-u 3"
|
||||||
|
mtext='Mute'
|
||||||
|
micon=''
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Theme Elements
|
||||||
|
prompt="S:$stext, M:$mtext"
|
||||||
|
mesg="$mixer - Speaker: $speaker, Mic: $mic"
|
||||||
|
|
||||||
|
if [[ "$theme" == *'type-1'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='400px'
|
||||||
|
elif [[ "$theme" == *'type-3'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='120px'
|
||||||
|
elif [[ "$theme" == *'type-5'* ]]; then
|
||||||
|
list_col='1'
|
||||||
|
list_row='5'
|
||||||
|
win_width='520px'
|
||||||
|
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
|
||||||
|
list_col='5'
|
||||||
|
list_row='1'
|
||||||
|
win_width='670px'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Options
|
||||||
|
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
|
||||||
|
if [[ "$layout" == 'NO' ]]; then
|
||||||
|
option_1=" Increase"
|
||||||
|
option_2="$sicon $stext"
|
||||||
|
option_3=" Decrese"
|
||||||
|
option_4="$micon $mtext"
|
||||||
|
option_5=" Settings"
|
||||||
|
else
|
||||||
|
option_1=""
|
||||||
|
option_2="$sicon"
|
||||||
|
option_3=""
|
||||||
|
option_4="$micon"
|
||||||
|
option_5=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -theme-str "window {width: $win_width;}" \
|
||||||
|
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||||
|
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||||
|
-dmenu \
|
||||||
|
-p "$prompt" \
|
||||||
|
-mesg "$mesg" \
|
||||||
|
${active} ${urgent} \
|
||||||
|
-markup-rows \
|
||||||
|
-theme ${theme}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
if [[ "$1" == '--opt1' ]]; then
|
||||||
|
amixer -Mq set Master,0 5%+ unmute
|
||||||
|
elif [[ "$1" == '--opt2' ]]; then
|
||||||
|
amixer set Master toggle
|
||||||
|
elif [[ "$1" == '--opt3' ]]; then
|
||||||
|
amixer -Mq set Master,0 5%- unmute
|
||||||
|
elif [[ "$1" == '--opt4' ]]; then
|
||||||
|
amixer set Capture toggle
|
||||||
|
elif [[ "$1" == '--opt5' ]]; then
|
||||||
|
pavucontrol
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$option_1)
|
||||||
|
run_cmd --opt1
|
||||||
|
;;
|
||||||
|
$option_2)
|
||||||
|
run_cmd --opt2
|
||||||
|
;;
|
||||||
|
$option_3)
|
||||||
|
run_cmd --opt3
|
||||||
|
;;
|
||||||
|
$option_4)
|
||||||
|
run_cmd --opt4
|
||||||
|
;;
|
||||||
|
$option_5)
|
||||||
|
run_cmd --opt5
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
18
files/applets/shared/colors.rasi
Normal file
18
files/applets/shared/colors.rasi
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
*
|
||||||
|
* Available Colors Schemes
|
||||||
|
*
|
||||||
|
* adapta catppuccin everforest navy paper
|
||||||
|
* arc cyberpunk gruvbox nord solarized
|
||||||
|
* black dracula lovelace onedark yousai
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
/* Import color-scheme from `colors` directory */
|
||||||
|
|
||||||
|
@import "~/.config/rofi/colors/onedark.rasi"
|
12
files/applets/shared/fonts.rasi
Normal file
12
files/applets/shared/fonts.rasi
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Fonts
|
||||||
|
*
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "JetBrains Mono Nerd Font 10";
|
||||||
|
}
|
4
files/applets/shared/theme.bash
Executable file
4
files/applets/shared/theme.bash
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
## Current Theme
|
||||||
|
|
||||||
|
type="$HOME/.config/rofi/applets/type-1"
|
||||||
|
style='style-1.rasi'
|
152
files/applets/type-1/style-1.rasi
Normal file
152
files/applets/type-1/style-1.rasi
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Rofi Theme File
|
||||||
|
* Rofi Version: 1.7.3
|
||||||
|
**/
|
||||||
|
|
||||||
|
/*****----- Configuration -----*****/
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Global Properties -----*****/
|
||||||
|
@import "../shared/colors.rasi"
|
||||||
|
@import "../shared/fonts.rasi"
|
||||||
|
|
||||||
|
/*
|
||||||
|
USE_ICON=NO
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*****----- Main Window -----*****/
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
width: 400px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 1px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @selected;
|
||||||
|
cursor: "default";
|
||||||
|
background-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Main Box -----*****/
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
children: [ "inputbar", "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Inputbar -----*****/
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
children: [ "textbox-prompt-colon", "prompt"];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
padding: 10px 13px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @active;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
enabled: true;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Listview -----*****/
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 6;
|
||||||
|
cycle: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
|
||||||
|
spacing: 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
cursor: "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Elements -----*****/
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal,
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: var(background);
|
||||||
|
text-color: var(foreground);
|
||||||
|
}
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent,
|
||||||
|
element selected.active {
|
||||||
|
background-color: var(urgent);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active,
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: var(active);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
background-color: var(selected);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
152
files/applets/type-1/style-2.rasi
Normal file
152
files/applets/type-1/style-2.rasi
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Rofi Theme File
|
||||||
|
* Rofi Version: 1.7.3
|
||||||
|
**/
|
||||||
|
|
||||||
|
/*****----- Configuration -----*****/
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Global Properties -----*****/
|
||||||
|
@import "../shared/colors.rasi"
|
||||||
|
@import "../shared/fonts.rasi"
|
||||||
|
|
||||||
|
/*
|
||||||
|
USE_ICON=NO
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*****----- Main Window -----*****/
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
width: 400px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 1px solid;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @selected;
|
||||||
|
cursor: "default";
|
||||||
|
background-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Main Box -----*****/
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
children: [ "inputbar", "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Inputbar -----*****/
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
children: [ "textbox-prompt-colon", "prompt"];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
padding: 10px 13px;
|
||||||
|
border-radius: 12px;
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 12px;
|
||||||
|
background-color: @active;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
enabled: true;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Listview -----*****/
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 6;
|
||||||
|
cycle: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
|
||||||
|
spacing: 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
cursor: "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Elements -----*****/
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 12px;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal,
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: var(background);
|
||||||
|
text-color: var(foreground);
|
||||||
|
}
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent,
|
||||||
|
element selected.active {
|
||||||
|
background-color: var(urgent);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active,
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: var(active);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
background-color: var(selected);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
152
files/applets/type-1/style-3.rasi
Normal file
152
files/applets/type-1/style-3.rasi
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Rofi Theme File
|
||||||
|
* Rofi Version: 1.7.3
|
||||||
|
**/
|
||||||
|
|
||||||
|
/*****----- Configuration -----*****/
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Global Properties -----*****/
|
||||||
|
@import "../shared/colors.rasi"
|
||||||
|
@import "../shared/fonts.rasi"
|
||||||
|
|
||||||
|
/*
|
||||||
|
USE_ICON=NO
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*****----- Main Window -----*****/
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
width: 400px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 1px solid;
|
||||||
|
border-radius: 30px;
|
||||||
|
border-color: @selected;
|
||||||
|
cursor: "default";
|
||||||
|
background-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Main Box -----*****/
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
children: [ "inputbar", "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Inputbar -----*****/
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
children: [ "textbox-prompt-colon", "prompt"];
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
padding: 10px 13px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background-color: @active;
|
||||||
|
text-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
enabled: true;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Listview -----*****/
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 6;
|
||||||
|
cycle: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
|
||||||
|
spacing: 5px;
|
||||||
|
background-color: transparent;
|
||||||
|
cursor: "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Elements -----*****/
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 100%;
|
||||||
|
border-color: @selected;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal,
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: var(background);
|
||||||
|
text-color: var(foreground);
|
||||||
|
}
|
||||||
|
element normal.urgent,
|
||||||
|
element alternate.urgent,
|
||||||
|
element selected.active {
|
||||||
|
background-color: var(urgent);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
||||||
|
element normal.active,
|
||||||
|
element alternate.active,
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: var(active);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
background-color: var(selected);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user