iso-profiles/mabox-linux/desktop-overlay/etc/skel/bin/rofr.sh

94 lines
3.0 KiB
Bash
Raw Permalink Normal View History

2019-11-01 17:22:26 +01:00
#!/usr/bin/env bash
NAME=$(basename "$0")
VER="0.3"
usage() {
cat <<- EOF
USAGE: $NAME [OPTIONS]
OPTIONS:
-h,--help Display this message
-v,--version Display script version
-w,--window Switch between open windows
-r,--run Program launcher & run dialog
-q,--qalculate Persistant calculator dialog (requires libqalculate)
-c,--clipboard Select previous clipboard entries (requires greenclip)
-b,--browser Browser search by keyword (requires surfraw)
-l,--logout Session logout dialog
Without any options -r,--run will be opened.
EOF
}
for arg in "$@"; do
case $arg in
-h|--help)
usage
exit 0
;;
-v|--version)
echo -e "$NAME -- Version $VER"
exit 0
;;
-r|--run)
rofi -modi run,drun -show drun -line-padding 4 \
-columns 2 -padding 50 -hide-scrollbar \
-show-icons -drun-icon-theme "ArchLabs-Light"
;;
-w|--window)
rofi -modi window -show window -hide-scrollbar -padding 50 -line-padding 4
;;
-q|--qalculate)
! hash qalc &>/dev/null && { echo "Requires 'libqalculate' installed"; exit 1; }
rofi -modi "calc:qalc +u8 -nocurrencies" -padding 50 \
-show "calc:qalc +u8 -nocurrencies" -line-padding 4 \
-hide-scrollbar
;;
-c|--clipboard)
! hash greenclip &>/dev/null && { echo "Requires 'greenclip' installed"; exit 1; }
rofi -modi "clipboard:greenclip print" -padding 50 \
-line-padding 4 -show "clipboard:greenclip print" \
-hide-scrollbar
;;
-b|--browser)
! hash surfraw &>/dev/null && { echo "Requires 'surfraw' installed"; exit 1; }
surfraw -browser="$BROWSER" $(sr -elvi |
awk -F'-' '{print $1}' |
sed '/:/d' |
awk '{$1=$1};1' |
rofi -hide-scrollbar -kb-row-select 'Tab' \
-kb-row-tab 'Control+space' -dmenu \
-mesg 'Tab for Autocomplete' -i -p 'Web Search' \
-padding 50 -line-padding 4) ;;
-l|--logout)
ANS="$(rofi -sep "|" -dmenu -i -p 'Logout' -width 20 \
-hide-scrollbar -line-padding 4 -padding 20 \
-lines 4 <<< " Lock| Logout| Reboot| PowerOff")"
case "$ANS" in
*Lock) betterlockscreen ;;
*Logout) openbox --exit ;;
*Reboot) systemctl reboot ;;
*PowerOff) systemctl -i poweroff
esac ;;
*) echo; echo "Option does not exist: $arg"; echo; exit 2
esac
done
(( $# == 0 )) && "$0" -r
exit 0