Warning, /plasma/kde-gtk-config/README.md is written in an unsupported language. File is not indexed.

0001 # KDE GTK Configurator
0002 
0003 This project aims to provide a smooth experience for the users of GNOME/GTK applications on Plasma Desktop. 
0004 
0005 ## 👷 The Structure
0006 
0007 KDE GTK Configurator has a number of facilities to ensure a good integration with GTK applications. The main ones are the following:
0008 
0009 1. The daemon, that runs in background, which is a core of the whole ecosystem. It has a number of various liabilities.
0010 2. Part of the System Settings Application Style KCM that allows the users to change and manage their GTK applications' themes. [^1]
0011 3. GTK3 color reload module, which allows GTK3 applications, that use [Breeze GTK theme](https://invent.kde.org/plasma/breeze-gtk), to update their UI colors without restarting them.
0012 
0013 ## 😈 The daemon
0014 
0015 The daemon itself does the following:
0016 
0017 1. Watching for changes inside of various Plasma configuration files and on change also apply that setting for the GTK applications using their configuration methods and values.
0018 2. Applying GTK theme on demand from the Application Style KCM
0019 3. Applying colors for Breeze GTK Theme according to the color scheme set in the Colors KCM.
0020 
0021 ### ⚙ Settings the daemon syncs
0022 
0023 - 🔤 UI Font
0024 - 💾 Icon Theme
0025 - 👆 Cursor theme and size
0026 - 🆗 Icons on Buttons (Show them or not)
0027 - 🗒 Icons in Menus (Show them or not)
0028 - 🧰 Toolbar Style
0029 - 📜 Scrollbar behavior on click
0030 - 🌓 Dark Theme Preference (Depending on a color scheme set in Colors KCM)
0031 - ❎ Decorations button order (all GTK themes) and appearance (Breeze GTK theme only) 
0032 - 🏃 Animations (Enable/Disable)
0033 - 🎨 Color Scheme (Breeze GTK theme only)
0034 
0035 
0036 ### ⚙ GTK configuration methods the daemon uses
0037 
0038 On X11 Plasma session the daemon uses mainly [xsettingsd](https://github.com/derat/xsettingsd) daemon to control the appearance of the GTK applications. Additionally it uses `settings.ini` and `.gtkrc-2.0` file to provide some settings, that are not available in the xsettingsd configuration.
0039 
0040 On Wayland session the daemon uses [GSettings](https://developer.gnome.org/gio/stable/GSettings.html).
0041 
0042 ##
0043 
0044 [^1]: The code for the UI part is located in the [Plasma Workspace](https://invent.kde.org/plasma/plasma-workspace/-/tree/master/kcms/style)