refactor: split config editor into smaller editors
Following !45 (merged)
Currently, we have an abundance of GTK configuration locations:
- GTK2 gtkrc file
- XSettings config file
- GSettings registry
- Settings.ini file for GTK3 and GTK4
- gtk.css and other stylesheets for injection for GTK3 and GTK4
Each of them have their own complexities. Some of them depend on gtk version, some do not. Given how different they are, it makes sense to split them, reducing the verbosity of function signatures in the process.
How to test and QA
In general, behavior should not change from previous commit. Here are some items, that I might have touched.
- Font, Icon Theme, Cursor theme etc. sync should work. All the values should be set for both GTK3 and GTK4 settings.ini (except for the next item).
- IconsOnButtons, IconsInMenus and ToolbarStyle settings should only be written to GTK3 settings.ini and not GTK4.
- Window decorations should be synced for Breeze theme. window_decorations.css should be written to for both GTK3 and GTK4.