5.3 KiB
Mutter bug report draft
Where to file
File this in GNOME Mutter:
This appears to be a Mutter issue because the observed behavior is window-management related on Wayland, not a behavior implemented by this project. This project only configures monitor layout through gdctl and does not move third-party windows between monitors in response to pointer focus changes.
Suggested title
Window moved to lower monitor jumps back to primary upper monitor after clicking the primary monitor
Report body
Summary
On a dual-screen vertical layout under GNOME on Wayland, if I move a window to the lower monitor and then click on the upper primary monitor, the moved window is brought back to the upper monitor unexpectedly.
This looks like a Mutter/GNOME window-management issue. I initially suspected my monitor-layout helper, but after reviewing its code path, it only applies monitor topology through gdctl and does not contain any logic that moves arbitrary application windows in response to pointer clicks or focus changes.
Environment
- Hardware: ASUS Zenbook Duo UX8406MA
- Monitors: two internal displays arranged vertically
- Layout: upper display is primary, lower display is positioned below it
- Session: GNOME on Wayland
- Distro: Ubuntu
- GNOME Shell version:
<fill in output of gnome-shell --version> - Mutter package version:
<fill in output of apt policy mutter mutter-common-bin | sed -n '1,12p'> - Kernel:
<fill in output of uname -r> - GPU:
<fill in output of lspci | grep -iE 'vga|3d|display'>
Steps to reproduce
- Use a GNOME Wayland session with two displays in a vertical stack.
- Set the upper display as the primary monitor.
- Set the lower display below the primary monitor.
- Open a normal application window.
- Move that window to the lower monitor.
- Click somewhere on the upper primary monitor.
Actual result
The window that was moved to the lower monitor is brought back to the upper primary monitor.
Expected result
Clicking the primary monitor should change focus only. It should not move a window from the lower monitor back to the primary monitor unless the user explicitly requested a move.
Frequency
<always / often / intermittent>
Scope
- Affects Wayland-native apps:
<yes/no> - Affects Xwayland apps:
<yes/no> - Reproduces with GNOME extensions disabled:
<yes/no> - Reproduces after stopping local Zenbook helper services:
<yes/no>
Why I believe this belongs in Mutter
- The behavior is specifically about window placement after focus interaction across monitors.
- My local helper only applies monitor configuration via
gdctl setwhen layout changes are requested or when hardware/lifecycle state changes. - It does not contain code that repositions other apps' windows on pointer clicks.
- If the issue still reproduces after stopping local helper services, that further isolates it to GNOME/Mutter.
Diagnostics
Please let me know if you want Mutter debug logs from a nested session, but here is the basic information I can provide immediately.
Display layout
<paste output of: gdctl show>
GNOME and package versions
gnome-shell --version
apt policy mutter mutter-common-bin gnome-shell
uname -a
GPU details
lspci | grep -iE 'vga|3d|display'
Session details
echo "$XDG_SESSION_TYPE"
echo "$XDG_CURRENT_DESKTOP"
loginctl show-session "$XDG_SESSION_ID" -p Type -p Desktop -p Name
Check whether helper services are involved
systemctl --user stop zenbook-duo-session-agent.service
sudo systemctl stop zenbook-duo-rust-daemon.service zenbook-duo-rust-lifecycle.service
Then retry the reproduction and note whether the issue still happens.
Journal logs around the reproduction
journalctl --user -b --no-pager | grep -iE 'gnome-shell|mutter|zenbook'
journalctl -b --no-pager | grep -iE 'gnome-shell|mutter|zenbook'
Additional notes
- The lower monitor is layout-wise below the primary monitor, not to the side.
- The key symptom is not just focus transfer; the window is actually re-homed to the primary monitor.
- If needed, I can test whether this depends on maximized state, tiled state, or whether the app is Wayland-native vs Xwayland.
Suggested duplicate search terms
Before filing, search Mutter issues for:
window jumps back to primary monitorwindow moved to second monitor returns to primarywayland vertical monitor layout focus moves windowZenbook Duo monitor click moves window
Local evidence from the Zenbook Duo project
Relevant code paths reviewed:
- ui-tauri-react/src-tauri/src/runtime/session_agent.rs only applies GNOME display layout through
gdctl, including--belowplacement for the second internal display. - ui-tauri-react/src-tauri/src/runtime/daemon.rs only triggers display replays on lifecycle, lid, session registration, or hardware policy changes.
- ui-tauri-react/src-tauri/src/lib.rs only focuses the Zenbook Duo app window itself from tray or single-instance flows.
These paths do not implement generic cross-monitor window moves for arbitrary applications.