Bug 468919 - Some KDE Apps don't respect KWin window rules even when "ignore requested geometry" is set to "force"
Summary: Some KDE Apps don't respect KWin window rules even when "ignore requested geo...
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: rules (show other bugs)
Version: 5.27.4
Platform: Kubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-04-24 18:22 UTC by Łukasz Konieczny
Modified: 2023-04-27 07:59 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Łukasz Konieczny 2023-04-24 18:22:33 UTC
SUMMARY
Some KDE Apps, notably KWrite and Okular, but probably others, don't launch to their window size being set (when previously their size was manually changed) even when "ignore requested geometry" is set to "force". That means, they stubbornly remember their last window size regardless of "ignore requested geometry" set to "force" and regardless of their window size set to "apply initially". This is annoying bug, not a feature, because perfectionists like me want to set initial sizes of all their applications to some values and have freedom to dynamically change that size, and have their apps again in their initial size after re-launching.

STEPS TO REPRODUCE
1. Set some window size for particular program.
2. Set "ignore requested geometry" to "force".
3. Launch program.
4. Change its size by dragging border.
5. Close app.
6. Open it again.

OBSERVED RESULT
App has size you changed by dragging.

EXPECTED RESULT
App has size NOT you changed by dragging, but its initial size set by you.

SOFTWARE/OS VERSIONS
Operating System: Kubuntu 23.04
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.2.0-20-generic (64-bit)
Graphics Platform: Wayland
Processors: 8 × 11th Gen Intel® Core™ i5-1135G7 @ 2.40GHz
Memory: 31.2 GiB of RAM
Graphics Processor: Mesa Intel® Xe Graphics
Manufacturer: System76
Product Name: Darter Pro
System Version: darp7

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2023-04-25 16:22:59 UTC
Can you test the following other KDE apps so we can try to establish a pattern?
- Dolphin
- Ark
- Konsole
- Discover
- System Settings
- Filelight
- Elisa
Comment 2 Łukasz Konieczny 2023-04-25 18:18:09 UTC
(In reply to Nate Graham from comment #1)
> Can you test the following other KDE apps so we can try to establish a
> pattern?
> - Dolphin
> - Ark
> - Konsole
> - Discover
> - System Settings
> - Filelight
> - Elisa

Dolphin - behaves correctly
Ark - behaves correctly
Konsole - behaves incorrectly!
Discover - behaves correctly
System Settings - behaves incorrectly!
Filelight - behaves correctly
Elisa - behaves correctly
Kate - behaves correctly
Plasma System Monitor - behaves correctly
Gwenview - behaves correctly
KGet - behaves correctly
Kid3 - behaves correctly
Cantor - behaves incorrectly!
LabPlot - behaves correctly
KDE Marble - behaves correctly
Spectacle - behaves correctly
KDevelop - behaves correctly
KDiskFree - behaves partially incorrectly - it re-launches with proper size, but the last column is stretched and horizontal scrollbar appears!
KInfoCenter - behaves correctly

Uff! Perhaps it's enough.

Moreover, those programs, which behaves incorrectly, often launch not centered, despite I have setting to all windows appear centered.
Comment 3 Nate Graham 2023-04-26 16:29:57 UTC
Thanks. I suspect that these specific apps are doing something that's not working with what what KWin expects, but I don't have any technical expertise on that. I'll defer to the KWin developers and Window Rule experts at this point.
Comment 4 Vlad Zahorodnii 2023-04-27 07:59:07 UTC
I think there's misunderstanding about the purpose of this window rule.

It's used to forbid X11 windows from moving or resizing themselves arbitrarily. This rule is not implemented for wayland native applications. And it perhaps makes little sense there as the compositor is in charge of enforcing window position and size.

What you've described in the observed behavior appears to be konsole saving its last window size. Perhaps we could revisit this issue when the xdg-session protocol lands.