summaryrefslogtreecommitdiff
path: root/scripts/toggle_internal_monitor.sh
diff options
context:
space:
mode:
authorEnricoGuccii <partyka.003@proton.me>2026-05-03 02:10:07 +0200
committerEnricoGuccii <partyka.003@proton.me>2026-05-03 02:10:07 +0200
commit5ad0cc56f3dbc5a14484cb5547472349bb99a889 (patch)
treec151ae36b454b8f9b54a79243e91a755239f00c3 /scripts/toggle_internal_monitor.sh
parent70f575a4f8d8adfd0d3abecc6554bdb628166ebd (diff)
add: scripts
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