gikari created this revision.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
gikari requested review of this revision.

REVISION SUMMARY
  Window decorations button order was applied only for window headers that was 
controlled by KWin, but not for GTK applications with CSD.  Now it is no longer 
true - button order in CSD applications are in sync with the one used by KWin.
  
  Only Close, Maximize, Minimize and Icon buttons are synchronised, because GTK 
supports only them (Actually for Application icon in KWin titles there are two 
gtk counterparts: `icon` and `menu`, see the second point below).
  
  What I do not like:
  
  1. To sync settings I use KWin DBus signal that is emitted in more than 20 
places besides window decoration settings. It would be sensible to use an 
individual signal. I would like to hear an advice about its naming.
  2. GTK apps have so called appmenu (it is a button with an application icon), 
which is used in a few applications, such as Lutris or BleachBit. It is very 
important in applications, I believe, because without it it is not possible to 
fully use application, so it IMO should be always displayed. However, the user 
might want to not display window menu (an application) in KWin window titles, 
so after he decides to do that he will lose the gtk menu too. I would like to 
hear suggestions how to solve that problem.
  
  Possible solutions for the second item:
  
  1. Sync Kwin Menu and GTK `menu` headerbar option. Cons: see above
  2. Sync KWin Menu and GTK `icon` headerbar option. Appmenu is always 
displayed in fixed position. Cons: There is two icons of app in headerbar.

TEST PLAN
  1. Open two windows alongside each other: window decorations button order 
settings and any gtk3 app with CSD (for example, Lutris)
  2. Restart kded5
  3. Apply any WD button order, apply settings
  4. The app should change its buttons order in headerbar (if xsettingsd is not 
installed, on X11 only after restart)

REPOSITORY
  R99 KDE Gtk Configuration Tool

BRANCH
  gtk-decoration-order-sync (branched from master)

REVISION DETAIL
  https://phabricator.kde.org/D25670

AFFECTED FILES
  kded/configeditor.cpp
  kded/configeditor.h
  kded/configvalueprovider.cpp
  kded/configvalueprovider.h
  kded/gtkconfig.cpp
  kded/gtkconfig.h

To: gikari
Cc: plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, fbampaloukas, GB_2, 
ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, ahiemstra, mart

Reply via email to