Merge branch 'master' of ssh://git.jonathanh.co.uk:2222/jab2870/Dotfiles

This commit is contained in:
Jonathan Hodgson 2021-04-22 10:13:24 +01:00
commit e5360e8038
8 changed files with 258 additions and 191 deletions

View file

@ -1,3 +0,0 @@
This file was ~~stolen~~ borrowed from sxmo
<https://git.sr.ht/~mil/sxmo-utils/tree/master/item/configs/alsa>

View file

@ -1,41 +1,29 @@
state.PinePhone { state.PinePhone {
control.1 { control.1 {
iface MIXER iface CARD
name 'AIF1 AD0 Capture Volume' name 'Headphone Jack'
value.0 165 value false
value.1 165
comment { comment {
access 'read write' access read
type INTEGER type BOOLEAN
count 2 count 1
range '0 - 192'
dbmin -9999999
dbmax 2400
dbvalue.0 375
dbvalue.1 375
} }
} }
control.2 { control.2 {
iface MIXER iface CARD
name 'AIF1 DA0 Playback Volume' name 'Headset Microphone Jack'
value.0 149 value false
value.1 149
comment { comment {
access 'read write' access read
type INTEGER type BOOLEAN
count 2 count 1
range '0 - 192'
dbmin -9999999
dbmax 2400
dbvalue.0 -825
dbvalue.1 -825
} }
} }
control.3 { control.3 {
iface MIXER iface MIXER
name 'AIF2 ADC Capture Volume' name 'AIF1 AD0 Capture Volume'
value.0 168 value.0 160
value.1 168 value.1 160
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -43,15 +31,15 @@ state.PinePhone {
range '0 - 192' range '0 - 192'
dbmin -9999999 dbmin -9999999
dbmax 2400 dbmax 2400
dbvalue.0 600 dbvalue.0 0
dbvalue.1 600 dbvalue.1 0
} }
} }
control.4 { control.4 {
iface MIXER iface MIXER
name 'AIF2 DAC Playback Volume' name 'AIF1 DA0 Playback Volume'
value.0 0 value.0 160
value.1 0 value.1 160
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -59,15 +47,15 @@ state.PinePhone {
range '0 - 192' range '0 - 192'
dbmin -9999999 dbmin -9999999
dbmax 2400 dbmax 2400
dbvalue.0 -9999999 dbvalue.0 0
dbvalue.1 -9999999 dbvalue.1 0
} }
} }
control.5 { control.5 {
iface MIXER iface MIXER
name 'ADC Capture Volume' name 'AIF2 ADC Capture Volume'
value.0 179 value.0 160
value.1 179 value.1 160
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -75,15 +63,15 @@ state.PinePhone {
range '0 - 192' range '0 - 192'
dbmin -9999999 dbmin -9999999
dbmax 2400 dbmax 2400
dbvalue.0 1425 dbvalue.0 0
dbvalue.1 1425 dbvalue.1 0
} }
} }
control.6 { control.6 {
iface MIXER iface MIXER
name 'DAC Playback Volume' name 'AIF2 DAC Playback Volume'
value.0 169 value.0 160
value.1 169 value.1 160
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -91,14 +79,46 @@ state.PinePhone {
range '0 - 192' range '0 - 192'
dbmin -9999999 dbmin -9999999
dbmax 2400 dbmax 2400
dbvalue.0 675 dbvalue.0 0
dbvalue.1 675 dbvalue.1 0
} }
} }
control.7 { control.7 {
iface MIXER
name 'ADC Capture Volume'
value.0 160
value.1 160
comment {
access 'read write'
type INTEGER
count 2
range '0 - 192'
dbmin -9999999
dbmax 2400
dbvalue.0 0
dbvalue.1 0
}
}
control.8 {
iface MIXER
name 'DAC Playback Volume'
value.0 160
value.1 160
comment {
access 'read write'
type INTEGER
count 2
range '0 - 192'
dbmin -9999999
dbmax 2400
dbvalue.0 0
dbvalue.1 0
}
}
control.9 {
iface MIXER iface MIXER
name 'Headphone Playback Volume' name 'Headphone Playback Volume'
value 29 value 63
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -106,41 +126,13 @@ state.PinePhone {
range '0 - 63' range '0 - 63'
dbmin -9999999 dbmin -9999999
dbmax 0 dbmax 0
dbvalue.0 -3400
}
}
control.8 {
iface MIXER
name 'Mic1 Playback Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -450
dbmax 600
dbvalue.0 -450
}
}
control.9 {
iface MIXER
name 'Mic1 Boost Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin 0
dbmax 4200
dbvalue.0 0 dbvalue.0 0
} }
} }
control.10 { control.10 {
iface MIXER iface MIXER
name 'Mic2 Playback Volume' name 'Mic1 Playback Volume'
value 0 value 3
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -148,13 +140,13 @@ state.PinePhone {
range '0 - 7' range '0 - 7'
dbmin -450 dbmin -450
dbmax 600 dbmax 600
dbvalue.0 -450 dbvalue.0 0
} }
} }
control.11 { control.11 {
iface MIXER iface MIXER
name 'Mic2 Boost Volume' name 'Mic1 Boost Volume'
value 0 value 4
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -162,12 +154,12 @@ state.PinePhone {
range '0 - 7' range '0 - 7'
dbmin 0 dbmin 0
dbmax 4200 dbmax 4200
dbvalue.0 0 dbvalue.0 3300
} }
} }
control.12 { control.12 {
iface MIXER iface MIXER
name 'ADC Gain Capture Volume' name 'Mic2 Playback Volume'
value 3 value 3
comment { comment {
access 'read write' access 'read write'
@ -181,8 +173,22 @@ state.PinePhone {
} }
control.13 { control.13 {
iface MIXER iface MIXER
name 'Line In Playback Volume' name 'Mic2 Boost Volume'
value 0 value 4
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin 0
dbmax 4200
dbvalue.0 3300
}
}
control.14 {
iface MIXER
name 'ADC Gain Capture Volume'
value 3
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -190,27 +196,27 @@ state.PinePhone {
range '0 - 7' range '0 - 7'
dbmin -450 dbmin -450
dbmax 600 dbmax 600
dbvalue.0 -450 dbvalue.0 0
}
}
control.14 {
iface MIXER
name 'Line Out Playback Volume'
value 0
comment {
access 'read write'
type INTEGER
count 1
range '0 - 31'
dbmin -9999999
dbmax 0
dbvalue.0 -9999999
} }
} }
control.15 { control.15 {
iface MIXER iface MIXER
name 'Earpiece Playback Volume' name 'Line In Playback Volume'
value 0 value 3
comment {
access 'read write'
type INTEGER
count 1
range '0 - 7'
dbmin -450
dbmax 600
dbvalue.0 0
}
}
control.16 {
iface MIXER
name 'Line Out Playback Volume'
value 31
comment { comment {
access 'read write' access 'read write'
type INTEGER type INTEGER
@ -218,27 +224,26 @@ state.PinePhone {
range '0 - 31' range '0 - 31'
dbmin -9999999 dbmin -9999999
dbmax 0 dbmax 0
dbvalue.0 -9999999 dbvalue.0 0
}
}
control.16 {
iface MIXER
name 'AIF1 AD0 Stereo Capture Route'
value.0 'Mix Mono'
value.1 'Mix Mono'
comment {
access 'read write'
type ENUMERATED
count 2
item.0 Stereo
item.1 'Reverse Stereo'
item.2 'Sum Mono'
item.3 'Mix Mono'
} }
} }
control.17 { control.17 {
iface MIXER iface MIXER
name 'AIF2 ADC Stereo Capture Route' name 'Earpiece Playback Volume'
value 31
comment {
access 'read write'
type INTEGER
count 1
range '0 - 31'
dbmin -9999999
dbmax 0
dbvalue.0 0
}
}
control.18 {
iface MIXER
name 'AIF1 AD0 Stereo Capture Route'
value.0 Stereo value.0 Stereo
value.1 Stereo value.1 Stereo
comment { comment {
@ -251,20 +256,35 @@ state.PinePhone {
item.3 'Mix Mono' item.3 'Mix Mono'
} }
} }
control.18 { control.19 {
iface MIXER
name 'AIF2 ADC Stereo Capture Route'
value.0 'Mix Mono'
value.1 'Mix Mono'
comment {
access 'read write'
type ENUMERATED
count 2
item.0 Stereo
item.1 'Reverse Stereo'
item.2 'Sum Mono'
item.3 'Mix Mono'
}
}
control.20 {
iface MIXER iface MIXER
name 'AIF3 ADC Source Capture Route' name 'AIF3 ADC Source Capture Route'
value 'AIF2 Right' value None
comment { comment {
access 'read write' access 'read write'
type ENUMERATED type ENUMERATED
count 1 count 1
item.0 None item.0 None
item.1 'AIF2 Left' item.1 'AIF2 ADCL'
item.2 'AIF2 Right' item.2 'AIF2 ADCR'
} }
} }
control.19 { control.21 {
iface MIXER iface MIXER
name 'AIF1 Slot 0 Digital ADC Capture Switch' name 'AIF1 Slot 0 Digital ADC Capture Switch'
value.0 false value.0 false
@ -275,21 +295,21 @@ state.PinePhone {
count 2 count 2
} }
} }
control.20 { control.22 {
iface MIXER iface MIXER
name 'AIF2 Digital ADC Capture Switch' name 'AIF2 Digital ADC Capture Switch'
value.0 false value.0 false
value.1 false value.1 true
comment { comment {
access 'read write' access 'read write'
type BOOLEAN type BOOLEAN
count 2 count 2
} }
} }
control.21 { control.23 {
iface MIXER iface MIXER
name 'AIF1 Data Digital ADC Capture Switch' name 'AIF1 Data Digital ADC Capture Switch'
value.0 false value.0 true
value.1 false value.1 false
comment { comment {
access 'read write' access 'read write'
@ -297,7 +317,7 @@ state.PinePhone {
count 2 count 2
} }
} }
control.22 { control.24 {
iface MIXER iface MIXER
name 'AIF2 Inv Digital ADC Capture Switch' name 'AIF2 Inv Digital ADC Capture Switch'
value.0 false value.0 false
@ -308,18 +328,18 @@ state.PinePhone {
count 2 count 2
} }
} }
control.23 { control.25 {
iface MIXER iface MIXER
name 'AIF2 ADC Mixer AIF1 DA0 Capture Switch' name 'AIF2 ADC Mixer AIF1 DA0 Capture Switch'
value.0 false value.0 false
value.1 false value.1 true
comment { comment {
access 'read write' access 'read write'
type BOOLEAN type BOOLEAN
count 2 count 2
} }
} }
control.24 { control.26 {
iface MIXER iface MIXER
name 'AIF2 ADC Mixer AIF2 DAC Rev Capture Switch' name 'AIF2 ADC Mixer AIF2 DAC Rev Capture Switch'
value.0 false value.0 false
@ -330,10 +350,10 @@ state.PinePhone {
count 2 count 2
} }
} }
control.25 { control.27 {
iface MIXER iface MIXER
name 'AIF2 ADC Mixer ADC Capture Switch' name 'AIF2 ADC Mixer ADC Capture Switch'
value.0 false value.0 true
value.1 false value.1 false
comment { comment {
access 'read write' access 'read write'
@ -341,20 +361,20 @@ state.PinePhone {
count 2 count 2
} }
} }
control.26 { control.28 {
iface MIXER iface MIXER
name 'AIF2 DAC Source Playback Route' name 'AIF2 DAC Source Playback Route'
value None value AIF2
comment { comment {
access 'read write' access 'read write'
type ENUMERATED type ENUMERATED
count 1 count 1
item.0 None item.0 AIF2
item.1 'AIF2 Left' item.1 AIF3+2
item.2 'AIF2 Right' item.2 AIF2+3
} }
} }
control.27 { control.29 {
iface MIXER iface MIXER
name 'AIF1 DA0 Stereo Playback Route' name 'AIF1 DA0 Stereo Playback Route'
value.0 Stereo value.0 Stereo
@ -369,11 +389,11 @@ state.PinePhone {
item.3 'Mix Mono' item.3 'Mix Mono'
} }
} }
control.28 { control.30 {
iface MIXER iface MIXER
name 'AIF2 DAC Stereo Playback Route' name 'AIF2 DAC Stereo Playback Route'
value.0 Stereo value.0 'Sum Mono'
value.1 Stereo value.1 'Sum Mono'
comment { comment {
access 'read write' access 'read write'
type ENUMERATED type ENUMERATED
@ -384,21 +404,10 @@ state.PinePhone {
item.3 'Mix Mono' item.3 'Mix Mono'
} }
} }
control.29 { control.31 {
iface MIXER iface MIXER
name 'AIF1 Slot 0 Digital DAC Playback Switch' name 'AIF1 Slot 0 Digital DAC Playback Switch'
value.0 true value.0 true
value.1 true
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.30 {
iface MIXER
name 'AIF2 Digital DAC Playback Switch'
value.0 false
value.1 false value.1 false
comment { comment {
access 'read write' access 'read write'
@ -406,7 +415,18 @@ state.PinePhone {
count 2 count 2
} }
} }
control.31 { control.32 {
iface MIXER
name 'AIF2 Digital DAC Playback Switch'
value.0 false
value.1 true
comment {
access 'read write'
type BOOLEAN
count 2
}
}
control.33 {
iface MIXER iface MIXER
name 'ADC Digital DAC Playback Switch' name 'ADC Digital DAC Playback Switch'
value.0 false value.0 false
@ -417,7 +437,7 @@ state.PinePhone {
count 2 count 2
} }
} }
control.32 { control.34 {
iface MIXER iface MIXER
name 'Headphone Source Playback Route' name 'Headphone Source Playback Route'
value.0 DAC value.0 DAC
@ -430,7 +450,7 @@ state.PinePhone {
item.1 Mixer item.1 Mixer
} }
} }
control.33 { control.35 {
iface MIXER iface MIXER
name 'Headphone Playback Switch' name 'Headphone Playback Switch'
value.0 true value.0 true
@ -441,10 +461,10 @@ state.PinePhone {
count 2 count 2
} }
} }
control.34 { control.36 {
iface MIXER iface MIXER
name 'Line Out Source Playback Route' name 'Line Out Source Playback Route'
value.0 'Mono Differential' value.0 Stereo
value.1 Stereo value.1 Stereo
comment { comment {
access 'read write' access 'read write'
@ -454,18 +474,18 @@ state.PinePhone {
item.1 'Mono Differential' item.1 'Mono Differential'
} }
} }
control.35 { control.37 {
iface MIXER iface MIXER
name 'Line Out Playback Switch' name 'Line Out Playback Switch'
value.0 false value.0 true
value.1 false value.1 true
comment { comment {
access 'read write' access 'read write'
type BOOLEAN type BOOLEAN
count 2 count 2
} }
} }
control.36 { control.38 {
iface MIXER iface MIXER
name 'Earpiece Source Playback Route' name 'Earpiece Source Playback Route'
value DACR value DACR
@ -479,17 +499,17 @@ state.PinePhone {
item.3 'Left Mixer' item.3 'Left Mixer'
} }
} }
control.37 { control.39 {
iface MIXER iface MIXER
name 'Earpiece Playback Switch' name 'Earpiece Playback Switch'
value false value true
comment { comment {
access 'read write' access 'read write'
type BOOLEAN type BOOLEAN
count 1 count 1
} }
} }
control.38 { control.40 {
iface MIXER iface MIXER
name 'Mic1 Playback Switch' name 'Mic1 Playback Switch'
value.0 false value.0 false
@ -500,7 +520,7 @@ state.PinePhone {
count 2 count 2
} }
} }
control.39 { control.41 {
iface MIXER iface MIXER
name 'Mic2 Playback Switch' name 'Mic2 Playback Switch'
value.0 false value.0 false
@ -511,18 +531,18 @@ state.PinePhone {
count 2 count 2
} }
} }
control.40 { control.42 {
iface MIXER iface MIXER
name 'Line In Playback Switch' name 'Line In Playback Switch'
value.0 false value.0 true
value.1 false value.1 true
comment { comment {
access 'read write' access 'read write'
type BOOLEAN type BOOLEAN
count 2 count 2
} }
} }
control.41 { control.43 {
iface MIXER iface MIXER
name 'DAC Playback Switch' name 'DAC Playback Switch'
value.0 true value.0 true
@ -533,7 +553,7 @@ state.PinePhone {
count 2 count 2
} }
} }
control.42 { control.44 {
iface MIXER iface MIXER
name 'DAC Reversed Playback Switch' name 'DAC Reversed Playback Switch'
value.0 false value.0 false
@ -544,18 +564,18 @@ state.PinePhone {
count 2 count 2
} }
} }
control.43 { control.45 {
iface MIXER iface MIXER
name 'Mic1 Capture Switch' name 'Mic1 Capture Switch'
value.0 false value.0 true
value.1 false value.1 true
comment { comment {
access 'read write' access 'read write'
type BOOLEAN type BOOLEAN
count 2 count 2
} }
} }
control.44 { control.46 {
iface MIXER iface MIXER
name 'Mic2 Capture Switch' name 'Mic2 Capture Switch'
value.0 false value.0 false
@ -566,7 +586,7 @@ state.PinePhone {
count 2 count 2
} }
} }
control.45 { control.47 {
iface MIXER iface MIXER
name 'Line In Capture Switch' name 'Line In Capture Switch'
value.0 false value.0 false
@ -577,7 +597,7 @@ state.PinePhone {
count 2 count 2
} }
} }
control.46 { control.48 {
iface MIXER iface MIXER
name 'Mixer Capture Switch' name 'Mixer Capture Switch'
value.0 false value.0 false
@ -588,7 +608,7 @@ state.PinePhone {
count 2 count 2
} }
} }
control.47 { control.49 {
iface MIXER iface MIXER
name 'Mixer Reversed Capture Switch' name 'Mixer Reversed Capture Switch'
value.0 false value.0 false

View file

@ -1,9 +1,31 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
source "$DIR/../modem/common"
viewMissedCalls(){
local choice="$( (
#cat "$CALL_DIR/missed-calls" | awk -F '\t' '{"date +%Y-%m-%d %H:%M:%S -d @" $1 |& getline $1; print $2 "<sub>" $1 "</sub>"}'
cat "$CALL_DIR/missed-calls" | awk -F '\t' '{"date -d @" $1 " \"+%Y-%m-%d %H:%M:%S\"" |& getline $1; print $2 " <span size=\"xx-small\">" $1 "</span><span font=\"0\">"$3"</span>"}'
echo "Clear"
)| trofi -markup-rows )"
case "$choice" in
"Clear") rm "$CALL_DIR/missed-calls" ;;
*)
local number="$(echo "$choice" | cut -d '>' -f 4 | cut -d '<' -f 1)"
makeCall "$number"
;;
esac
}
options="End All Calls options="End All Calls
Check for Calls Check for Calls
Check for Texts Check for Texts
Dialer" $( [ -f "$CALL_DIR/missed-calls" ] && echo "Missed Calls" )
Dialer
Back"
options="$(echo "$options" | sed '/^$/d')"
while true ; do while true ; do
choice="$(echo "$options" | trofi)" choice="$(echo "$options" | trofi)"
@ -14,6 +36,7 @@ while true ; do
break ;; break ;;
"Check for Calls") checkCall ;; "Check for Calls") checkCall ;;
"Check for Texts") checkSMS ;; "Check for Texts") checkSMS ;;
"Missed Calls") viewMissedCalls; break ;;
"Dialer") (dialer &); break ;; "Dialer") (dialer &); break ;;
"Back") break;; "Back") break;;
esac esac

