Commit e9372b83 authored by Mikhail Zolotukhin's avatar Mikhail Zolotukhin
Browse files

Create README for the project

parent c3ef0d1c
# KDE GTK Configurator
This project aims to provide a smooth experience for the users of GNOME/GTK applications on Plasma Desktop.
## 👷 The Structure
KDE GTK Configurator has a number of facilities to ensure a good integration with GTK applications. The main ones are the following:
1. The daemon, that runs in background, which is a core of the whole ecosystem. It has a number of various liabilities.
2. Part of the System Settings Application Style KCM that allows the users to change and manage their GTK applications' themes. [^1]
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.
## 😈 The daemon
The daemon itself does the following:
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.
2. Applying GTK theme on demand from the Application Style KCM
3. Applying colors for Breeze GTK Theme according to the color scheme set in the Colors KCM.
### ⚙ Settings the daemon syncs
- 🔤 UI Font
- 💾 Icon Theme
- 👆 Cursor Theme
- 🆗 Icons on Buttons (Show them or not)
- 🗒 Icons in Menus (Show them or not)
- 🧰 Toolbar Style
- 📜 Scrollbar behavior on click
- 🌓 Dark Theme Preference (Depending on a color scheme set in Colors KCM)
- ❎ Decorations button order
- 🏃 Animations (Enable/Disable)
- 🎨 Color Scheme (Breeze GTK theme only)
### ⚙ GTK configuration methods the daemon uses
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.
On Wayland session the daemon uses [GSettings](https://developer.gnome.org/gio/stable/GSettings.html).
##
[^1]: The code for the UI part is located in the [Plasma Desktop](https://invent.kde.org/plasma/plasma-desktop/-/tree/master/kcms/style)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment