xfce-winxp-tc
xfce-winxp-tc copied to clipboard
Add support for a 'theme file' format
The themes in the repo are divided up into parts that, currently, the user must select individually and configure so that they have the complete theme.
As it stands, the user has to:
- Select the GTK theme under appearance
- Select the icon theme under appearance
- Set the UI sans serif font to Tahoma Regular 8pt under appearance
- Select the cursor theme under mouse
- Select the XFCE theme under window decorations
- Set the title bar to the left, and title bar font to Trebuchet MS Bold 10pt
- Set the desktop wallpaper for their monitors
- Set the height of the XFCE panel
It's a lot of manual work to select each thing and set it up for the theme. This sucks and is not very Windows-like at all, so I have been thinking about creating a JSON schema where essentially all this stuff can be configured in there, and the user just pick that 'theme'.
This issue should be for:
- Come up with JSON schema for themes
- Create JSON file for each theme + include in packaging
- Create JSON for Adwaita theme/default
- How to handle when parts of the theme are missing
- How to handle configuration of the Windows Classic/native theme
- Decide things for user's custom themes (store in profile)
- Probably a simple CLI program for selecting a theme (imo the bulk of it should be in a library so that it can be used easily when a proper GUI is done)
Upon further thought - JSON might be the wrong choice for this. Was thinking perhaps something closer to a billy basic INI file would suffice, in particular perhaps TOML is the right tool for the job.
There is a C implementation, though it does not seem to have a Debian package (yet?). Not too much of an issue it's probably quite straight forward to make one and add to /submodules
:
https://github.com/cktan/tomlc99
Pointer theme shouldn't really be part of this thinking about it, it is separate from the visual styles typically.
I will be adding both colours for Windows Classic/native titlebar configs - this is because I don't think the theme file format should be limited by XFWM4.