Bug 405385 - Disabling window borders prompts client to show client-side decoration
Summary: Disabling window borders prompts client to show client-side decoration
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (other bugs)
Version First Reported In: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-12 08:15 UTC by Kai Uwe Broulik
Modified: 2019-04-01 08:34 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 5.15.4
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kai Uwe Broulik 2019-03-12 08:15:54 UTC
SUMMARY
When disabling window borders of a window, either by choosing "No Border" from the window decoration menu or by using BorderlessMaximizedWindows the window ends up using client-side decorations instead.

STEPS TO REPRODUCE
1. Start a Qt application on Wayland
2. Choose "No Border" from window title bar menu

OBSERVED RESULT
The window starts drawing the default Qt window decoration

EXPECTED RESULT
The window stays without any decoration

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.15.80 (git master)
KDE Frameworks Version: 5.56
Qt Version: 5.12.0
Comment 1 Kai Uwe Broulik 2019-03-12 08:21:53 UTC
Likely just needs to force server-side decorations when user no border is set:
auto mode = isDecorated() || m_userNoBorder ? XdgDecorationInterface::Mode::ServerSide: XdgDecorationInterface::Mode::ClientSide;
Comment 2 Vlad Zahorodnii 2019-03-12 08:29:54 UTC
Yep.
Comment 3 Kai Uwe Broulik 2019-04-01 08:34:16 UTC
Git commit dc552ee2ae898d69f4592922b0c39b959f47b20c by Kai Uwe Broulik.
Committed on 01/04/2019 at 08:29.
Pushed by broulik into branch 'Plasma/5.15'.

Force server-side decoration if no borders are forced by user

Otherwise the client will start drawing its own border now.
FIXED-IN: 5.15.4

Differential Revision: https://phabricator.kde.org/D19705

M  +72   -1    autotests/integration/maximize_test.cpp
M  +1    -1    shell_client.cpp

https://commits.kde.org/kwin/dc552ee2ae898d69f4592922b0c39b959f47b20c