diff --git a/Colors.qml b/Colors.qml new file mode 100644 index 0000000..beeb0d3 --- /dev/null +++ b/Colors.qml @@ -0,0 +1,91 @@ +pragma Singleton +import QtQuick +import Quickshell + +Singleton { + id: customColors + + // --- Core Colors --- + readonly property color primary: "{{colors.primary.default.hex}}" + readonly property color onPrimaryColor: "{{colors.on_primary.default.hex}}" + readonly property color primaryContainer: "{{colors.primary_container.default.hex}}" + readonly property color onPrimaryContainerColor: "{{colors.on_primary_container.default.hex}}" + readonly property color inversePrimary: "{{colors.inverse_primary.default.hex}}" + + readonly property color secondary: "{{colors.secondary.default.hex}}" + readonly property color onSecondaryColor: "{{colors.on_secondary.default.hex}}" + readonly property color secondaryContainer: "{{colors.secondary_container.default.hex}}" + readonly property color onSecondaryContainerColor: "{{colors.on_secondary_container.default.hex}}" + + readonly property color tertiary: "{{colors.tertiary.default.hex}}" + readonly property color onTertiaryColor: "{{colors.on_tertiary.default.hex}}" + readonly property color tertiaryContainer: "{{colors.tertiary_container.default.hex}}" + readonly property color onTertiaryContainerColor: "{{colors.on_tertiary_container.default.hex}}" + + readonly property color error: "{{colors.error.default.hex}}" + readonly property color onErrorColor: "{{colors.on_error.default.hex}}" + readonly property color errorContainer: "{{colors.error_container.default.hex}}" + readonly property color onErrorContainerColor: "{{colors.on_error_container.default.hex}}" + + readonly property color background: "{{colors.background.default.hex}}" + readonly property color onBackgroundColor: "{{colors.on_background.default.hex}}" + + // --- Surfaces --- + readonly property color surface: "{{colors.surface.default.hex}}" + readonly property color onSurfaceColor: "{{colors.on_surface.default.hex}}" + readonly property color surfaceVariant: "{{colors.surface_variant.default.hex}}" + readonly property color onSurfaceVariantColor: "{{colors.on_surface_variant.default.hex}}" + readonly property color inverseSurface: "{{colors.inverse_surface.default.hex}}" + readonly property color inverseOnSurface: "{{colors.inverse_on_surface.default.hex}}" + + readonly property color surfaceDim: "{{colors.surface_dim.default.hex}}" + readonly property color surfaceBright: "{{colors.surface_bright.default.hex}}" + readonly property color surfaceContainerLowest: "{{colors.surface_container_lowest.default.hex}}" + readonly property color surfaceContainerLow: "{{colors.surface_container_low.default.hex}}" + readonly property color surfaceContainer: "{{colors.surface_container.default.hex}}" + readonly property color surfaceContainerHigh: "{{colors.surface_container_high.default.hex}}" + readonly property color surfaceContainerHighest: "{{colors.surface_container_highest.default.hex}}" + + // --- Outlines & Shadows --- + readonly property color outline: "{{colors.outline.default.hex}}" + readonly property color outlineVariant: "{{colors.outline_variant.default.hex}}" + readonly property color shadow: "{{colors.shadow.default.hex}}" + readonly property color scrim: "{{colors.scrim.default.hex}}" + + // --- Fixed Colors (useful for things that shouldn't change drastically in dark mode) --- + readonly property color primaryFixed: "{{colors.primary_fixed.default.hex}}" + readonly property color primaryFixedDim: "{{colors.primary_fixed_dim.default.hex}}" + readonly property color onPrimaryFixedColor: "{{colors.on_primary_fixed.default.hex}}" + readonly property color onPrimaryFixedVariant: "{{colors.on_primary_fixed_variant.default.hex}}" + + readonly property color secondaryFixed: "{{colors.secondary_fixed.default.hex}}" + readonly property color secondaryFixedDim: "{{colors.secondary_fixed_dim.default.hex}}" + readonly property color onSecondaryFixedColor: "{{colors.on_secondary_fixed.default.hex}}" + readonly property color onSecondaryFixedVariant: "{{colors.on_secondary_fixed_variant.default.hex}}" + + readonly property color tertiaryFixed: "{{colors.tertiary_fixed.default.hex}}" + readonly property color tertiaryFixedDim: "{{colors.tertiary_fixed_dim.default.hex}}" + readonly property color onTertiaryFixedColor: "{{colors.on_tertiary_fixed.default.hex}}" + readonly property color onTertiaryFixedVariant: "{{colors.on_tertiary_fixed_variant.default.hex}}" + + // --- Legacy / Terminal Mappings (color0 - color15) --- + readonly property color color0: "{{colors.surface.default.hex}}" + readonly property color color1: "{{colors.error.default.hex}}" + readonly property color color2: "{{colors.primary.default.hex}}" + readonly property color color3: "{{colors.tertiary.default.hex}}" + readonly property color color4: "{{colors.secondary.default.hex}}" + readonly property color color5: "{{colors.primary_container.default.hex}}" + readonly property color color6: "{{colors.secondary_container.default.hex}}" + readonly property color color7: "{{colors.on_surface.default.hex}}" + readonly property color color8: "{{colors.surface_variant.default.hex}}" + readonly property color color9: "{{colors.error_container.default.hex}}" + readonly property color color10: "{{colors.inverse_primary.default.hex}}" + readonly property color color11: "{{colors.on_tertiary_container.default.hex}}" + readonly property color color12: "{{colors.on_secondary_container.default.hex}}" + readonly property color color13: "{{colors.on_primary_container.default.hex}}" + readonly property color color14: "{{colors.on_surface_variant.default.hex}}" + readonly property color color15: "{{colors.inverse_surface.default.hex}}" + + // Helper alias for common needs + readonly property color cursor: primary +} diff --git a/templates/Colors.qml b/templates/Colors.qml index ea18416..ab03108 100644 --- a/templates/Colors.qml +++ b/templates/Colors.qml @@ -4,12 +4,73 @@ import Quickshell Singleton { id: customColors - // Core Backgrounds - readonly property color background: "{{background}}" - readonly property color foreground: "{{foreground}}" - readonly property color cursor: "{{cursor}}" - // The 16 Colors of the Apocalypse + // --- Core Colors --- + // Mapping specific Wallust terminal colors to UI roles + // Adjust these numbers (color4, color5) if you want different accent colors! + readonly property color primary: "{{color4}}" + readonly property color onPrimaryColor: "{{background}}" + readonly property color primaryContainer: "{{color12}}" + readonly property color onPrimaryContainerColor: "{{background}}" + readonly property color inversePrimary: "{{color4}}" + + readonly property color secondary: "{{color5}}" + readonly property color onSecondaryColor: "{{background}}" + readonly property color secondaryContainer: "{{color13}}" + readonly property color onSecondaryContainerColor: "{{background}}" + + readonly property color tertiary: "{{color6}}" + readonly property color onTertiaryColor: "{{background}}" + readonly property color tertiaryContainer: "{{color14}}" + readonly property color onTertiaryContainerColor: "{{background}}" + + readonly property color error: "{{color1}}" + readonly property color onErrorColor: "{{background}}" + readonly property color errorContainer: "{{color9}}" + readonly property color onErrorContainerColor: "{{foreground}}" + + readonly property color background: "{{background}}" + readonly property color onBackgroundColor: "{{foreground}}" + + // --- Surfaces --- + readonly property color surface: "{{background}}" + readonly property color onSurfaceColor: "{{foreground}}" + readonly property color surfaceVariant: "{{color0}}" + readonly property color onSurfaceVariantColor: "{{color7}}" + readonly property color inverseSurface: "{{foreground}}" + readonly property color inverseOnSurface: "{{background}}" + + readonly property color surfaceDim: "{{color0}}" + readonly property color surfaceBright: "{{color8}}" + readonly property color surfaceContainerLowest: "{{background}}" + readonly property color surfaceContainerLow: "{{color0}}" + readonly property color surfaceContainer: "{{color0}}" + readonly property color surfaceContainerHigh: "{{color8}}" + readonly property color surfaceContainerHighest: "{{color8}}" + + // --- Outlines & Shadows --- + readonly property color outline: "{{color8}}" + readonly property color outlineVariant: "{{color8}}" + readonly property color shadow: "{{color0}}" + readonly property color scrim: "{{color0}}" + + // --- Fixed Colors --- + readonly property color primaryFixed: "{{color4}}" + readonly property color primaryFixedDim: "{{color4}}" + readonly property color onPrimaryFixedColor: "{{background}}" + readonly property color onPrimaryFixedVariant: "{{color4}}" + + readonly property color secondaryFixed: "{{color5}}" + readonly property color secondaryFixedDim: "{{color5}}" + readonly property color onSecondaryFixedColor: "{{background}}" + readonly property color onSecondaryFixedVariant: "{{color5}}" + + readonly property color tertiaryFixed: "{{color6}}" + readonly property color tertiaryFixedDim: "{{color6}}" + readonly property color onTertiaryFixedColor: "{{background}}" + readonly property color onTertiaryFixedVariant: "{{color6}}" + + // --- Legacy / Terminal Mappings --- readonly property color color0: "{{color0}}" readonly property color color1: "{{color1}}" readonly property color color2: "{{color2}}" @@ -26,4 +87,7 @@ Singleton { readonly property color color13: "{{color13}}" readonly property color color14: "{{color14}}" readonly property color color15: "{{color15}}" + + // Helper alias + readonly property color cursor: "{{cursor}}" }