merge all iomenu-*ctl tools into one iomenu-ctl - iomenu - interactive terminal-based selection menu
HTML git clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu
DIR Log
DIR Files
DIR Refs
DIR Tags
DIR README
DIR LICENSE
---
DIR commit 61d1c7b96e038a9af18330f8a2efa1b648441575
DIR parent d644cd09afa29469ab8bba1b2759a4f67fa8428c
HTML Author: Josuah Demangeon <me@josuah.net>
Date: Fri, 16 Jul 2021 21:55:32 +0200
merge all iomenu-*ctl tools into one iomenu-ctl
Diffstat:
A bin/iomenu-ctl | 16 ++++++++++++++++
D bin/iomenu-mixerctl | 11 -----------
D bin/iomenu-sysctl | 11 -----------
D bin/iomenu-wsconsctl | 11 -----------
4 files changed, 16 insertions(+), 33 deletions(-)
---
DIR diff --git a/bin/iomenu-ctl b/bin/iomenu-ctl
@@ -0,0 +1,16 @@
+#!/bin/sh -eu
+# set a xxxctl key to chosen value
+
+case $(uname) in
+(Linux) list="sysctl" ;;
+(OpenBSD) list="sysctl mixerctl wsconsctl audioctl xvctl" ;;
+esac
+
+IFS=' =' read -r ctl key _ <<EOF
+$(for x in $list; do echo "#$x"; "$x" -a | sed -n /=/p; done | iomenu -#)
+EOF
+
+test -n "$ctl"
+printf '%s %s=' "$ctl" "$key" >&2
+read -r val
+exec "$ctl" "$key=$val"
DIR diff --git a/bin/iomenu-mixerctl b/bin/iomenu-mixerctl
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-# set a mixerctl key to chosen value
-
-ctl=$(mixerctl -a | iomenu | sed 's/=.*//')
-test -n "$ctl"
-
-printf 'Set value of %s to: ' "$ctl" >&2
-read -r value
-
-set -x
-exec mixerctl "$ctl=$value"
DIR diff --git a/bin/iomenu-sysctl b/bin/iomenu-sysctl
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-# set a sysctl key to chosen value
-
-ctl=$(sysctl -a | iomenu | sed 's/=.*//')
-test -n "$ctl"
-
-printf 'Set value of %s to: ' "$ctl" >&2
-read -r value
-
-set -x
-exec sysctl "$ctl=$value"
DIR diff --git a/bin/iomenu-wsconsctl b/bin/iomenu-wsconsctl
@@ -1,11 +0,0 @@
-#!/bin/sh -e
-# set a wsconsctl key to chosen value
-
-ctl=$(wsconsctl -a | iomenu | sed 's/=.*//')
-test -n "$ctl"
-
-printf 'Set value of %s to: ' "$ctl" >&2
-read -r value
-
-set -x
-wsconsctl "$ctl=$value"