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:
# 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.
# 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:
# Sync Kwin Menu and GTK `menu` headerbar option. Cons: see above
# Sync KWin Menu and GTK `icon` headerbar option. Appmenu is always displayed in fixed position. Cons: There is two icons of app in headerbar.