diff --git a/README.md b/README.md new file mode 100644 index 0000000..c6a9e05 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# 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)