summaryrefslogtreecommitdiff
path: root/scripts/toggle_internal_monitor.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/toggle_internal_monitor.sh')
-rw-r--r--scripts/toggle_internal_monitor.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/scripts/toggle_internal_monitor.sh b/scripts/toggle_internal_monitor.sh
new file mode 100644
index 0000000..706dcf1
--- /dev/null
+++ b/scripts/toggle_internal_monitor.sh
@@ -0,0 +1,17 @@
+#!/bin/zsh
+
+INTERNAL="eDP-1"
+EXTERNAL="HDMI-A-1"
+
+outputs=$(swaymsg -t get_outputs -r)
+
+internal_active=$(echo "$outputs" | jq -r --arg o "$INTERNAL" '.[] | select(.name==$o and .active==true) | .name')
+external_active=$(echo "$outputs" | jq -r --arg o "$EXTERNAL" '.[] | select(.name==$o and .active==true) | .name')
+
+if [[ -n "$external_active" ]]; then
+ if [[ -n "$internal_active" ]]; then
+ swaymsg output "$INTERNAL" disable
+ else
+ swaymsg output "$INTERNAL" enable
+ fi
+fi