Re-Organize Dotfiles into Separate Stow Packages
This commit is contained in:
82
dwm/.scripts/session.sh
Executable file
82
dwm/.scripts/session.sh
Executable file
@@ -0,0 +1,82 @@
|
||||
#!/usr/bin/env bash
|
||||
help_menu() {
|
||||
echo "Script to interact with desktop session. Use only one argument at a time."
|
||||
# echo " - Play / Pause: playerctl.sh --play-pause"
|
||||
# echo " - Next: playerctl.sh --next"
|
||||
# echo " - Previous: playerctl.sh --prev"
|
||||
# echo " - Change Player: playerctl.sh --change"
|
||||
# echo " - Rofi Menu: playerctl.sh --rofi"
|
||||
# echo " - Help: playerctl.sh --help OR playerctl.sh -h"
|
||||
}
|
||||
|
||||
rofi_menu() {
|
||||
declare -a options=(
|
||||
" Restart dwm - restart"
|
||||
" Logout - logout"
|
||||
" Lock - lock"
|
||||
"⏾ Sleep - sleep"
|
||||
" Reboot - reboot"
|
||||
" Shutdown - shutdown"
|
||||
" Hibernate - hibernate"
|
||||
" Back - back"
|
||||
" Quit - quit"
|
||||
)
|
||||
|
||||
choice=$(printf '%s\n' "${options[@]}" | rofi -dmenu -i)
|
||||
option=$(printf '%s\n' "${choice}" | awk '{print $NF}')
|
||||
|
||||
if [[ "$option" == "quit" ]]; then
|
||||
pkill rofi
|
||||
elif [[ "$option" != "back" ]]; then
|
||||
main "--$option" && pkill rofi
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
if [ $# -eq 0 ]; then
|
||||
# No arguments
|
||||
help_menu
|
||||
else
|
||||
case $1 in
|
||||
--help | -h)
|
||||
help_menu
|
||||
;;
|
||||
--logout)
|
||||
notify-send "Session Control" "Logging Out of dwm"
|
||||
dwm-msg run_command quit 0
|
||||
;;
|
||||
--lock)
|
||||
notify-send "Session Control" "Locking Session"
|
||||
loginctl lock-session
|
||||
;;
|
||||
--sleep)
|
||||
notify-send "Session Control" "Going to Sleep"
|
||||
systemctl suspend
|
||||
;;
|
||||
--reboot)
|
||||
notify-send "Session Control" "Rebooting System"
|
||||
systemctl reboot
|
||||
;;
|
||||
--shutdown)
|
||||
notify-send "Session Control" "Shutting Down System"
|
||||
systemctl poweroff
|
||||
;;
|
||||
--hibernate)
|
||||
notify-send "Session Control" "Hibernating System"
|
||||
systemctl hibernate
|
||||
;;
|
||||
--restart)
|
||||
notify-send "Session Control" "Restarting dwm"
|
||||
dwm-msg run_command quit 1
|
||||
pkill polybar
|
||||
sleep 5
|
||||
/home/sravan/.config/dwm-flexipatch/polybar/launch.sh
|
||||
;;
|
||||
--rofi)
|
||||
rofi_menu
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
}
|
||||
|
||||
main $@
|
Reference in New Issue
Block a user