Skip to content
InioX edited this page Mar 18, 2023 · 12 revisions

Welcome to the matugen wiki!

Configuration

Using templates

[Name]
template_path = relative/path/from/home/directory
output_path = relative/path/from/home/directory

Example:

# config.ini
[waybar]
template_path = proj/test/templates/colors.css
output_path = .config/hypr/waybar/colors.css

[rofi]
template_path = proj/test/templates/colors.rasi
output_path = .config/hypr/rofi/themes/colors.rasi

[GTK]
template_path = proj/test/templates/gtk.css
output_path = .config/gtk-4.0/gtk.css

Usage

Assuming you are in the root of this project

# Dark theme
poetry run python matugen/main.py /path/to/wallpaper/
# Light theme
poetry run python matugen/main.py /path/to/wallpaper/ -l

Example:

poetry run python matugen/main.py ~/wall/snow.png -l

Creating templates

The basic syntax for using colors is ${color}.

There are multiple formats you can use:

@define-color primary @{primary}; /* Result: ffb783 */
@define-color primary @{primary.hex}; /* Result: #ffb783 */
@define-color primary @{primary.rgb}; /* Result: rgb(255, 183, 131) */

You can also get the wallpaper by using:

@import url("@{wallpaper}"); /* Result: /home/user/wall/wallpaper.png */

Example of all the colors you can use:

/*colors.css*/
@define-color primary @{primary};
@define-color onPrimary @{onPrimary};
@define-color primaryContainer @{primaryContainer};
@define-color onPrimaryContainer @{onPrimaryContainer};
@define-color secondary @{secondary};
@define-color onSecondary @{onSecondary};
@define-color secondaryContainer @{secondaryContainer};
@define-color onSecondaryContainer @{onSecondaryContainer};
@define-color tertiary @{tertiary};
@define-color onTertiary @{onTertiary};
@define-color tertiaryContainer @{tertiaryContainer};
@define-color onTertiaryContainer @{onTertiaryContainer};
@define-color error @{error};
@define-color onError @{onError};
@define-color errorContainer @{errorContainer};
@define-color onErrorContainer @{onErrorContainer};
@define-color background @{background};
@define-color onBackground @{onBackground};
@define-color surface @{surface};
@define-color onSurface @{onSurface};
@define-color surfaceVariant @{surfaceVariant};
@define-color onSurfaceVariant @{onSurfaceVariant};
@define-color outline @{outline};
@define-color shadow @{shadow};
@define-color inverseSurface @{inverseSurface};
@define-color inverseOnSurface @{inverseOnSurface};
@define-color inversePrimary @{inversePrimary};
Clone this wiki locally