dotfiles.git

commit 6cc8e44c4cd61c9e04ea99df822903be0651a9a4

Author: Adam Evyčędo <git@apiote.xyz>

bluetooth in alsa

 .config/alsa/asoundrc | 56 ++++++++++++++++++++++++++++++++++++
 .config/alsa/asoundrc-bluealsa | 7 ++++
 .config/alsa/asoundrc-default | 1 
 .config/sh/functions | 7 ++-
 .config/sway/sway_startup.sh | 4 --
 .gitignore | 1 
 .local/bin/bt | 6 +++


diff --git a/.config/alsa/asoundrc b/.config/alsa/asoundrc
index 8b137891791fe96927ad78e64b0aad7bded08bdc..9b0f0750a8593dc26a5e63a123ac86c6fc7fc623 100644
--- a/.config/alsa/asoundrc
+++ b/.config/alsa/asoundrc
@@ -1 +1,57 @@
+defaults.bluealsa.service "org.bluealsa"
+defaults.bluealsa.device "9C:19:C2:95:5D:E1"
+defaults.bluealsa.profile "a2dp"
+defaults.bluealsa.delay 10000
 
+bluealsa.default.link {
+	@func concat
+	strings [
+		{
+			@func getenv
+			vars [ HOME ]
+			default "/tmp"
+		}
+		"/.config/alsa/asoundrc-default"
+	]
+}
+
+pcm.!default {
+	type asym
+	capture.pcm cards.pcm.default
+	playback.pcm {
+		@func refer
+		file {
+			@func refer
+			name bluealsa.default.link
+		}
+		name "bluealsa.default.pcm.name"
+		default "cards.pcm.default"
+	}
+	hint.description {
+		@func concat 
+		strings [
+			"Capture: sysdefault, Playback: "
+			{
+				@func refer
+				name "bluealsa.default.pcm.description"
+				default "sysdefault"
+			}
+			"
+Default Audio Device"
+		]
+	}
+}
+
+ctl.!default {
+	@func refer
+	file {
+		@func refer
+		name bluealsa.default.link
+	}
+	name "bluealsa.default.ctl"
+	default {
+		@func refer
+		name ctl.sysdefault
+	}
+	hint.description "Default control device"
+}
\ No newline at end of file




diff --git a/.config/alsa/asoundrc-bluealsa b/.config/alsa/asoundrc-bluealsa
new file mode 100644
index 0000000000000000000000000000000000000000..cd910193bc5599e39d155836fa7b39bb0e42073f
--- /dev/null
+++ b/.config/alsa/asoundrc-bluealsa
@@ -0,0 +1,7 @@
+bluealsa.default {
+	pcm {
+		name pcm.bluealsa
+		description "Bluealsa Bluetooth"
+	}
+	ctl.type bluealsa
+}




diff --git a/.config/alsa/asoundrc-default b/.config/alsa/asoundrc-default
new file mode 120000
index 0000000000000000000000000000000000000000..dc1dc0cde0f7dff7b7f7c9347fff75936d705cb8
--- /dev/null
+++ b/.config/alsa/asoundrc-default
@@ -0,0 +1 @@
+/dev/null
\ No newline at end of file




diff --git a/.config/sh/functions b/.config/sh/functions
index 4e0d67d4c77a5a7d8d1ee8ea6a7acf39d89c1352..7da492ddf2ebbb5b92411a914ded42882c735fe2 100644
--- a/.config/sh/functions
+++ b/.config/sh/functions
@@ -507,12 +507,12 @@ 			echo "$volume" >/tmp/wob.sock
 		fi
 		printf '' >/tmp/wob.sock
 	else
-		output=$(grep -A2 default ~/.asoundrc | tail -n1 | awk '{print $2}')
-		if [ "$output" = 'dmix' ]
+		output=$(basename $(ls -l ~/.config/alsa/asoundrc-default | cut -d '>' -f2 | tr -d ' '))
+		if [ "$output" = 'null' ]
 		then
 			cmd='-M sset'
 			ctl='Master'
-		elif [ "$output" = 'blue' ]
+		elif [ "$output" = 'asoundrc-bluealsa' ]
 		then
 			cmd='-D bluealsa sset'
 			ctl=$(amixer -D bluealsa scontrols | grep 'A2DP' | sed -E "s/^[^']*'//" | sed "s/',0//")
@@ -528,6 +528,7 @@ 		then
 			result=$(amixer $cmd "$ctl" 5%-)
 		elif [ "$1" = 't' ]
 		then
+			# TODO not master; headphones or speaker
 			result=$(amixer $cmd "$ctl" toggle)
 		fi
 		echo "$result" | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -n1 > /tmp/wob.sock




diff --git a/.config/sway/sway_startup.sh b/.config/sway/sway_startup.sh
index 22efc5afcae057a8f519316c1087f71545ca8683..6ad8fb31166f09c96e6c031525af65bae085d173 100755
--- a/.config/sway/sway_startup.sh
+++ b/.config/sway/sway_startup.sh
@@ -53,8 +53,4 @@ ~/.local/bin/bar_clock
 
 ~/.local/bin/bar_all_once
 
-pipewire &
-pipewire-pulse &
-wireplumber &
-
 ~/.local/bin/network_backup &




diff --git a/.gitignore b/.gitignore
index bedddba3b0c5ccf10e86797a6361cd44abec7eba..8a4be971e42c310e3f68f4ffa33218bce7d03174 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,6 +61,7 @@ /.local/share/gomuks
 /.local/share/gonk
 /.local/share/gramps
 /.local/share/keybase
+/.local/share/keyrings
 /.local/share/khal
 /.local/share/lf
 /.local/share/luakit




diff --git a/.local/bin/bt b/.local/bin/bt
index 5384770af5a6a27959b8be79075d6ad00a17ef9d..53233ae1a4c6ddbc74b2a250fd85318a4279273c 100755
--- a/.local/bin/bt
+++ b/.local/bin/bt
@@ -1,12 +1,15 @@
 #!/bin/sh
 
+# TODO https://github.com/arkq/bluez-alsa/wiki/Using-BlueALSA-as-default-ALSA-PCM#automation
+
 trap bar_bluetooth INT
 
 if [ "$1" = 'on' ]
 then
 	(
+		ln -sf ~/.config/alsa/asoundrc-bluealsa ~/.config/alsa/asoundrc-default
 		#set -e
-		doas rfkill unblock bluetooth
+		doas /usr/sbin/rfkill unblock bluetooth
 		sleep 1
 		bluetoothctl power on || (sleep 2; bluetoothctl power on)
 		sleep 1
@@ -15,6 +18,7 @@ 	)
 elif [ "$1" = 'off' ]
 then
 	bluetoothctl power off
+	ln -sf /dev/null ~/.config/alsa/asoundrc-default
 else
 	bluetoothctl show | grep Powered | cut -f2
 	bluetoothctl info | grep -E '(Alias|Connected)' | cut -f2