I have a workaround/fix for DING that works. But before I propose that
I'm going to see if I can fix mutter still. It seems the problem is more
fundamentally in mutter, though they are fighting.

Roughly the problem is:

1. DING creates a fixed size window the size of the monitor. But it always 
starts on the primary monitor because the extension hasn't noticed it yet so 
hasn't moved it to the correct monitor.
2. Mutter moves the window down below the panel because on startup it doesn't 
have any special window type just yet (the extension hasn't seen its own window 
yet).
3. Now the window extends below the bottom of the monitor.
4. Mutter moves the window right to the next monitor because there's no panel 
there and it can fit fully on screen.
5. Mutter mistakenly delays in logical window resizing and halves the size of 
the window to match the OLD monitor scale it is no longer on.
6. Mutter decides this new smaller window is now so small it should move back 
to the old monitor.
7. Mutter moves the window down below the panel to fit in the work area. 
Everything fits.
8. Mutter resizes the window to match the scale of the OLD monitor it is no 
longer on.
9. Goto 3.

The infinite loop in mutter prevents the extension from completing
proper startup. It never calls hide_from_window_list() that would allow
us to use proper placement rules.

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to mutter in Ubuntu.
https://bugs.launchpad.net/bugs/1976204

Title:
  Screen freeze and high CPU when a second monitor of different scaling
  factor is attached (but only if DING is active)

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1976204/+subscriptions


-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to