#!/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