feat: init quickshell
This commit is contained in:
76
modules/desktop/quickshell/qml/Data/Themes/Catppuccin.qml
Normal file
76
modules/desktop/quickshell/qml/Data/Themes/Catppuccin.qml
Normal file
@@ -0,0 +1,76 @@
|
||||
pragma Singleton
|
||||
import QtQuick
|
||||
|
||||
QtObject {
|
||||
readonly property var dark: ({
|
||||
name: "Catppuccin Mocha",
|
||||
type: "dark",
|
||||
base00: "#1e1e2e" // Base
|
||||
,
|
||||
base01: "#181825" // Mantle
|
||||
,
|
||||
base02: "#313244" // Surface0
|
||||
,
|
||||
base03: "#45475a" // Surface1
|
||||
,
|
||||
base04: "#585b70" // Surface2
|
||||
,
|
||||
base05: "#cdd6f4" // Text
|
||||
,
|
||||
base06: "#f5e0dc" // Rosewater
|
||||
,
|
||||
base07: "#b4befe" // Lavender
|
||||
,
|
||||
base08: "#f38ba8" // Red
|
||||
,
|
||||
base09: "#fab387" // Peach
|
||||
,
|
||||
base0A: "#f9e2af" // Yellow
|
||||
,
|
||||
base0B: "#a6e3a1" // Green
|
||||
,
|
||||
base0C: "#94e2d5" // Teal
|
||||
,
|
||||
base0D: "#89b4fa" // Blue
|
||||
,
|
||||
base0E: "#cba6f7" // Mauve
|
||||
,
|
||||
base0F: "#f2cdcd" // Flamingo
|
||||
})
|
||||
|
||||
readonly property var light: ({
|
||||
name: "Catppuccin Latte",
|
||||
type: "light",
|
||||
base00: "#eff1f5" // Base
|
||||
,
|
||||
base01: "#e6e9ef" // Mantle
|
||||
,
|
||||
base02: "#ccd0da" // Surface0
|
||||
,
|
||||
base03: "#bcc0cc" // Surface1
|
||||
,
|
||||
base04: "#acb0be" // Surface2
|
||||
,
|
||||
base05: "#4c4f69" // Text
|
||||
,
|
||||
base06: "#dc8a78" // Rosewater
|
||||
,
|
||||
base07: "#7287fd" // Lavender
|
||||
,
|
||||
base08: "#d20f39" // Red
|
||||
,
|
||||
base09: "#fe640b" // Peach
|
||||
,
|
||||
base0A: "#df8e1d" // Yellow
|
||||
,
|
||||
base0B: "#40a02b" // Green
|
||||
,
|
||||
base0C: "#179299" // Teal
|
||||
,
|
||||
base0D: "#1e66f5" // Blue
|
||||
,
|
||||
base0E: "#8839ef" // Mauve
|
||||
,
|
||||
base0F: "#dd7878" // Flamingo
|
||||
})
|
||||
}
|
||||
76
modules/desktop/quickshell/qml/Data/Themes/Dracula.qml
Normal file
76
modules/desktop/quickshell/qml/Data/Themes/Dracula.qml
Normal file
@@ -0,0 +1,76 @@
|
||||
pragma Singleton
|
||||
import QtQuick
|
||||
|
||||
QtObject {
|
||||
readonly property var dark: ({
|
||||
name: "Dracula",
|
||||
type: "dark",
|
||||
base00: "#282a36" // Background
|
||||
,
|
||||
base01: "#44475a" // Current line
|
||||
,
|
||||
base02: "#565761" // Selection
|
||||
,
|
||||
base03: "#6272a4" // Comment
|
||||
,
|
||||
base04: "#6272a4" // Dark foreground
|
||||
,
|
||||
base05: "#f8f8f2" // Foreground
|
||||
,
|
||||
base06: "#f8f8f2" // Light foreground
|
||||
,
|
||||
base07: "#ffffff" // Light background
|
||||
,
|
||||
base08: "#ff5555" // Red
|
||||
,
|
||||
base09: "#ffb86c" // Orange
|
||||
,
|
||||
base0A: "#f1fa8c" // Yellow
|
||||
,
|
||||
base0B: "#50fa7b" // Green
|
||||
,
|
||||
base0C: "#8be9fd" // Cyan
|
||||
,
|
||||
base0D: "#bd93f9" // Blue
|
||||
,
|
||||
base0E: "#ff79c6" // Magenta
|
||||
,
|
||||
base0F: "#ffb86c" // Orange
|
||||
})
|
||||
|
||||
readonly property var light: ({
|
||||
name: "Dracula Light",
|
||||
type: "light",
|
||||
base00: "#f8f8f2" // Light background
|
||||
,
|
||||
base01: "#ffffff" // Lighter background
|
||||
,
|
||||
base02: "#e5e5e5" // Selection
|
||||
,
|
||||
base03: "#bfbfbf" // Comment
|
||||
,
|
||||
base04: "#6272a4" // Dark foreground
|
||||
,
|
||||
base05: "#282a36" // Dark text
|
||||
,
|
||||
base06: "#21222c" // Darker text
|
||||
,
|
||||
base07: "#191a21" // Darkest
|
||||
,
|
||||
base08: "#e74c3c" // Red (adjusted for light)
|
||||
,
|
||||
base09: "#f39c12" // Orange
|
||||
,
|
||||
base0A: "#f1c40f" // Yellow
|
||||
,
|
||||
base0B: "#27ae60" // Green
|
||||
,
|
||||
base0C: "#17a2b8" // Cyan
|
||||
,
|
||||
base0D: "#6c7ce0" // Blue
|
||||
,
|
||||
base0E: "#e91e63" // Magenta
|
||||
,
|
||||
base0F: "#f39c12" // Orange
|
||||
})
|
||||
}
|
||||
76
modules/desktop/quickshell/qml/Data/Themes/Gruvbox.qml
Normal file
76
modules/desktop/quickshell/qml/Data/Themes/Gruvbox.qml
Normal file
@@ -0,0 +1,76 @@
|
||||
pragma Singleton
|
||||
import QtQuick
|
||||
|
||||
QtObject {
|
||||
readonly property var dark: ({
|
||||
name: "Gruvbox Dark",
|
||||
type: "dark",
|
||||
base00: "#282828" // Dark background
|
||||
,
|
||||
base01: "#3c3836" // Dark1
|
||||
,
|
||||
base02: "#504945" // Dark2
|
||||
,
|
||||
base03: "#665c54" // Dark3
|
||||
,
|
||||
base04: "#bdae93" // Light4
|
||||
,
|
||||
base05: "#d5c4a1" // Light3
|
||||
,
|
||||
base06: "#ebdbb2" // Light2
|
||||
,
|
||||
base07: "#fbf1c7" // Light1
|
||||
,
|
||||
base08: "#fb4934" // Red
|
||||
,
|
||||
base09: "#fe8019" // Orange
|
||||
,
|
||||
base0A: "#fabd2f" // Yellow
|
||||
,
|
||||
base0B: "#b8bb26" // Green
|
||||
,
|
||||
base0C: "#8ec07c" // Cyan
|
||||
,
|
||||
base0D: "#83a598" // Blue
|
||||
,
|
||||
base0E: "#d3869b" // Purple
|
||||
,
|
||||
base0F: "#d65d0e" // Brown
|
||||
})
|
||||
|
||||
readonly property var light: ({
|
||||
name: "Gruvbox Light",
|
||||
type: "light",
|
||||
base00: "#fbf1c7" // Light background
|
||||
,
|
||||
base01: "#ebdbb2" // Light1
|
||||
,
|
||||
base02: "#d5c4a1" // Light2
|
||||
,
|
||||
base03: "#bdae93" // Light3
|
||||
,
|
||||
base04: "#665c54" // Dark3
|
||||
,
|
||||
base05: "#504945" // Dark2
|
||||
,
|
||||
base06: "#3c3836" // Dark1
|
||||
,
|
||||
base07: "#282828" // Dark background
|
||||
,
|
||||
base08: "#cc241d" // Red
|
||||
,
|
||||
base09: "#d65d0e" // Orange
|
||||
,
|
||||
base0A: "#d79921" // Yellow
|
||||
,
|
||||
base0B: "#98971a" // Green
|
||||
,
|
||||
base0C: "#689d6a" // Cyan
|
||||
,
|
||||
base0D: "#458588" // Blue
|
||||
,
|
||||
base0E: "#b16286" // Purple
|
||||
,
|
||||
base0F: "#d65d0e" // Brown
|
||||
})
|
||||
}
|
||||
141
modules/desktop/quickshell/qml/Data/Themes/Matugen.qml
Normal file
141
modules/desktop/quickshell/qml/Data/Themes/Matugen.qml
Normal file
@@ -0,0 +1,141 @@
|
||||
pragma Singleton
|
||||
import QtQuick
|
||||
|
||||
QtObject {
|
||||
// Reference to the MatugenService
|
||||
property var matugenService: null
|
||||
|
||||
// Debug helper to check service status
|
||||
function debugServiceStatus() {
|
||||
console.log("🔍 Debug: matugenService =", matugenService);
|
||||
console.log("🔍 Debug: matugenService.isLoaded =", matugenService ? matugenService.isLoaded : "N/A");
|
||||
console.log("🔍 Debug: matugenService.colorVersion =", matugenService ? matugenService.colorVersion : "N/A");
|
||||
console.log("🔍 Debug: condition result =", (matugenService && matugenService.isLoaded && matugenService.colorVersion >= 0));
|
||||
if (matugenService && matugenService.colors) {
|
||||
console.log("🔍 Debug: service.colors.dark =", JSON.stringify(matugenService.colors.dark));
|
||||
}
|
||||
}
|
||||
|
||||
// Map matugen colors to base16 scheme - using the service when available
|
||||
// The colorVersion dependency forces re-evaluation when colors update
|
||||
readonly property var dark: {
|
||||
debugServiceStatus();
|
||||
if (matugenService && matugenService.isLoaded && matugenService.colorVersion >= 0) {
|
||||
// Use service colors if available, or generate fallback if we have light colors
|
||||
return matugenService.colors.dark || {
|
||||
name: "Matugen Dark (Generated from Light)",
|
||||
type: "dark",
|
||||
// If we only have light colors, create dark fallback
|
||||
base00: "#141311",
|
||||
base01: "#1c1c19",
|
||||
base02: "#20201d",
|
||||
base03: "#2a2a27",
|
||||
base04: "#c9c7ba",
|
||||
base05: "#e5e2de",
|
||||
base06: "#31302e",
|
||||
base07: "#e5e2de",
|
||||
base08: "#ffb4ab",
|
||||
base09: "#b5ccb9",
|
||||
base0A: "#e4e5c1",
|
||||
base0B: "#c8c7b7",
|
||||
base0C: "#c8c9a6",
|
||||
base0D: "#c8c9a6",
|
||||
base0E: "#47483b",
|
||||
base0F: "#000000"
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
name: "Matugen Dark",
|
||||
type: "dark",
|
||||
// Updated fallback colors to match current quickshell-colors.qml
|
||||
base00: "#141311",
|
||||
base01: "#1c1c19",
|
||||
base02: "#20201d",
|
||||
base03: "#2a2a27",
|
||||
base04: "#c9c7ba",
|
||||
base05: "#e5e2de",
|
||||
base06: "#31302e",
|
||||
base07: "#e5e2de",
|
||||
base08: "#ffb4ab",
|
||||
base09: "#b5ccb9",
|
||||
base0A: "#e4e5c1",
|
||||
base0B: "#c8c7b7",
|
||||
base0C: "#c8c9a6",
|
||||
base0D: "#c8c9a6",
|
||||
base0E: "#47483b",
|
||||
base0F: "#000000"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
readonly property var light: {
|
||||
if (matugenService && matugenService.isLoaded && matugenService.colorVersion >= 0) {
|
||||
// Use service colors if available, or generate fallback if we have dark colors
|
||||
return matugenService.colors.light || {
|
||||
name: "Matugen Light (Generated from Dark)",
|
||||
type: "light",
|
||||
// If we only have dark colors, create light fallback
|
||||
base00: "#ffffff",
|
||||
base01: "#f5f5f5",
|
||||
base02: "#e8e8e8",
|
||||
base03: "#d0d0d0",
|
||||
base04: "#666666",
|
||||
base05: "#1a1a1a",
|
||||
base06: "#000000",
|
||||
base07: "#ffffff",
|
||||
base08: "#d32f2f",
|
||||
base09: "#7b1fa2",
|
||||
base0A: "#f57c00",
|
||||
base0B: "#388e3c",
|
||||
base0C: "#0097a7",
|
||||
base0D: "#1976d2",
|
||||
base0E: "#5e35b1",
|
||||
base0F: "#000000"
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
name: "Matugen Light",
|
||||
type: "light",
|
||||
// Updated fallback colors based on current colors
|
||||
base00: "#ffffff",
|
||||
base01: "#f5f5f5",
|
||||
base02: "#e8e8e8",
|
||||
base03: "#d0d0d0",
|
||||
base04: "#666666",
|
||||
base05: "#1a1a1a",
|
||||
base06: "#000000",
|
||||
base07: "#ffffff",
|
||||
base08: "#d32f2f",
|
||||
base09: "#7b1fa2",
|
||||
base0A: "#f57c00",
|
||||
base0B: "#388e3c",
|
||||
base0C: "#0097a7",
|
||||
base0D: "#1976d2",
|
||||
base0E: "#5e35b1",
|
||||
base0F: "#000000"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Direct access to primary colors for accent updates
|
||||
readonly property color primary: (matugenService && matugenService.getColor && matugenService.colorVersion >= 0) ? matugenService.getColor("primary") || "#c8c9a6" : "#c8c9a6"
|
||||
readonly property color on_primary: (matugenService && matugenService.getColor && matugenService.colorVersion >= 0) ? matugenService.getColor("on_primary") || "#303219" : "#303219"
|
||||
|
||||
// Function to set the service reference
|
||||
function setMatugenService(service) {
|
||||
matugenService = service;
|
||||
console.log("🔌 MatugenService connected to theme:", service);
|
||||
|
||||
// Connect to service signals for automatic updates
|
||||
if (service) {
|
||||
service.matugenColorsUpdated.connect(function () {
|
||||
console.log("🎨 Matugen colors updated in theme (version " + service.colorVersion + ")");
|
||||
debugServiceStatus();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
console.log("Matugen theme loaded, waiting for MatugenService connection");
|
||||
}
|
||||
}
|
||||
76
modules/desktop/quickshell/qml/Data/Themes/Oxocarbon.qml
Normal file
76
modules/desktop/quickshell/qml/Data/Themes/Oxocarbon.qml
Normal file
@@ -0,0 +1,76 @@
|
||||
pragma Singleton
|
||||
import QtQuick
|
||||
|
||||
QtObject {
|
||||
readonly property var dark: ({
|
||||
name: "Oxocarbon Dark",
|
||||
type: "dark",
|
||||
base00: "#161616" // OLED-friendly background
|
||||
,
|
||||
base01: "#262626" // Surface 1
|
||||
,
|
||||
base02: "#393939" // Surface 2
|
||||
,
|
||||
base03: "#525252" // Surface 3
|
||||
,
|
||||
base04: "#6f6f6f" // Text secondary
|
||||
,
|
||||
base05: "#c6c6c6" // Text primary
|
||||
,
|
||||
base06: "#e0e0e0" // Text on color
|
||||
,
|
||||
base07: "#f4f4f4" // Text inverse
|
||||
,
|
||||
base08: "#ff7eb6" // Red (pink)
|
||||
,
|
||||
base09: "#ee5396" // Magenta
|
||||
,
|
||||
base0A: "#42be65" // Green
|
||||
,
|
||||
base0B: "#be95ff" // Purple
|
||||
,
|
||||
base0C: "#3ddbd9" // Cyan
|
||||
,
|
||||
base0D: "#78a9ff" // Blue
|
||||
,
|
||||
base0E: "#be95ff" // Purple (accent)
|
||||
,
|
||||
base0F: "#08bdba" // Teal
|
||||
})
|
||||
|
||||
readonly property var light: ({
|
||||
name: "Oxocarbon Light",
|
||||
type: "light",
|
||||
base00: "#f4f4f4" // Light background
|
||||
,
|
||||
base01: "#ffffff" // Surface 1
|
||||
,
|
||||
base02: "#e0e0e0" // Surface 2
|
||||
,
|
||||
base03: "#c6c6c6" // Surface 3
|
||||
,
|
||||
base04: "#525252" // Text secondary
|
||||
,
|
||||
base05: "#262626" // Text primary
|
||||
,
|
||||
base06: "#161616" // Text on color
|
||||
,
|
||||
base07: "#000000" // Text inverse
|
||||
,
|
||||
base08: "#da1e28" // Red
|
||||
,
|
||||
base09: "#d12771" // Magenta
|
||||
,
|
||||
base0A: "#198038" // Green
|
||||
,
|
||||
base0B: "#8a3ffc" // Purple
|
||||
,
|
||||
base0C: "#007d79" // Cyan
|
||||
,
|
||||
base0D: "#0f62fe" // Blue
|
||||
,
|
||||
base0E: "#8a3ffc" // Purple (accent)
|
||||
,
|
||||
base0F: "#005d5d" // Teal
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user