D25670: Synchronize decorations buttons order in GTK headerbars

Mikhail Zolotukhin noreply at phabricator.kde.org
Sun Dec 1 23:12:01 GMT 2019


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20191201/94851c41/attachment-0001.html>


More information about the Plasma-devel mailing list