aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config')
-rw-r--r--dot_config/sway/config12
-rw-r--r--dot_config/sway/executable_bt-toggle.sh16
2 files changed, 28 insertions, 0 deletions
diff --git a/dot_config/sway/config b/dot_config/sway/config
index f88875b..7f95a62 100644
--- a/dot_config/sway/config
+++ b/dot_config/sway/config
@@ -135,6 +135,18 @@ bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
+# Brightness
+bindsym XF86MonBrightnessUp exec brightnessctl set +5%
+bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
+
+# ThinkPad multimedia keys
+bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
+bindsym XF86Bluetooth exec ~/.config/sway/bt-toggle.sh
+bindsym XF86ScreenSaver exec "playerctl -a pause; swaylock -f -e -c 282828"
+bindsym XF86Sleep exec systemctl suspend
+bindsym XF86WLAN exec rfkill toggle wifi
+bindsym XF86RFKill exec rfkill toggle all
+
# Screenshots
bindsym Print exec sh -c 'grim -g "$(slurp)" - | tee ~/pics/screenshots/$(date +%Y-%m-%d-%H-%M-%S).png | wl-copy'
bindsym Shift+Print exec sh -c 'grim - | tee ~/pics/screenshots/$(date +%Y-%m-%d-%H-%M-%S).png | wl-copy'
diff --git a/dot_config/sway/executable_bt-toggle.sh b/dot_config/sway/executable_bt-toggle.sh
new file mode 100644
index 0000000..95958f9
--- /dev/null
+++ b/dot_config/sway/executable_bt-toggle.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Toggle Bluetooth power via bluetoothctl. Uses notify-send's synchronous
+# hint so repeated toggles replace the previous notification instead of
+# stacking.
+set -eu
+
+state=$(bluetoothctl show | awk '/Powered:/ {print $2}')
+if [ "$state" = "yes" ]; then
+ bluetoothctl power off >/dev/null
+ notify-send -t 1500 -h string:x-canonical-private-synchronous:bt \
+ 'Bluetooth' 'off'
+else
+ bluetoothctl power on >/dev/null
+ notify-send -t 1500 -h string:x-canonical-private-synchronous:bt \
+ 'Bluetooth' 'on'
+fi