No description
  • C++ 93.2%
  • CMake 6.8%
Find a file
2025-12-31 20:44:32 +08:00
.github/workflows Allow to build against non-patched Qt5 (#19) 2023-09-15 08:47:01 +02:00
screenshots Add screenshot to show effect 2024-08-05 12:05:45 +08:00
src Support Qt6.10.0 2025-10-18 16:08:45 +08:00
.clang-format CI: run builds and clang-format check (#1) 2023-08-10 15:28:27 +02:00
CMakeLists.txt Support Qt6.10.0 2025-10-18 16:08:45 +08:00
LICENSE Initial commit 2023-08-08 11:13:35 +02:00
README.md Clarify installation instructions for flatpak runtime 2025-12-31 20:44:32 +08:00

QWhiteSurGtkDecorations

Qt decoration plugin implementing WhiteSurGTK-like client-side decorations.

This project is modified based on the QAdwaitaDecorations project.

Some of the icon resources used in this project come from WhiteSur-gtk-theme.

Screenshots

After applying the plugin, the title bar of the Qt application looks like this: effect

How to compile

This library uses private Qt headers and will likely not be forward nor backward compatible. This library will have to be recompiled with every Qt update. While it can be build using Qt 5, it is recommended to get backported changes from Qt 6. You can get these here.

Build instructions:

mkdir build
cd build
cmake [OPTIONS] [-DUSE_QT6=true] [-HAS_QT6_SUPPORT] ..
make && make install

For Archlinux users

Archlinux users can install qwhitesurgtkdecorations with aur:

yay -S qwhitesurgtkdecorations-qt5 qwhitesurgtkdecorations-qt6

Usage

It can be used by setting the QT_WAYLAND_DECORATION environment variable:

export QT_WAYLAND_DECORATION=whitesur-gtk

For flatpak apps

To enable Qt applications running via flatpak to also use QWhiteSurGtkDecorations, you first need to obtain the Qt application's runtime using the following command, taking the application org.keepassxc.KeePassXC as an example:

[user@hostname~]% flatpak info  org.keepassxc.KeePassXC

KeePassXC - Secure and Full-featured Password Manager

          ID: org.keepassxc.KeePassXC
         Ref: app/org.keepassxc.KeePassXC/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 2.7.11
     License: GPL-3.0-or-later
      Origin: flathub
  Collection: org.flathub.Stable
Installation: system
   Installed: 50.6 MB
     Runtime: org.kde.Platform/x86_64/5.15-25.08
         Sdk: org.kde.Sdk/x86_64/5.15-25.08

      Commit: ccbae381eaacb63503f02810a516525a3d4c0f12669840c3744e59866b535fd0
      Parent: f6172470ce4c0e1de08393988f0f164184ba34404f65d81c3d299eba40ff2977
     Subject: Bump to 2.7.11 release (b2ac9f9e1947)
        Date: 2025-11-24 15:02:30 +0000

As shown above, the flatpak runtime for this application is org.kde.Platform/x86_64/5.15-25.08, so QWhiteSurGtkDecorations-5.15-25.08.flatpak needs to be installed.:

sudo flatpak install QWhiteSurGtkDecorations-5.15-25.08.flatpak
# or
# flatpak install --user QWhiteSurGtkDecorations-5.15-25.08.flatpak

License

The code is under LGPL 2.1 with the "or any later version" clause.