aboutsummaryrefslogtreecommitdiff
path: root/i3/setup-vnc-monitor.sh
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2026-08-12 11:27:28 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2026-08-12 11:27:28 +0530
commit961fff2de6ef80c8ef0ccc4b2e3324f39ab619e6 (patch)
treefd820213530d2b360448a938a0030c9f3556664e /i3/setup-vnc-monitor.sh
parent1cb4e47ccadfe3c673d46808838eca751001609e (diff)
vnc extend like second monitor
Diffstat (limited to 'i3/setup-vnc-monitor.sh')
-rwxr-xr-xi3/setup-vnc-monitor.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/i3/setup-vnc-monitor.sh b/i3/setup-vnc-monitor.sh
new file mode 100755
index 0000000..cfbcc2e
--- /dev/null
+++ b/i3/setup-vnc-monitor.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+export DISPLAY=:0
+
+# Make the X framebuffer large enough for:
+# physical monitor: 1920x1080
+# VNC monitor: 1366x768
+#
+# Total width = 1920 + 1366 = 3286
+xrandr --fb 3286x1080
+
+# Remove the default Xvnc-style monitor if one exists.
+xrandr --delmonitor VNC-0 2>/dev/null || true
+
+# Don't create duplicates when i3 reloads.
+xrandr --delmonitor VNC-1 2>/dev/null || true
+xrandr --delmonitor VNC-2 2>/dev/null || true
+
+# Physical monitor is 1920x1080 at 0,0.
+xrandr --setmonitor PHYSICAL \
+ 1920/509x1080/286+0+0 \
+ none
+
+# Virtual VNC monitor is 1366x768 at 1920,0.
+xrandr --setmonitor VNC \
+ 1366/361x768/203+1920+0 \
+ none
+
+xrandr --listmonitors