Summary:
If /etc/xdg/kdeglobals exists but ~/.config/kdeglobals
does not (like on the first start of kwin_wayland), it did not notice
changes to kdeglobals.
This lead to KWin using the wrong color scheme for the window decoration
on the first login, which also could not be changed without a session restart.
Test Plan: Cleared ~ and logged in again, title bar color is now correct.
Reviewers: #plasma, romangg
Reviewed By: #plasma, romangg
Subscribers: sitter, broulik, rikmills, kwin, plasma-devel
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D22238
Summary: QColor::dark() and QColor::light() are obsolete since long time ago.
Reviewers: #kwin, apol
Reviewed By: apol
Subscribers: kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D22360
When kdeglobals doesn't exist, QStandardPaths::locate() for it returns
an empty string, so the check in previous fix doesn't work in this case.
This change sets m_colorScheme properly in this case and also creates an
empty kdeglobals(needed because QFileSystemWatcher can't monitor
non-existing files) so kdeglobals can be reloaded if it is later
populated.
REVIEW: 123399
Currently, if a color scheme lacks the WM group, DecorationPalette
doesn't load it so we can fallback to kdeglobals color scheme. If
kdeglobals doesn't have WM group we get black decorations.
This change will always load the kdeglobals color scheme even if it
is missing WM group.
REVIEW: 123320
Adapt to API changes introduced by b62e8888cd39301e00ad98dfe791fa66676408fb.
It adds DecoratedClient::color(group, role) for getting colors that are
not included in QPalette. Breeze used to read these colors from
kdeglobals, breaking per window color schemes. KWin now handles reading
these colors along with QPalette loading with DecorationPalette.
REVIEW: 122883