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.
