Files
moment/docs/THEMING.md
2021-03-03 17:14:55 -04:00

2.0 KiB

Theming

A default theme from this repository can be copied to use as a base and edit, for example:

    cp mirage/src/themes/Midnight.qpl \
       "${XDG_DATA_HOME:-$HOME/.local/share}/mirage/themes/MyTheme.qpl"

Or for Flatpak users:

    cp mirage/src/themes/Midnight.qpl \
       ~/.var/app/io.github.mirukana.mirage/data/mirage/themes/MyTheme.qpl

The theme property in settings.py would need to be set to MyTheme.qpl in this case.

Theme files are nested-by-indentations sections of properties and values.
Properties are declared as <type> <name>: <value>.
Values can be any JavaScript (ECMAScript 7) expressions.

Most of the properties are of type color. Their values, if not just refering to another property, can be expressed with a:

  • SVG/CSS color name string, e.g. "blue"
  • Hexadecimal code string, e.g. "#fff" or "#cc0000"
  • RGBA value, using the Qt.rgba(0-1, 0-1, 0-1, 0-1) function
  • HSLA value, using the Qt.hsla(0-1, 0-1, 0-1, 0-1) function
  • HSVA value, using the Qt.hsva(0-1, 0-1, 0-1, 0-1) function
  • HSLUV value, using the hsluv(0-360, 0-100, 0-100, 0-1) function. This is the prefered method used throughout the default theme files (why? see this and that)

If you just want to change the background picture, or use a gradient/simple color instead, search for the ui: section in your text editor.

When an in-use theme file is saved while the application is running, it will automatically be reloaded and changes will be seen immediatly.

Warnings:

  • API currently unstable: theme properties are often renamed, added or deleted.
  • The file format for themes will soon change
  • The current file format forces all theme to have all properties defined, instead of being able to only specify the ones to override from the default theme.