aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavidpkj <davidpenkow1@gmail.com>2024-09-16 22:48:05 +0200
committerdavidpkj <davidpenkow1@gmail.com>2024-09-16 22:48:05 +0200
commit06de26be5328a13477942593daf06f417e830736 (patch)
tree6de86872623fac470ad5ce0d8cb8dd0fb8e6859b
parent646aa3fdeca4466e5d4c4ff7db6b9686582516c6 (diff)
Update system helper scriptsHEADmaster
-rwxr-xr-xscripts/.local/bin/personal/bar/brightness84
-rwxr-xr-xscripts/.local/bin/personal/bar/mute33
-rwxr-xr-xscripts/.local/bin/personal/edit7
-rwxr-xr-xscripts/.local/bin/personal/hostname3
-rwxr-xr-xscripts/.local/bin/personal/musctl57
-rwxr-xr-xscripts/.local/bin/personal/volctl93
6 files changed, 145 insertions, 132 deletions
diff --git a/scripts/.local/bin/personal/bar/brightness b/scripts/.local/bin/personal/bar/brightness
index f9c84ce..3ce4076 100755
--- a/scripts/.local/bin/personal/bar/brightness
+++ b/scripts/.local/bin/personal/bar/brightness
@@ -1,60 +1,36 @@
#!/bin/bash
-# A script to manage screen and keyboard brightness on my machine
-# Depends on: bash, brightnessctl
-# By David Penkowoj, 2021/06/24
+# A script to manage screen brightness on my machine
+# Depends on: bash, brightnessctl, libnotify
+# By David Penkowoj, 2024-09-16
-MTR_DEVICE="amdgpu_bl2"
-MTR_VALUE=99
+memfile="/tmp/$(whoami)-brightness.memtxt"
+monitor_id="amdgpu_bl2"
-SWITCH="$1"
+bctl() {
+ brightnessctl --device="$monitor_id" "$@"
+}
-case $SWITCH in
- "help")
- printf "Possible arguments:\n"
- printf "===================\n"
- printf "load - loads brightness from save\n"
- printf "save - saves current brightness\n"
- printf "up - increases brightness by 5 percent and saves\n"
- printf "down - decreases brightness by 5 percent and saves\n"
- printf "smallup - increases brightness by 1 percent and saves\n"
- printf "smalldown - decreases brightness by 1 percent and saves\n"
- printf "status - show brightness of a device"
- ;;
- "load")
- brightnessctl --device="$MTR_DEVICE" set "$MTR_VALUE%"
- ;;
- "save")
- M="$(brightnessctl --device="$MTR_DEVICE" | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)"
- sed -i "s/MTR_VALUE=$MTR_VALUE/MTR_VALUE=$M/" "$0"
- ;;
- "smalldown")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set 1-%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "smallup")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set +1%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "down")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set 5-%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "up")
- if [[ "$2" = "monitor" ]]; then brightnessctl --device="$MTR_DEVICE" set +5%; fi
- brightness save
- notify-send -u low -r "110" "$2: $(brightness get monitor)"
- ;;
- "get")
- M="$(brightnessctl --device="$MTR_DEVICE" | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)"
- if [[ "$2" = "monitor" ]]; then echo "$M"; fi
- ;;
- *)
- printf "Monitor:\n"
- brightnessctl --device="$MTR_DEVICE" | tail -n 3 | sed 's/\t/- /g'
- ;;
-esac
+notify_brightness() {
+ current="$(brightness get)"
+ max="$(bctl m)"
+ notify-send -u low -r "110" "Screen brightness: $(( current * 100 / max ))%"
+}
+case "$1" in
+ "up")
+ bctl set +5%
+ notify_brightness
+ ;;
+ "down")
+ bctl set 5-%
+ notify_brightness
+ ;;
+ "get")
+ printf "%s\n" "$(bctl | grep -Eo "[0-9]+" | head -n 2 | tail -n 1)"
+ ;;
+ *)
+ printf "[ Error ] Usage: brightness [up|down|get]"
+ exit 1
+ ;;
+esac
diff --git a/scripts/.local/bin/personal/bar/mute b/scripts/.local/bin/personal/bar/mute
deleted file mode 100755
index 7c987a2..0000000
--- a/scripts/.local/bin/personal/bar/mute
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-SOURCE="alsa_input.usb-R__DE_Microphones_R__DE_NT-USB_Mini_610BAACA-00.mono-fallback"
-
-SOURCE="$(pactl get-default-source)"
-VOLUME="$(pactl get-source-volume "$SOURCE" | grep -o [0-9]*% | head -n 1)"
-
-if [[ "$1" == "shortstatus" ]]; then
- if [[ "$VOLUME" == "0%" ]]; then
- echo "Muted"
- else
- echo ""
- fi
-
- exit
-fi
-
-if [[ "$1" == "status" ]]; then
- NAME="$(pactl list sources | grep -o Description:.* | sed -n 's/Description: //g;2p')"
-
- echo "$NAME ($VOLUME)"
-
- exit
-fi
-
-if [[ "$VOLUME" == "0%" ]]; then
- pactl set-source-volume "$SOURCE" 70%
- notify-send -u low "Unmuted" -r 110
-else
- pactl set-source-volume "$SOURCE" 0%
- notify-send -u low "Muted" -r 110
-fi
-
diff --git a/scripts/.local/bin/personal/edit b/scripts/.local/bin/personal/edit
new file mode 100755
index 0000000..3ec2f0c
--- /dev/null
+++ b/scripts/.local/bin/personal/edit
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+p="$(which "$1")" &&
+istxt="$(file "$1" | cut -d' ' -f2)" &&
+exec $EDITOR $p ||
+echo "Error!"
+
diff --git a/scripts/.local/bin/personal/hostname b/scripts/.local/bin/personal/hostname
new file mode 100755
index 0000000..a7aac82
--- /dev/null
+++ b/scripts/.local/bin/personal/hostname
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+hostnamectl hostname
diff --git a/scripts/.local/bin/personal/musctl b/scripts/.local/bin/personal/musctl
index cca7b8d..6bfbd16 100755
--- a/scripts/.local/bin/personal/musctl
+++ b/scripts/.local/bin/personal/musctl
@@ -1,33 +1,38 @@
#!/bin/bash
-STATE="$(mpc | grep -o playing)"
-NAME="$(basename "$(mpc current)")"
+# A script to manage the music player daemon (mpd) on my system
+# Depends on: mpd, playerctl, libnotify
+# By David Penkowoj, 2024-09-16
-notify() {
- if [[ -n "$STATE" ]]; then
- notify-send "Currently playing" "${NAME%.*}"
- else
- notify-send "MPD is currently paused"
- fi
+music_state="$(mpc | grep -o playing)"
+music_name="$(basename "$(mpc current)")"
+
+notify_music() {
+ if [[ -n "$music_state" ]]; then
+ notify-send "Currently playing" "${music_name%.*}"
+ else
+ notify-send "MPD is currently paused"
+ fi
}
case "$1" in
- "previous")
- mpc -q prev
- playerctl -s previous
- ;;
- "toggle")
- mpc -q toggle
- playerctl -s play-pause
- ;;
- "next")
- mpc -q next
- playerctl -s next
- ;;
- "notify")
- notify
- ;;
- *)
- echo "[ Error ] Unknown command"
- ;;
+ "previous")
+ mpc -q prev
+ playerctl -s previous
+ ;;
+ "toggle")
+ mpc -q toggle
+ playerctl -s play-pause
+ ;;
+ "next")
+ mpc -q next
+ playerctl -s next
+ ;;
+ "notify")
+ notify_music
+ ;;
+ *)
+ printf "[ Error ] Usage: musctl [previous|toggle|next|notify]"
+ exit 1
+ ;;
esac
diff --git a/scripts/.local/bin/personal/volctl b/scripts/.local/bin/personal/volctl
index 8a02d1b..43d2a9a 100755
--- a/scripts/.local/bin/personal/volctl
+++ b/scripts/.local/bin/personal/volctl
@@ -1,23 +1,78 @@
#!/bin/bash
# A script to manage the volume on my system universally
+# Depends on: bash, pactl, libnotify
+# By David Penkowoj, 2024-09-16
-sink="$(pactl get-default-sink)"
-volume="$(pamixer --get-volume)"
-
-if [ "$1" = "increase" ]
-then
- pactl set-sink-volume "$sink" +5%
-elif [ "$1" = "decrease" ]
-then
- pactl set-sink-volume "$sink" -5%
-elif [ "$1" = "mute" ]
-then
- # TODO: Make this a toggle with memory
- pactl set-sink-volume "$sink" 0%
-elif [ "$1" = "check" ]
-then
- printf "%s\n" "$volume"
-else
- printf "[ Error ] Not enough arguments.\n"
-fi
+memfile="/tmp/$(whoami)-volctl.memtxt"
+
+# Headphones
+def_sink="$(pactl get-default-sink)"
+sink_volume="$(pactl get-sink-volume "$def_sink" | grep -o [0-9]*% | head -n 1)"
+
+# Microphone
+def_source="$(pactl get-default-source)"
+source_volume="$(pactl get-source-volume "$def_source" | grep -o [0-9]*% | head -n 1)"
+
+# Send notification
+notify_volume() {
+ v="$2"
+
+ if [ "$2" == "0%" ]; then
+ v="muted"
+ fi
+
+ notify-send -u low -r "110" "$1 volume: $v"
+}
+
+# Toggle headphones volume
+toggle_deaf() {
+ newvol="0%"
+
+ if [ "$sink_volume" == "0%" ]; then
+ newvol="$(<"$memfile")"
+ pactl set-sink-volume "$def_sink" "$newvol"
+ else
+ echo "$sink_volume" > "$memfile"
+ pactl set-sink-volume "$def_sink" 0%
+ fi
+
+ # notify_volume "Output" "$newvol"
+}
+
+# Toggle microphone volume
+toggle_mute() {
+ newvol="0%"
+
+ if [ "$source_volume" == "0%" ]; then
+ pactl set-source-volume "$def_source" 70%
+ newvol="70%"
+ else
+ pactl set-source-volume "$def_source" 0%
+ fi
+
+ notify_volume "Input" "$newvol"
+}
+
+# Decide what to do
+case "$1" in
+ "up")
+ pactl set-sink-volume "$def_sink" +5%
+ ;;
+ "down")
+ pactl set-sink-volume "$def_sink" -5%
+ ;;
+ "deaf")
+ toggle_deaf
+ ;;
+ "mute")
+ toggle_mute
+ ;;
+ "get")
+ printf "In: %s, Out: %s\n" "$source_volume" "$sink_volume"
+ ;;
+ *)
+ printf "[ Error ] Usage: volctl [up|down|deaf|mute|get]"
+ exit 1
+ ;;
+esac