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"