Bug Report: Per-monitor layout profile not correctly restored after toggling a monitor on/off
Summary
When a monitor is toggled off and back on via GNOME Display Settings, Tiling Shell does not correctly re-associate the saved per-monitor layout to the right monitor. The layout assignments appear to shift or become mismatched after the display configuration changes.
Environment
- OS: Fedora 44 (Wayland)
- GNOME Shell version: (please confirm with
gnome-shell --version)
- Tiling Shell version: v17.3 (latest)
- Multi-monitor setup: Yes — 3 monitors
- Monitor 1 (Primary): Wacom Tech 24" — 3840×2160
- Monitor 2: Dell Inc. 25" — 2560×1440
- Monitor 3: ASUSTek COMPUTER INC 27" — 2560×1440
- Session type: Wayland
- GPU: NVIDIA RTX 4070 Ti 16GB
- Per-workspace layout: Enabled
Steps to Reproduce
- With all 3 monitors active, configure distinct per-monitor layouts in Tiling Shell (e.g. Monitor 1 = 3-column layout, Monitor 2 = a different layout, Monitor 3 = another layout)
- Open GNOME Settings → Displays
- Toggle one monitor off (disable it)
- Toggle the same monitor back on
- Observe the layout assignments across all monitors
Expected Behaviour
Each monitor should re-receive its previously saved layout profile after being toggled back on. The layout-to-monitor association should be stable across display configuration changes.
Actual Behaviour
After the monitor is toggled off and on, the layout assignments are not correctly restored. The layouts appear to shift between monitors — for example, the layout previously assigned to Monitor 1 may now appear on Monitor 3, and vice versa. The monitor order in the Tiling Shell panel popup changes (from 1→2→3 to 3→1→2 in testing), suggesting that monitor identity or index is being recalculated incorrectly after the configuration change.
Screenshots
See attached sequence of screenshots showing:
- Initial layout picker state with correct per-monitor layout assignments (09:14:46, 09:15:31)
- After toggling a monitor: layout picker showing incorrect/shifted layout assignments (09:15:51, 09:16:10)
- The "Apply Changes?" prompt visible during the display toggle (09:15:51)
- The resulting incorrect monitor ordering in the layout picker (09:16:10)
Additional Notes
- This is reproducible consistently by toggling any monitor in the set
- The bug does not require a logout/login — it occurs within the same session immediately after applying display changes
- Possible root cause: Tiling Shell may be identifying monitors by index (position in the monitor list) rather than by a stable hardware identifier (connector name, EDID, or serial). When GNOME recalculates the monitor list after a display topology change, the indices shift, causing layout assignments to be applied to the wrong monitor
- A suggested fix approach: persist layout assignments keyed to monitor connector name or EDID identifier rather than monitor index
Bug Report: Per-monitor layout profile not correctly restored after toggling a monitor on/off
Summary
When a monitor is toggled off and back on via GNOME Display Settings, Tiling Shell does not correctly re-associate the saved per-monitor layout to the right monitor. The layout assignments appear to shift or become mismatched after the display configuration changes.
Environment
gnome-shell --version)Steps to Reproduce
Expected Behaviour
Each monitor should re-receive its previously saved layout profile after being toggled back on. The layout-to-monitor association should be stable across display configuration changes.
Actual Behaviour
After the monitor is toggled off and on, the layout assignments are not correctly restored. The layouts appear to shift between monitors — for example, the layout previously assigned to Monitor 1 may now appear on Monitor 3, and vice versa. The monitor order in the Tiling Shell panel popup changes (from 1→2→3 to 3→1→2 in testing), suggesting that monitor identity or index is being recalculated incorrectly after the configuration change.
Screenshots
See attached sequence of screenshots showing:
Additional Notes