Bug 416525

Summary: Impossible to set Aurorae window decoration; Kwin always uses Breeze
Product: [Plasma] kwin Reporter: Patrick Silva <bugseforuns>
Component: auroraeAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: major CC: kde, nate
Priority: NOR Keywords: regression
Version: 5.17.90   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 5.18.0
Attachments: kwinrc

Description Patrick Silva 2020-01-21 10:55:29 UTC
SUMMARY
Tested on both X11 and Wayland sessions.

STEPS TO REPRODUCE
1. open system settings > application style > window decorations
2. select any Aurorae window decoration (I tested Breezemite and Mcmojave light installed via "Get new window decorations" button)
3. click on "Apply" button

OBSERVED RESULT
Apparently the selected window decoration was applied, but kwin is still using Breeze even after relogin.


EXPECTED RESULT
kwin uses the applied window decoration

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.17.90
KDE Frameworks Version: 5.66.0
Qt Version: 5.14.0
Comment 1 Nate Graham 2020-01-21 17:34:22 UTC
Confirmed.
Comment 2 David Edmundson 2020-01-21 18:02:47 UTC
I can't reproduce. 

Can you post ~/.config/kwinrc after modifying.
Comment 3 Patrick Silva 2020-01-21 18:09:22 UTC
Created attachment 125287 [details]
kwinrc
Comment 4 David Edmundson 2020-01-21 18:10:22 UTC
[org.kde.kdecoration2]
BorderSize=Normal
BorderSizeAuto=true
ButtonsOnLeft=MFS
ButtonsOnRight=IAX
CloseOnDoubleClickOnMenu=true
ShowToolTips=true
theme=__aurorae__svg__Breezemite



This line is missing:
library=org.kde.kwin.aurorae


:/
Comment 5 Nate Graham 2020-01-21 18:15:27 UTC
It's missing from mine too. However I see that this line has been added:

theme=__aurorae__svg__McMojave
Comment 6 David Edmundson 2020-01-21 18:18:08 UTC
Found it.

      <code>#if HAVE_BREEZE_DECO
              const QString s_defaultPlugin { QStringLiteral(BREEZE_KDECORATION_PLUGIN_ID) };
          #else
              const QString s_defaultPlugin { QStringLiteral("org.kde.kwin.aurorae") };
          #endif
      </code>

HAVE_BREEZE_DECO is undefined for the KCM, so it doesn't save the entry
Comment 7 David Edmundson 2020-01-21 18:22:25 UTC
https://phabricator.kde.org/D26814
Comment 8 David Edmundson 2020-01-21 18:42:14 UTC
Git commit e0df390dbc241409532c26a632490d03e19fb3da by David Edmundson.
Committed on 21/01/2020 at 18:41.
Pushed by davidedmundson into branch 'Plasma/5.18'.

[kcms/kwindecoration] Fix saving of window decoration plugin

Summary:
In the KCFG autogenerated code we check for HAVE_BREEZE_DECO without
including the relevant file. This always fails, and so we save the
default plugin name/library as org.kde.kwin.aurorae

This doesn't match kwin's concept of the default and so we just fail to
load it.

Test Plan:
Reproduced
Saved a config

Reviewers: #kwin, ngraham

Reviewed By: ngraham

Subscribers: ngraham, kwin

Tags: #kwin

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

M  +1    -0    kcmkwin/kwindecoration/kwindecorationsettings.kcfg

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