| Summary: | Title bar buttons of small windows disappear complety | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Christian Janoff <kdebugs> |
| Component: | kdecorations | Assignee: | Sandro Giessl <sgiessl> |
| Status: | RESOLVED INTENTIONAL | ||
| Severity: | normal | CC: | kwin-bugs-null |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Gentoo Packages | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | screenshot | ||
|
Description
Christian Janoff
2009-11-14 23:04:19 UTC
As the deco controls a minimum size and the titlebar layout: which one do you use? Created attachment 38334 [details]
screenshot
My decoration is "Ozone". But I tested them all: Only the "B II" deco does it right.
you're right, it seems to be a problem in KCommonDecoration I'm not experienced with it's layouting, but apparently not only ::minimumSize() lacks calls to ::buttonContainerWidth() but the button hiding seems to be intended. Sandro? The button hiding is intened - when the window size becomes too small, there really are only three options: 1. force a certain window minimum size, 2. limit the decoration _layout_ to some size greater than the actual windows size (buttons would shift beyond the window geometry. makes the decoration look broken), 3. hide buttons and spacers etc. in a smart way ensuring that nothing looks broken Third option has been chosen. 3. also is actually the best way to preserve the title bar dragging, because by hiding certain buttons the drag handle region is enlarged. "::buttonContainerWidth()" is not called because the metrics of buttons are determined using pixel size metric hints provided by the decoration. You are right in that the following improvements should be done: - The menu button should never be hidden, I guess - Button spacers should be hidden as well (I believe this is not done ATM. I didn't test it) - Dragging of "empty" titlebar should remain functional in any circumstance The decoration infrastructure in KWin 5 changed significantly. The class KCommonDecoration does no longer exist and this means this bug report can no longer be fixed. |