https://bugs.kde.org/show_bug.cgi?id=484423

            Bug ID: 484423
           Summary: quick tiling resizes windows to 0x0 on display
                    switching, breaking application rendering
    Classification: Plasma
           Product: kwin
           Version: 5.27.5
          Platform: Debian stable
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Quick Tiling
          Assignee: kwin-bugs-n...@kde.org
          Reporter: kolafl...@kolahilft.de
  Target Milestone: ---

SUMMARY
Quick tiled windows are temporarily being resized to (nearly) 0x0 when
switching monitors. Afterwards the window is automatically being resized to
it's correct size. This is a regression between KDE 5.20.5 (working fine,
Debian-11) and 5.27.5 (Debian-12).

Unfortunately even temporarily resizing to 0x0 confuses some UI toolkits like
Gtk-3. In case of Gtk-3 the window content is not being rendered any more, even
after resizing the window back to a valid size.

Resizing to 0x0 doesn't seem to happen with every hardware. But the same
problem is reproducible when simply turning off all displays for a moment.
  xrandr --output DISPLAY_NAME --off; sleep 3; xrandr --output DISPLAY_NAME
--auto



STEPS TO REPRODUCE

You may reproduce this with a Debian-12, Kubuntu-23.10 or openSUSE-15.5 live
image in a VM.
https://download.opensuse.org/distribution/leap/15.5/live/openSUSE-Leap-15.5-KDE-Live-x86_64-Media.iso
There you need to install a Gtk-3 application like "Geany" or "Pavucontrol".
Debian/Kubuntu: sudo apt update; sudo apt install geany
SUSE: sudo zypper install geany

1.
Start Geany and move it to the middle of the screens left boarder to trigger
quick tiling.
(tiling it into a corner won't trigger the bug)

2.
Close Geany and reopen it.
(Don't ask me why this is needed. But else the bug doesn't happen.)

3.
On reopening Geany should have opened tiled to the left half of the screen.

4.
Disconnect the display for a moment, then reconnect it.
Alternatively run: xrandr --output DISPLAY_NAME --off; sleep 3; xrandr --output
DISPLAY_NAME --auto

5.
Press CTRL+w to close the file opened in Geany. You'll see the window title
changing, so Geany didn't completely crash. But the content of the window stays
frozen. You may press CTRL+n to open a new empty file and the window title, the
window title will change again, but the window content will stay frozen.

This overrides the minimum window size set by Geany and Pavucontrol which is
somewhere around 50x50.

The same effect can be achieved by forcefully resizing Geany to 1x1. Simply
right click the window titlebar, choose
  More Actions -> Configure Special Window Settings -> Add Property -> Size
There you set "Force", 1x1 (0x0 doesn't work here) and cilck "Apply".
Afterwards change the value to 500x500.


OBSERVED RESULT
Window gets temporarily resized to (somewhere nearly) 0x0.

EXPECTED RESULT
Respect minimum window size. Or simply don't touch the window size at all when
there's no active display anyway.



SOFTWARE/OS VERSIONS
Linux: Debian-12
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.20.5

Regression: 5.20.5 on Debian-11 was working fine



ADDITIONAL INFORMATION

May be related to this bug:

Split does not reset to its original value once "adjacent quick-tiled windows"
configuration ceases to exist
https://bugs.kde.org/show_bug.cgi?id=465937

Window placement and positioning are sometimes wrong when waking up from sleep
https://bugs.kde.org/show_bug.cgi?id=465937
(sleeping may also "hide" the displays temporarily on some hardware)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to