Summary: | "Fullscreen" in window menu is disabled in all KDE/Qt apps, with 250% zoom and certain screen resolution | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Jin Liu <ad.liu.jin> |
Component: | core | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | nate |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=391956 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Jin Liu
2021-11-19 09:50:07 UTC
Moving to KConfigWidgets where the "Enter full screen" KStandardAction lives. I did some debugging and found this is indeed a kwin bug. But I don't know kwin enough to fix it though. The bug happens when X11, 250% zoom, screen size is not multiply of 3, and KDE/Qt apps only. The code is kwin/x11window.cpp: X11Window::isFullScreenable : > if (rules()->checkStrictGeometry(true)) { I don't know why but seems all KDE apps require strict geometry, while other apps don't. So only KDE apps pass the above check. > // check geometry constraints (rule to obey is set) > const QRect fullScreenArea = workspace()->clientArea(FullScreenArea, this); In my computer fullScreenArea is (3200,2000) > const QSize constrainedClientSize = constrainClientSize(fullScreenArea.size()); While constrainedClientSize is (3198, 1998). I.e. rounded to multiply of 3. That 3 comes from WM_SIZE_HINTS which specified resize increment = 3. I didn't track where that size hint come from, but again only KDE apps get that resize increment hint. > if (rules()->checkSize(constrainedClientSize) != fullScreenArea.size()) { So this check fails for all KDE apps in this particular screen size and zoom combo. > return false; // the app wouldn't fit exactly fullscreen geometry due to its strict geometry requirements > } > } I wonder if fixing this would also fix Bug 391956. The bug is only present on X11, right? It works on Wayland? (In reply to Nate Graham from comment #3) > I wonder if fixing this would also fix Bug 391956. > > The bug is only present on X11, right? It works on Wayland? Yes it works on Wayland. And on X11 it can be worked around by creating a "force disable Strict Geometry for all windows" window rule. Ditto for Bug 391956. So I guess these two bugs are indeed caused by the same problem: Strict Geometry forcing the window size to be multiply of global scaling factor, and thus unable to exactly fill the whole screen (as in this bug), or the desktop area (as in bug 391956). Sounds right. I'll mark this as a duplicate. Would you mind posting the conclusions of your technical investigation in Bug 391956? Thanks! *** This bug has been marked as a duplicate of bug 391956 *** |