Files
noctalia-shell/Assets/MatugenTemplates/vicinae.toml
T
Sridou 165ef4c9bc matugen theming for vicinae launcher
do not overwrite logo if it exists
2025-10-20 12:10:09 +05:30

141 lines
5.2 KiB
TOML

# Vicinae Matugen Theme Template
# Used LLM for initial generation, then modified to a satisfactory level
[meta]
name = "Matugen"
description = "Material You theme generated by Matugen - {{mode}} variant"
variant = "{{mode}}"
icon = "noctalia.svg"
# ============================================================================
# Core Colors
# ============================================================================
# Foundation colors that define the entire theme's personality
# Uses Material You's semantic color system for perfect harmony
[colors.core]
accent = "{{colors.primary.default.hex}}"
accent_foreground = "{{colors.on_primary.default.hex}}"
background = "{{colors.surface.default.hex}}"
foreground = "{{colors.on_surface.default.hex}}"
secondary_background = "{{colors.surface_container.default.hex}}"
border = "{{colors.outline_variant.default.hex}}"
# ============================================================================
# Window-Specific Colors
# ============================================================================
# Different borders for visual hierarchy between window types
[colors.main_window]
border = "{{colors.outline_variant.default.hex}}"
[colors.settings_window]
border = "{{colors.outline.default.hex}}"
# ============================================================================
# Accent Colors
# ============================================================================
# Complete color palette using Material You's harmonious color generation
# Maps to various UI elements throughout Vicinae
[colors.accents]
blue = "{{colors.primary.default.hex}}"
green = "{{colors.tertiary.default.hex}}"
magenta = "{{colors.secondary.default.hex}}"
orange = "{{colors.error.default.hex}}"
red = "{{colors.error.default.hex}}"
yellow = "{{colors.tertiary.default.hex}}"
cyan = "{{colors.primary.default.hex}}"
purple = "{{colors.secondary.default.hex}}"
# ============================================================================
# Text Colors
# ============================================================================
# Semantic text colors for all states and contexts
[colors.text]
default = "{{colors.on_surface.default.hex}}"
muted = "{{colors.on_surface_variant.default.hex}}"
danger = "{{colors.error.default.hex}}"
success = "{{colors.tertiary.default.hex}}"
placeholder = "{{colors.on_surface_variant.default.hex}}"
[colors.text.selection]
background = "{{colors.primary.default.hex}}"
foreground = "{{colors.on_primary.default.hex}}"
[colors.text.links]
default = "{{colors.primary.default.hex}}"
visited = "{{colors.secondary.default.hex}}"
# ============================================================================
# Input Fields
# ============================================================================
# Text inputs, search boxes with proper focus states
[colors.input]
border = "{{colors.outline.default.hex}}"
border_focus = "{{colors.primary.default.hex}}"
border_error = "{{colors.error.default.hex}}"
# ============================================================================
# Buttons
# ============================================================================
# All button states with subtle hover effects and focus indicators
[colors.button.primary]
background = "{{colors.surface_container_high.default.hex}}"
foreground = "{{colors.on_surface.default.hex}}"
[colors.button.primary.hover]
background = { name = "{{colors.surface_container_highest.default.hex}}", opacity = 0.85 }
[colors.button.primary.focus]
outline = "colors.core.accent"
# ============================================================================
# Lists
# ============================================================================
# Horizontal list views with elevation-based selection
[colors.list.item.hover]
background = { name = "{{colors.surface_container_high.default.hex}}", opacity = 0.7 }
foreground = "{{colors.on_surface.default.hex}}"
[colors.list.item.selection]
background = { name = "{{colors.primary_container.default.hex}}", opacity = 0.5 }
foreground = "{{colors.on_primary_container.default.hex}}"
secondary_background = "{{colors.primary_container.default.hex}}"
secondary_foreground = "{{colors.on_primary_container.default.hex}}"
# ============================================================================
# Grid Items
# ============================================================================
# Grid layouts (icon grids, tiles) with outline-based selection
[colors.grid.item]
background = "{{colors.surface_container.default.hex}}"
[colors.grid.item.hover]
outline = { name = "{{colors.primary.default.hex}}", opacity = 0.6 }
[colors.grid.item.selection]
outline = { name = "{{colors.primary.default.hex}}", opacity = 0.9 }
# ============================================================================
# Scrollbars
# ============================================================================
# Subtle scrollbar styling
[colors.scrollbars]
background = { name = "{{colors.on_surface.default.hex}}", opacity = 0.2 }
# ============================================================================
# Loading Indicators
# ============================================================================
# Progress bars and spinners for loading states
[colors.loading]
bar = "{{colors.primary.default.hex}}"
spinner = "{{colors.primary.default.hex}}"