xfce-winxp-tc icon indicating copy to clipboard operation
xfce-winxp-tc copied to clipboard

Add support for a 'theme file' format

Open rozniak opened this issue 2 years ago • 3 comments

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)

rozniak avatar Mar 19 '22 21:03 rozniak

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

rozniak avatar Mar 21 '22 12:03 rozniak

Pointer theme shouldn't really be part of this thinking about it, it is separate from the visual styles typically.

rozniak avatar Mar 23 '22 20:03 rozniak

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.

rozniak avatar Mar 23 '22 21:03 rozniak