Bug 432756 - Flatpak GTK CSD apps only use Breeze window decorations
Summary: Flatpak GTK CSD apps only use Breeze window decorations
Status: RESOLVED UPSTREAM
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_kwindecoration (show other bugs)
Version: 5.21.0
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-10 19:07 UTC by Paul McAuley
Modified: 2023-05-24 19:04 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul McAuley 2021-02-10 19:07:27 UTC
Shortwave is a GTK app that uses client-side window decorations (available as a Flatpak from Flathub). If you change the system window decoration to something other than Breeze other applications (such as gedit or Chrome) will use your selected window decoration, but Shortwave will still only use the Breeze window decoration.


SOFTWARE/OS VERSIONS
Operating System: openSUSE Leap 15.2
KDE Plasma Version: 5.20.90
KDE Frameworks Version: 5.78.0
Qt Version: 5.15.2
Comment 1 Nate Graham 2021-02-11 16:26:09 UTC

*** This bug has been marked as a duplicate of bug 426788 ***
Comment 2 Paul McAuley 2021-02-18 13:56:23 UTC
(In reply to Nate Graham from comment #1)
> 
> *** This bug has been marked as a duplicate of bug 426788 ***

Reopening as that bug is saying the Breeze theme is not getting applied, whereas here I am saying that the Breeze window decoration ALWAYS gets applied, even when a different window decoration is selected.
Comment 3 Nate Graham 2022-01-20 22:35:11 UTC
There are two things going on here:

1. The window decorations available from here only apply to kwin-drawn titlebars, not app-drawn CSDs. The theming system here is fundamentally incompatible with them.

2. However we have made a nifty feature to at least sync the button shapes from the window decoration theme to GTK CSD apps, even if we can't force the rest of the appearance.

#2 does not work for Flatpak apps because flatpak apps can't use system-installed themes like this. Any theme a Flatpak app is going to use has to be included in that app's list of flatpak runtimes. So this would work if the theme in question was in the runtime, but it's probably not, and there is no way for you the user to get it in there because that's not how flatpak is designed. Its creators didn't really care about themability and so didn't build in very good support for it, unfortunately.