107 lines
2.0 KiB
Bash
Executable File
107 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# while-menu-dialog: a menu driven system information program
|
|
export ME="/home/gmgauthier"
|
|
|
|
DIALOG_CANCEL=1
|
|
DIALOG_ESC=255
|
|
HEIGHT=18
|
|
WIDTH=0
|
|
|
|
tmemo() {
|
|
tmp=$(date +"memo-%Y.%m.%d-%k.%M.%S")
|
|
timestamp="${tmp// /}"
|
|
filename="$HOME/memos/${timestamp}.md"
|
|
tilde $filename
|
|
}
|
|
|
|
output_panel() {
|
|
dialog --title "$1" \
|
|
--no-collapse \
|
|
--msgbox "$result" 0 0
|
|
}
|
|
|
|
_stopnow() {
|
|
test -f stopnow && echo "Stopping!" && rm stopnow && exit 0 || return 0
|
|
}
|
|
|
|
menu() {
|
|
exec 3>&1
|
|
selection=$(dialog \
|
|
--backtitle "TUI Command Center" \
|
|
--title "Menu" \
|
|
--clear \
|
|
--cancel-label "Exit" \
|
|
--menu "Please select:" $HEIGHT $WIDTH 4 \
|
|
"e" "Mutt Email" \
|
|
"c" "Calcurse Calendar" \
|
|
"a" "Abook Contacts" \
|
|
"t" "Tudu Tasks" \
|
|
"k" "Kabmat Kanban" \
|
|
"n" "Tilde Notepad" \
|
|
"l" "CLI Calculator" \
|
|
"f" "MC File Manager" \
|
|
"i" "IRC Client" \
|
|
"p" "Castero Podcasts" \
|
|
"m" "VLC Music Player" \
|
|
2>&1 1>&3)
|
|
exit_status=$?
|
|
exec 3>&-
|
|
|
|
case $exit_status in
|
|
$DIALOG_CANCEL)
|
|
clear
|
|
echo "Exiting Apps Menu."
|
|
exit 1
|
|
;;
|
|
$DIALOG_ESC)
|
|
clear
|
|
echo "Terminating Apps Menu." >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
clear
|
|
case $selection in
|
|
e )
|
|
neomutt -F ${ME}/.config/mutt/.protonmuttrc
|
|
;;
|
|
c )
|
|
calcurse -c ${ME}/.local/share/calcurse/calendar -C ${ME}/.config/calcurse
|
|
;;
|
|
a )
|
|
abook --datafile ${ME}/.local/share/abook/addressbook
|
|
;;
|
|
t )
|
|
tudu -f ${ME}/.local/share/tudu/tasks.xml -c ${ME}/.config/tudu/config
|
|
;;
|
|
k )
|
|
kabmat
|
|
;;
|
|
n )
|
|
tmemo
|
|
;;
|
|
l )
|
|
calc
|
|
;;
|
|
f )
|
|
mc
|
|
;;
|
|
i )
|
|
weechat
|
|
;;
|
|
p )
|
|
castero
|
|
;;
|
|
m )
|
|
vlc -Z -L -I ncurses --no-video --recursive expand ${ME}/Music
|
|
;;
|
|
esac
|
|
}
|
|
|
|
while true
|
|
do
|
|
_stopnow
|
|
menu
|
|
done
|