Skip to main content
Version: main

hyprland

Generate colour themes for the Hyprland compositor.

Description

Hyprland is a dynamic tiling Wayland compositor. The plugin generates configuration files that define colour variables for window borders, decorations, and other visual elements.

Output paths

~/.config/hypr/themes/tinct-colours.conf
~/.config/hypr/themes/tinct.conf

The plugin generates two files:

  • tinct-colours.conf - Colour variable definitions
  • tinct.conf - Example stub showing how to use the colours

Usage

tinct generate -i image -p ~/wallpaper.jpg -o hyprland

With automatic config reload

tinct generate -i image -p ~/wallpaper.jpg -o hyprland --hyprland.reload

Flags

FlagDefaultDescription
--hyprland.output-dir~/.config/hypr/themesOutput directory for theme files
--hyprland.generate-stubtrueGenerate example configuration stub
--hyprland.stub-path""Custom path for stub file
--hyprland.reloadfalseReload Hyprland config after generation

Configuration

Include the generated colours in your Hyprland configuration.

Add to your ~/.config/hypr/hyprland.conf:

source = ~/.config/hypr/themes/tinct-colours.conf

Then use the colour variables in your configuration:

general {
col.active_border = $accent1
col.inactive_border = $surface
}

decoration {
col.shadow = $shadow
}

Versioned templates

Tinct detects your installed Hyprland version and uses appropriate templates. This ensures compatibility as Hyprland's configuration syntax evolves.

Version detection uses hyprctl version or hyprland --version.

Colour variables

The generated configuration defines these variables:

VariableDescription
$backgroundPrimary background colour
$foregroundPrimary text colour
$surfaceSurface container colour
$accent1Primary accent colour
$accent2Secondary accent colour
$dangerError/warning colour
$successSuccess indicator colour
$warningWarning indicator colour
$infoInformation colour
$shadowShadow colour with alpha

Example stub

The generated tinct.conf shows how to apply colours to common elements:

# Tinct Theme Configuration
# Include this file in your hyprland.conf

general {
col.active_border = $accent1 $accent2 45deg
col.inactive_border = $surface
}

decoration {
col.shadow = rgba(1e1e2eaa)
}

group {
col.border_active = $accent1
col.border_inactive = $surface
}

See also