aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbspwm/.config/bspwm/bspwmrc3
-rwxr-xr-xbspwm/scripts/bspwm/macropad.sh32
2 files changed, 34 insertions, 1 deletions
diff --git a/bspwm/.config/bspwm/bspwmrc b/bspwm/.config/bspwm/bspwmrc
index a7eaef2..72e9184 100755
--- a/bspwm/.config/bspwm/bspwmrc
+++ b/bspwm/.config/bspwm/bspwmrc
@@ -11,7 +11,8 @@ run sxhkd
run polybar bspwm
run ~/scripts/bspwm/desktops.sh
run ~/scripts/bspwm/border_colors.sh
-~/scripts/bspwm/wallpaper.sh
+run ~/scripts/bspwm/wallpaper.sh
+run ~/scripts/bspwm/macropad.sh
#compton -i .8 --focus-exclude '_NET_WM_NAME@:s = "rofi"' --blur-background --blur-kern '3,3,0.1,1,1,1,1,1,1,1' &
diff --git a/bspwm/scripts/bspwm/macropad.sh b/bspwm/scripts/bspwm/macropad.sh
new file mode 100755
index 0000000..0dcf843
--- /dev/null
+++ b/bspwm/scripts/bspwm/macropad.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# This script listen the events from BSPWM and report to the macropad the
+# layout to use.
+
+# The script only listen the events from switching one desktop to another one,
+# and do not report the events specific for a window.
+
+# Send to the macropad the appropriate layout depending of the desktop.
+send_layout() {
+ echo $1 | socat - TCP4:localhost:9999
+}
+
+bspc subscribe desktop | while read -r event monitor_id desktop_id name;
+do
+ case $event in
+ desktop_focus)
+ name=$(bspc query -D -d --names)
+ echo $name;
+ case $name in
+ Web)
+ send_layout "Firefox"
+ ;;
+ 6-girl)
+ send_layout "Num pad"
+ ;;
+ *)
+ #echo Num pad | socat - TCP4:localhost:9999;
+ ;;
+ esac;
+ esac;
+done