summary refs log tree commit diff
path: root/bin/rcmenu
diff options
context:
space:
mode:
Diffstat (limited to 'bin/rcmenu')
-rwxr-xr-xbin/rcmenu93
1 files changed, 0 insertions, 93 deletions
diff --git a/bin/rcmenu b/bin/rcmenu
deleted file mode 100755
index c2a359d..0000000
--- a/bin/rcmenu
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/bin/bash
-
-[ -n "$DEBUG" ] && set -x
-set -u
-
-export MENU_PROMPT="󰑮 rc"
-svdir=/run/s6-rc/servicedirs
-rcdir=/etc/s6-rc/src
-ico=/usr/share/icons/mdi/scalable/run-fast.svg
-menu_exitcode=-1
-
-__list() {
-	(
-		find "$svdir" -mindepth 1 -maxdepth 1 -type d -print |
-			while read -r sv; do
-				printf "%s " "$(basename "$sv")"
-				doas -n s6-svstat "$sv"
-			done
-		find "$rcdir" -mindepth 1 -maxdepth 1 -type d -print |
-			while read -r sv; do
-				if [ -f "$sv/type" ] && grep -q bundle "$sv/type"; then
-					printf "%s " "$(basename "$sv")"
-					printf "[bundle] "
-					printf "contents: "
-					find "$sv/contents.d/" -type f -exec basename {} \; | xargs | sed 's, ,/,g'
-				fi
-			done
-	) | column -t
-}
-
-__start() {
-	local sv=$1
-	export msg=$(doas -n s6-rc -v2 -u change "$sv")
-	export action=start
-}
-__stop() {
-	local sv=$1
-	export msg=$(doas -n s6-rc -v2 -d change "$sv")
-	export action=stopp
-}
-__restart() {
-	local sv="$1"
-	local msg
-	local action
-
-	# bemenu-ism
-	# if [ $menu_exitcode -eq 18 ]; then
-	if jq -ncr '{p:"rcmenu",o:[{l:"restart",x:"false"},{l:"stop",x:"true"}]}' | mkmenu; then
-		__stop "$sv"
-	else
-		__stop "$sv" && sleep 0.5 && __start "$sv"
-		action=restart
-	fi
-
-	export msg
-	export action
-}
-
-__handle() {
-	while read -r line; do
-		sv=$(printf "%s" "${line}" | awk '{print $1}')
-		state=$(printf "%s" "${line}" | awk '{print $2}')
-
-		case "$state" in
-		up | \[bundle\]) __restart "$sv" ;;
-		down) __start "$sv" ;;
-		*)
-			action=noop
-			msg=$(printf "unknown service state: %s\n" "$state")
-			false
-			;;
-		esac
-
-		if [ "$?" = 0 ]; then
-			notify-send -i "${ico}" -a rc "${sv}" "${action}ed"
-		else
-			notify-send -i "${ico}" -a rc -u critical -t 30000 "${sv}" "${action}ing ${sv} failed:\n<i>${msg}</i>"
-		fi
-		printf "%s\n" "${msg}"
-	done
-}
-
-case "${1:-}" in
--h | --help | help) printf "usage: %s [start|stop|restart] SERVICE\n" "$(basename "$0")" ;;
-start) __start "$2" ;;
-stop) __stop "$2" ;;
-restart) __restart "$2" ;;
-*)
-	svs=$(__list | menu -l10)
-	menu_exitcode=$?
-	__handle <<<"$svs"
-	;;
-esac