summary refs log tree commit diff
path: root/bin/hibiki
diff options
context:
space:
mode:
Diffstat (limited to 'bin/hibiki')
-rwxr-xr-xbin/hibiki/mount-solus-backup35
-rwxr-xr-xbin/hibiki/soundswitch41
2 files changed, 76 insertions, 0 deletions
diff --git a/bin/hibiki/mount-solus-backup b/bin/hibiki/mount-solus-backup
new file mode 100755
index 0000000..7aaf44b
--- /dev/null
+++ b/bin/hibiki/mount-solus-backup
@@ -0,0 +1,35 @@
+#!/bin/env bash
+
+D_SQUASHFS="solus_2019-12-23.squashfs"
+D_RAW="${D_SQUASHFS%.squashfs}.img"
+
+mount() {
+	udisksctl mount -b /dev/disk/by-partlabel/rTranscend
+
+	mkdir -p /tmp/mnt-solus-squashfs
+	sudo mount /run/media/robert/rTranscend/${D_SQUASHFS} /tmp/mnt-solus-squashfs
+
+	sudo losetup --partscan /dev/loop1 /tmp/mnt-solus-squashfs/${D_RAW}
+	sudo pvs
+	sudo vgchange -a y SolusSystem
+
+	mkdir -p /tmp/mnt-solus
+	sudo mount -o ro /dev/SolusSystem/Root /tmp/mnt-solus
+
+	ls /tmp/mnt-solus
+}
+
+unmount() {
+	sudo umount /tmp/mnt-solus
+	sudo vgchange -a n SolusSystem
+	sudo losetup -d /dev/loop1
+	sudo umount /tmp/mnt-solus-squashfs
+	udisksctl unmount -b /dev/disk/by-partlabel/rTranscend
+}
+
+set -x
+
+case "$1" in
+	-u) unmount ;;
+	*) mount ;;
+esac
diff --git a/bin/hibiki/soundswitch b/bin/hibiki/soundswitch
new file mode 100755
index 0000000..9ba73c9
--- /dev/null
+++ b/bin/hibiki/soundswitch
@@ -0,0 +1,41 @@
+#!/bin/sh
+set -ex
+
+global=
+focused=
+profile=
+
+while getopts fgp: name; do
+	case $name in
+		g) global=1 ;;
+		f) focused=1 ;;
+		p) profile=1 ;;
+		?) printf "usage: %s [-gf]\n" "$0" >&2; exit 2 ;;
+	esac
+done
+
+if [ "$#" -lt 1 ]; then
+	printf "global\nfocused\nprofile\n" | menu | {
+		read -r line
+		case "${line}" in
+			global) exec "$0" -g ;;
+			focused) exec "$0" -f ;;
+			profile) exec "$0" -p ;;
+		esac
+	}
+fi
+
+if [ -n "${global}" ]; then
+	pactl list short sinks | awk '{print $2}' | menu | xargs pactl set-default-sink
+	exit 0
+fi
+
+if [ -n "${focused}" ]; then
+	printf "not implemented\n" >&2
+	exit 1
+fi
+
+if [ -n "${profile}" ]; then
+	printf "not implemented\n" >&2
+	exit 1
+fi