From 4817c1bc0222f7172d1acb9c18912a7e6f36a3c7 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Fri, 25 Aug 2023 01:09:10 +0300 Subject: bin/sbin: Refactor shell scripts --- .local/bin/chkb | 23 ++++++++++++----------- .local/bin/scst | 43 ++++++++++++++++++++++++++----------------- .local/bin/vlt | 10 ++++++---- .local/sbin/stz | 4 +--- 4 files changed, 45 insertions(+), 35 deletions(-) diff --git a/.local/bin/chkb b/.local/bin/chkb index bc6da23..4f96877 100755 --- a/.local/bin/chkb +++ b/.local/bin/chkb @@ -2,18 +2,19 @@ set -e -export OSEL_GUI='wofi -d -r "echo \"%s\" | cut -f2 | xargs echo -n"' +export OSEL_GUI_FLAGS='-r "echo \"%s\" | cut -f2 | xargs echo -n"' -choice="`sed -En 's/\s*name\[Group1\]\s*=\s*"([^"]*)"\s*;\s*/\1/p' \ - ~/.xkb/symbols/mango \ - | sort \ - | nl -v0 -nln \ - | osel`" - -[ -n "$choice" ] && { +if choice="` + sed -En 's/\s*name\[Group1\]\s*=\s*"([^"]*)"\s*;\s*/\1/p' \ + ~/.xkb/symbols/mango \ + | sort \ + | nl -v0 -nln \ + | osel +`" +then hyprctl -j devices \ | jq -r '.keyboards[-1].name' \ - | xargs -I{} hyprctl switchxkblayout {} ${choice% *} + | xargs -I{} hyprctl switchxkblayout {} ${choice% *} >/dev/null notify-send -a "${0##*/}" -u normal 'Keyboard Layout Changed' \ - "The keyboard layout was changed to ‘${choice##* }’" -} + "The keyboard layout was changed to ‘${choice##* }’." +fi diff --git a/.local/bin/scst b/.local/bin/scst index 6b63009..5cce936 100755 --- a/.local/bin/scst +++ b/.local/bin/scst @@ -2,26 +2,30 @@ set -e -notify() { +notify() +{ notify-send -a ${0##*/} -i "$filename" 'Screenshot copied' \ - 'Screenshot successfully copied to the clipboard' + 'Screenshot successfully copied to the clipboard.' } -if [ $# -eq 1 -a "$1" = "-f" ]; then +if [ $# -eq 1 -a "$1" = "-f" ] +then fflag=true shift fi -[ $# -ge 1 ] && { +if [ $# -ge 1 ] +then echo "Usage: ${0##*/} [-f]" >&2 exit 1 -} +fi -outdir=${XDG_PICTURES_DIR:-$HOME/Pictures}/screen -filename="$outdir/`date +%F_%T.png`" +readonly outdir=${XDG_PICTURES_DIR:-$HOME/Pictures}/screen +readonly filename="$outdir/`date +%F_%T.png`" [ -d "$outdir" ] || mkdir -p "$outdir" -if ${fflag:-false}; then +if ${fflag:-false} +then grim "$filename" else slurp 2>/dev/null | ifne grim -g - "$filename" @@ -29,12 +33,17 @@ fi [ -f "$filename" ] || exit 1 -printf 'Copy screenshot\nEdit- and copy screenshot\n' \ - | osel \ - | if read res && [ "$res" = 'Copy screenshot' ]; then - wl-copy <"$filename" - notify - elif [ "$res" = 'Edit- and copy screenshot' ]; then - swappy -f "$filename" -o - | pee wl-copy cat | sponge "$filename" - notify - fi +opt="`printf 'Copy screenshot\nEdit- and copy screenshot\n' | osel`" + +case "$opt" in +'Copy screenshot') + wl-copy <"$filename" + notify + ;; +'Edit- and copy screenshot') + swappy -f "$filename" -o - \ + | pee wl-copy cat \ + | sponge "$filename" + notify + ;; +esac diff --git a/.local/bin/vlt b/.local/bin/vlt index 4121207..af68545 100755 --- a/.local/bin/vlt +++ b/.local/bin/vlt @@ -15,10 +15,12 @@ sanitize() usage() { - echo "Usage: ${0##*/} add [-c]" >&2 - echo " ${0##*/} edit [-c]" >&2 - echo " ${0##*/} get" >&2 - echo " ${0##*/} rm [-c]" >&2 + cat <<-EOF >&2 + Usage: ${0##*/} add [-c] + ${0##*/} edit [-c] + ${0##*/} get + ${0##*/} rm [-c] + EOF exit 1 } diff --git a/.local/sbin/stz b/.local/sbin/stz index 7a6fdc6..413bf40 100755 --- a/.local/sbin/stz +++ b/.local/sbin/stz @@ -2,9 +2,7 @@ set -e -choice="`timedatectl list-timezones | grep './.' | osel`" - -[ -n "$choice" ] \ +choice="`timedatectl list-timezones | grep './.' | osel`" \ && sudo timedatectl set-timezone "$choice" \ && notify-send -a "${0##*/}" -u normal 'Timezone changed' \ "The system timezone was changed to ‘$choice’." -- cgit v1.2.3