From 8c07c1005012a264fd11c01e4cda237423c1a2b8 Mon Sep 17 00:00:00 2001 From: Andrew Zambazos Date: Wed, 26 Aug 2026 17:51:46 +1200 Subject: [PATCH] Stop pinning Sway output mode in dev config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removes the hardcoded `output * mode 1920x1080` from the development Sway config and updates related docs to match. Dev sessions now rely on each output’s preferred mode at scale `1`, which better follows current display size (including VMware autofit behavior), while still documenting how to set a mode manually when needed. --- compositor/README.md | 3 +-- compositor/sway/nebula-sway.conf | 8 +++----- shells/desktop/README.md | 4 ++-- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/compositor/README.md b/compositor/README.md index d81f6e8..6e8b2e9 100644 --- a/compositor/README.md +++ b/compositor/README.md @@ -50,11 +50,10 @@ NEBULA_SHELL_AUTOSTART=0 sh compositor/sway/dev/run-sway-vm.sh ### Output / resolution -The development config uses scale `1` and requests `1920x1080` when that mode is advertised. If it is not, Sway keeps the preferred mode. This is a VM convenience, not a production requirement. +The development config uses scale `1` and does not pin a resolution. Sway uses the output's preferred mode, which follows the current display size (including VMware Autofit Guest). ```bash swaymsg -t get_outputs -swaymsg output mode 1920x1080 swaymsg output scale 1 ``` diff --git a/compositor/sway/nebula-sway.conf b/compositor/sway/nebula-sway.conf index 1fb979d..a2527f6 100644 --- a/compositor/sway/nebula-sway.conf +++ b/compositor/sway/nebula-sway.conf @@ -9,15 +9,13 @@ set $term foot # ----------------------------------------------------------------------------- # Output / resolution # ----------------------------------------------------------------------------- -# Development default: 1:1 scale, fill the current VMware display. -# Request 1920x1080 when the output advertises that mode. If the mode is not -# available, Sway keeps the output's preferred mode instead of failing. +# Development default: 1:1 scale, fill the current display. +# No mode is pinned, so Sway uses the output's preferred mode (typically the +# native or current size). VMware Autofit Guest can then follow the host window. # -# This is a development convenience, not a production architecture requirement. # Inspect modes: swaymsg -t get_outputs # Force another mode (example): swaymsg output mode 1600x900 output * scale 1 -output * mode 1920x1080 output * bg #000000 solid_color # ----------------------------------------------------------------------------- diff --git a/shells/desktop/README.md b/shells/desktop/README.md index 16da2fb..fc59eeb 100644 --- a/shells/desktop/README.md +++ b/shells/desktop/README.md @@ -218,7 +218,7 @@ QT_QUICK_BACKEND=software ./build/nebula-shell ### Output / resolution -The development Sway config requests `1920x1080` at scale `1` when that mode exists. If the VM does not advertise it, Sway keeps the preferred mode. This is a development default, not a production requirement. +The development Sway config uses scale `1` and does not pin a resolution. Sway uses the output's preferred mode so the session follows the current display size. Inspect outputs and modes: @@ -229,7 +229,7 @@ swaymsg -t get_outputs Set a mode explicitly if needed: ```bash -swaymsg output mode 1920x1080 +swaymsg output mode 1600x900 swaymsg output scale 1 ```