View file

@ -9,4 +9,4 @@ lines="$(echo "$input" | wc -l )"
[ "$lines" -gt 15 ] && lines=15 [ "$lines" -gt 15 ] && lines=15
echo "$input" | rofi -dmenu -me-accept-entry '!MousePrimary' -theme "themes/touch-dmenu.rasi" -lines "$lines" echo "$input" | rofi -dmenu -me-accept-entry '!MousePrimary' -theme "themes/touch-dmenu.rasi" -lines "$lines" "$@"

View file

@ -220,7 +220,7 @@ checkFinished(){
# it hasn't been answerd yet. # it hasn't been answerd yet.
# Treat as a missed call # Treat as a missed call
if ps aux | grep -E '\Wrofi' | grep -q "call-from-$contact"; then if ps aux | grep -E '\Wrofi' | grep -q "call-from-$contact"; then
echo "Missed call from $contact" >> "$CALL_DIR/missed-calls" echo -e "$(date '+%s')\t$contact\t$number" >> "$CALL_DIR/missed-calls"
pkill mpv pkill mpv
mmcli -m "$modem" --voice-delete-call "$id" mmcli -m "$modem" --voice-delete-call "$id"
ps aux | grep -E '\Wrofi' | grep "call-from-$contact" | ps aux | grep -E '\Wrofi' | grep "call-from-$contact" |

View file

@ -61,13 +61,15 @@ echo "$ids" | while read -r id; do
log="$SMS_DIR/$number/sms.log" log="$SMS_DIR/$number/sms.log"
[ ! -f "$log" ] && printf '\00READ\00' >> "$log"
# Store the message in the log file # Store the message in the log file
echo "RECIEVED" echo "RECIEVED"
echo "SENDER: $number" >> $log echo "SENDER: $number" >> "$log"
echo "TIME: $(date -d "$time")" >> $log echo "TIME: $(date -d "$time")" >> "$log"
echo "----" >> $log echo "----" >> "$log"
echo -e "$text" >> $log echo -e "$text" >> "$log"
printf '\00\n' >> $log printf '\00\n' >> "$log"
mmcli -m "$modem" --messaging-delete-sms="$id" mmcli -m "$modem" --messaging-delete-sms="$id"
done done

View file

@ -27,7 +27,9 @@ while [[ $1 = -?* ]]; do
shift shift
done done
number="$1" number="$(echo "$1" | sed 's/^0/+44/')"
[ -z "$number" ] && die "No Number Specified" [ -z "$number" ] && die "No Number Specified"

View file

@ -1,10 +1,33 @@
#!/usr/bin/env bash #!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
source "$DIR/../modem/common"
battery="$(cat /sys/class/power_supply/axp20x-battery/capacity)" battery="$(cat /sys/class/power_supply/axp20x-battery/capacity)"
batteryStatus="$(cat /sys/class/power_supply/axp20x-battery/status)" batteryStatus="$(cat /sys/class/power_supply/axp20x-battery/status)"
[ "$batteryStatus" = "Charging" ] && batteryIcon="🔌" || batteryIcon="🔋" [ "$batteryStatus" = "Charging" ] && batteryIcon="🔌" || batteryIcon="🔋"
missedCallsNo="$(cat "$CALL_DIR/missed-calls" | wc -l )"
time="$(date "+%H:%M")" time="$(date "+%H:%M")"
notify-send "$(hostname)" "$batteryIcon ${battery}%\nTime $time" newTexts=0
for i in "$SMS_DIR"/*/sms.log; do
echo "$i"
count="$(sed -n '/\x0READ\x0/,$ p' "$i" | sed '1d' |
sed -n 's/\x0/-/p' | wc -l)"
echo "$count"
newTexts=$(( newTexts + count ))
done
notification="
$batteryIcon ${battery}%
Time $time
$( ip r | grep -v "default" | awk '{print $3 ": " $9}')
$( [ "$missedCallsNo" -gt 0 ] && echo "$missedCallsNo Missed Calls" )
$( [ "$newTexts" -gt 0 ] && echo "$newTexts New Texts" )
"
notification="$( echo "$notification" | sed '/^$/d' )"
notify-send "$(hostname)" "$notification"