summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorRaymaekers Luca <luca@spacehb.net>2025-01-05 19:49:12 +0100
committerRaymaekers Luca <luca@spacehb.net>2025-01-05 19:49:12 +0100
commita7309ce61c093caeb554c20497f4e4b765073203 (patch)
tree6e7c9e559253f0f0584175c582624eec29a0d5cb /bin
parent58bf86c706c5a442da4fb01ea26e06f1ed291d45 (diff)
parent112449dd19eaae6769ef95a70b3e52234256400c (diff)
checkpoint
Diffstat (limited to 'bin')
-rwxr-xr-xbin/common/ytclipo4
-rwxr-xr-xbin/extra/20202021
-rwxr-xr-xbin/extra/cycleKB25
-rwxr-xr-xbin/extra/mtr2
-rwxr-xr-xbin/extra/notify-send81
-rwxr-xr-xbin/extra/p.sh2
-rwxr-xr-xbin/guiscripts/dmtofi4
-rwxr-xr-xbin/guiscripts/lh2
-rwxr-xr-xbin/guiscripts/wintitle3
-rwxr-xr-xbin/menuscripts/keyadd4
-rwxr-xr-xbin/menuscripts/memoji2
-rwxr-xr-xbin/menuscripts/mpass2
-rwxr-xr-xbin/menuscripts/mpotp2
-rwxr-xr-xbin/menuscripts/mpower9
-rwxr-xr-xbin/menuscripts/shdul.sh2
15 files changed, 136 insertions, 29 deletions
diff --git a/bin/common/ytclipo b/bin/common/ytclipo
index 4d9d846..f8d30b4 100755
--- a/bin/common/ytclipo
+++ b/bin/common/ytclipo
@@ -4,7 +4,7 @@ inp="$1"
[ -z "$inp" ] && inp="$(ytlink)"
[ "$inp" ] || exit 1
>&2 printf "inp: %s\n" "$inp"
-notify-send "ytclipo" "$inp" || :
+herbe "_ytclipo" "*$inp" || :
yt-dlp "$inp" \
--restrict-filenames \
@@ -12,4 +12,4 @@ yt-dlp "$inp" \
-S "res:1080" \
-P "$HOME/vids/youtube/" \
-o "%(channel)s/%(title)s.%(ext)s"
-notify-send "ytclipo" "finished downloading." || :
+herbe "_ytclipo" "finished downloading." || :
diff --git a/bin/extra/202020 b/bin/extra/202020
index 1386058..35ce1c9 100755
--- a/bin/extra/202020
+++ b/bin/extra/202020
@@ -1,14 +1,23 @@
#!/bin/sh
-mpvwopts="mpv --no-resume-playback --volume=100"
+mpvCommand="mpv --no-resume-playback --volume=100"
sounds="$HOME/sync/share/sounds"
-while true
-do
+if [ "$1" ]; then
+ $mpvCommand "$sounds"/avert1.ogg &
+ herbe '202020' 'avert!' &
+ sleep 20s
+ $mpvCommand "$sounds"/avert2.ogg &
+ herbe '202020' 'stop averting' &
+
+ exit
+fi
+
+while true; do
sleep 20m
- $mpvwopts "$sounds"/avert1.ogg &
- herbe '202020' 'avert!'
+ $mpvCommand "$sounds"/avert1.ogg &
+ herbe '202020' 'avert!' &
sleep 20s
- $mpvwopts "$sounds"/avert2.ogg &
+ $mpvCommand "$sounds"/avert2.ogg &
herbe '202020' 'stop averting' &
done
diff --git a/bin/extra/cycleKB b/bin/extra/cycleKB
index 154f5a1..597f26f 100755
--- a/bin/extra/cycleKB
+++ b/bin/extra/cycleKB
@@ -1,6 +1,21 @@
#!/usr/bin/sh
-keyboards="$HOME/bin/keyboards.txt"
-kb="$(head -n 1 "$keyboards")"
-setxkbmap $kb &
-sed -i '1h;1d;$G' "$keyboards"
-notify-send -t 1000 "cycleKB" "${kb%% *}"
+
+list_layouts()
+{
+cat <<EOF
+us
+colemak -option ctrl:swapcaps,altwin:menu_win
+EOF
+}
+
+current_keymap()
+{
+ setxkbmap -print | awk -F '+' '/xkb_symbols/ {print $2}'
+}
+
+NumLayouts="$(list_layouts | wc -l)"
+IndexLayout="$(list_layouts | awk "/^$(current_keymap)/ {print NR}")"
+[ "$IndexLayout" -eq "$NumLayouts" ] && IndexLayout=1 || IndexLayout=$((IndexLayout + 1))
+Layout="$(list_layouts | sed -n "${IndexLayout}p" )"
+setxkbmap $Layout &
+herbe "_cycleKB" "*${Layout%% *}"
diff --git a/bin/extra/mtr b/bin/extra/mtr
index 486a9b8..68aac60 100755
--- a/bin/extra/mtr
+++ b/bin/extra/mtr
@@ -20,4 +20,4 @@ category="$(list_categories | commander -cl)"
transmission-remote debuc.com -a "$(clipo)" -w "/downloads/$category"
-notify-send "mtr" "added to <b>$category</b>"
+herbe "_mtr" "*added to $category"
diff --git a/bin/extra/notify-send b/bin/extra/notify-send
new file mode 100755
index 0000000..3a3872b
--- /dev/null
+++ b/bin/extra/notify-send
@@ -0,0 +1,81 @@
+#!/bin/sh
+# Shell script to redirect notify-send calls to herbe. The purpose is to ignore
+# options passed to notify-send.
+#
+# Option parser generated by getoptions
+# URL: https://github.com/ko1nksm/getoptions
+# LICENSE: Creative Commons Zero v1.0 Universal
+
+usage() {
+ printf '%s\n' "${0##*/}: notify-send replacement for herbe" "accepts but ignores all notify-send options."
+}
+
+REST=''
+parse() {
+ OPTIND=$(($#+1))
+ while [ $# -gt 0 ] && OPTARG=; do
+ case $1 in
+ --?*=*) OPTARG=$1; shift
+ eval 'set -- "${OPTARG%%\=*}" "${OPTARG#*\=}"' ${1+'"$@"'}
+ ;;
+ -[utich]?*) OPTARG=$1; shift
+ eval 'set -- "${OPTARG%"${OPTARG#??}"}" "${OPTARG#??}"' ${1+'"$@"'}
+ ;;
+ -[!-]?*) OPTARG=$1; shift
+ eval 'set -- "${OPTARG%"${OPTARG#??}"}" "-${OPTARG#??}"' ${1+'"$@"'}
+ OPTARG= ;;
+ esac
+ case $1 in
+ -u | --urgency)
+ [ $# -le 1 ] && set -- "$1" required && break
+ OPTARG=$2
+ _=$OPTARG
+ shift ;;
+ -t | --expire-time)
+ [ $# -le 1 ] && set -- "$1" required && break
+ OPTARG=$2
+ _=$OPTARG
+ shift ;;
+ -i | --icon)
+ [ $# -le 1 ] && set -- "$1" required && break
+ OPTARG=$2
+ _=$OPTARG
+ shift ;;
+ -c | --category)
+ [ $# -le 1 ] && set -- "$1" required && break
+ OPTARG=$2
+ _=$OPTARG
+ shift ;;
+ -h | --hint)
+ [ $# -le 1 ] && set -- "$1" required && break
+ OPTARG=$2
+ _=$OPTARG
+ shift ;;
+ -? | --help)
+ usage
+ exit 0 ;;
+ --) shift
+ while [ $# -gt 0 ]; do
+ REST="${REST} \"\${$(($OPTIND-$#))}\""
+ shift
+ done
+ break ;;
+ [-]?*) set -- "$1" unknown && break ;;
+ *) REST="${REST} \"\${$(($OPTIND-$#))}\""
+ esac
+ shift
+ done
+ [ $# -eq 0 ] && return 0
+ case $2 in
+ unknown) echo "unrecognized option '$1'" ;;
+ noarg) echo "option '$1' doesn't allow an argument" ;;
+ required) echo "option '$1' requires an argument" ;;
+ pattern) echo "option '$1' does not match the pattern ($3)" ;;
+ *) echo "option '$1' validation error: $2"
+ esac >&2
+ exit 1
+}
+
+parse "$@"
+eval set -- "$REST"
+herbe "$@" &
diff --git a/bin/extra/p.sh b/bin/extra/p.sh
index e33f5ba..681b9ab 100755
--- a/bin/extra/p.sh
+++ b/bin/extra/p.sh
@@ -671,7 +671,7 @@ case "$choice" in
curl -Ls "$url" > "$html"
level1="$(pup -p 'span.infocard:nth-child(2) > small:nth-child(2) text{}' < "$html")"
level2="$(pup -p 'span.infocard:nth-child(4) > small:nth-child(2) text{}' < "$html")"
- herbe "p.sh" "$level1" "$level2" &
+ herbe "_p.sh" "$level1" "$level2"
;;
# moves
diff --git a/bin/guiscripts/dmtofi b/bin/guiscripts/dmtofi
index 5cdc3cf..ed9f673 100755
--- a/bin/guiscripts/dmtofi
+++ b/bin/guiscripts/dmtofi
@@ -2,7 +2,7 @@
if ! mv ~/bin/.dmenu ~/bin/dmenu 2>/dev/null
then
mv ~/bin/dmenu ~/bin/.dmenu
- notify-send "dmtofi" "dmenu <b>enabled</b>!"
+ herbe "_dmtofi" "*enabled!"
else
- notify-send "dmtofi" "dmenu <b>disabled</b>!"
+ herbe "_dmtofi" "*disabled!"
fi
diff --git a/bin/guiscripts/lh b/bin/guiscripts/lh
index ba39ec0..fd7f573 100755
--- a/bin/guiscripts/lh
+++ b/bin/guiscripts/lh
@@ -7,7 +7,7 @@
# otherwise it opens link in browser.
[ "${url:=$1}" ] || url="$(clipo)"
-notify-send "linkhandler" "$url"
+herbe "_linkhandler" "$url"
case "$url" in
file://*)
diff --git a/bin/guiscripts/wintitle b/bin/guiscripts/wintitle
deleted file mode 100755
index 64938a5..0000000
--- a/bin/guiscripts/wintitle
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-notify-send "wintitle" "<b>$(hyprctl activewindow -j | jq -r '.title')</b>"
diff --git a/bin/menuscripts/keyadd b/bin/menuscripts/keyadd
index 4e7949f..5a38bfb 100755
--- a/bin/menuscripts/keyadd
+++ b/bin/menuscripts/keyadd
@@ -2,7 +2,7 @@
log()
{
- notify-send -t 1000 "keyadd" "$1" &
+ herbe "keyadd" "$1" &
>&2 printf '%s\n' "$1"
}
@@ -55,7 +55,7 @@ then
exit 1
fi
-HOST=$(hostnamectl hostname)
+HOST="$(hostname)"
export PASSWORD="keys/$HOST/ssh/$key_pretty"
export SSH_ASKPASS="sshpass"
ssh-add -q - < "$key" &&
diff --git a/bin/menuscripts/memoji b/bin/menuscripts/memoji
index 5766238..0b3965d 100755
--- a/bin/menuscripts/memoji
+++ b/bin/menuscripts/memoji
@@ -13,7 +13,7 @@ case "$1" in
input=$(tee | cut -f 1 -d ' ')
if [ "$input" ]
then
- notify-send "dmemoji" "$input <b>copied!</b>"
+ herbe "_dmemoji" "*$input copied!"
printf "%s" "$input" | clipp
fi
;;
diff --git a/bin/menuscripts/mpass b/bin/menuscripts/mpass
index 5dc2289..5a09623 100755
--- a/bin/menuscripts/mpass
+++ b/bin/menuscripts/mpass
@@ -22,7 +22,7 @@ done
[ "$file" ] || exit 1
pass show -c "$file" || exit 1
-notify-send -t 1000 "mpass" "$file"
+herbe "_mpass" "*$file"
[ "$WAYLAND_DISPLAY" ] && cliphist list >/dev/null && # on wayland and cliphist is running
cliphist list | head -n 1 | cliphist delete
diff --git a/bin/menuscripts/mpotp b/bin/menuscripts/mpotp
index 2be6186..8ffb468 100755
--- a/bin/menuscripts/mpotp
+++ b/bin/menuscripts/mpotp
@@ -4,4 +4,4 @@ pass="$(find "$PASSWORD_STORE_DIR"/keys/otp -iname "*.gpg" |
dmenu -c)"
[ "$pass" ] || exit 1
pass otp -c keys/otp/"$pass"
-notify-send -t 1000 "mpass" "copied $pass"
+herbe "_mpotp" "copied $pass"
diff --git a/bin/menuscripts/mpower b/bin/menuscripts/mpower
index 51b8e1d..b4b8640 100755
--- a/bin/menuscripts/mpower
+++ b/bin/menuscripts/mpower
@@ -9,5 +9,10 @@ hibernate
EOF
)"
-[ "$choice" = "firmware" ] && systemctl reboot --firmware-setup
-[ "$choice" ] && systemctl "$choice"
+case "$choice" in
+ "suspend") doas /usr/sbin/zzz ;;
+ "poweroff") doas /usr/sbin/poweroff ;;
+ "reboot"|"firmware") doas /usr/sbin/reboot ;;
+ "") exit 1 ;;
+ *) ;;
+esac
diff --git a/bin/menuscripts/shdul.sh b/bin/menuscripts/shdul.sh
index 4e1d744..8c059b9 100755
--- a/bin/menuscripts/shdul.sh
+++ b/bin/menuscripts/shdul.sh
@@ -113,7 +113,7 @@ view_schedule()
then
print_schedule "$1" "$2"
prev_now="$now"
- notify-send -u critical -t 5000 "shdul" "$(awk "NR==$((now-1)) {print \$2}" "$1")"
+ herbe "_shdul" "$(awk "NR==$((now-1)) {print \$2}" "$1")"
# Align with clock
sleep "$((60-$(date +%-S)))s"