Removed extra 's' from all services. Made the noctalia color scheme the default

This commit is contained in:
quadbyte 2025-08-17 05:44:59 -04:00
parent b05abca3c1
commit f5a192baba
24 changed files with 79 additions and 89 deletions

View file

@ -47,23 +47,23 @@ Singleton {
QtObject {
id: defaultColors
property color mPrimary: "#ebbcba"
property color mOnPrimary: "#1f1d2e"
property color mSecondary: "#31748f"
property color mOnSecondary: "#e0def4"
property color mTertiary: "#9ccfd8"
property color mOnTertiary: "#191724"
property color mPrimary: "#c7a1d8"
property color mOnPrimary: "#1a151f"
property color mSecondary: "#a984c4"
property color mOnSecondary: "#f3edf7"
property color mTertiary: "#e0b7c9"
property color mOnTertiary: "#20161f"
property color mError: "#eb6f92"
property color mOnError: "#1f1d2e"
property color mError: "#e9899d"
property color mOnError: "#1e1418"
property color mSurface: "#1f1d2e"
property color mOnSurface: "#e0def4"
property color mSurfaceVariant: "#26233a"
property color mOnSurfaceVariant: "#908caa"
property color mOutline: "#44415a"
property color mOutlineVariant: "#514e6c"
property color mShadow: "#191724"
property color mSurface: "#1c1822"
property color mOnSurface: "#e9e4f0"
property color mSurfaceVariant: "#262130"
property color mOnSurfaceVariant: "#a79ab0"
property color mOutline: "#4d445a"
property color mOutlineVariant: "#342c42"
property color mShadow: "#120f18"
}
// ----------------------------------------------------------------

View file

@ -54,7 +54,7 @@ Singleton {
// Only set wallpaper on initial load, not on reloads
if (isInitialLoad && adapter.wallpaper.current !== "") {
Logger.log("Settings", "Set current wallpaper", adapter.wallpaper.current)
WallpapersService.setCurrentWallpaper(adapter.wallpaper.current, true)
WallpaperService.setCurrentWallpaper(adapter.wallpaper.current, true)
}
isInitialLoad = false
})
@ -125,9 +125,9 @@ Singleton {
property int randomInterval: 300
property JsonObject swww
onDirectoryChanged: WallpapersService.loadWallpapers()
onIsRandomChanged: WallpapersService.toggleRandomWallpaper()
onRandomIntervalChanged: WallpapersService.restartRandomWallpaperTimer()
onDirectoryChanged: WallpaperService.listWallpapers()
onIsRandomChanged: WallpaperService.toggleRandomWallpaper()
onRandomIntervalChanged: WallpaperService.restartRandomWallpaperTimer()
swww: JsonObject {
property bool enabled: false

View file

@ -9,8 +9,8 @@ Variants {
delegate: PanelWindow {
required property ShellScreen modelData
property string wallpaperSource: WallpapersService.currentWallpaper !== ""
&& !Settings.data.wallpaper.swww.enabled ? WallpapersService.currentWallpaper : ""
property string wallpaperSource: WallpaperService.currentWallpaper !== ""
&& !Settings.data.wallpaper.swww.enabled ? WallpaperService.currentWallpaper : ""
visible: wallpaperSource !== "" && !Settings.data.wallpaper.swww.enabled

View file

@ -22,8 +22,8 @@ NLoader {
delegate: PanelWindow {
required property ShellScreen modelData
property string wallpaperSource: WallpapersService.currentWallpaper !== ""
&& !Settings.data.wallpaper.swww.enabled ? WallpapersService.currentWallpaper : ""
property string wallpaperSource: WallpaperService.currentWallpaper !== ""
&& !Settings.data.wallpaper.swww.enabled ? WallpaperService.currentWallpaper : ""
visible: wallpaperSource !== "" && !Settings.data.wallpaper.swww.enabled
color: "transparent"

View file

@ -1,10 +0,0 @@
pragma Singleton
import QtQuick
import Quickshell
import qs.Commons
import qs.Services
Item {
id: root
}

View file

@ -28,7 +28,7 @@ Row {
NText {
id: cpuUsageText
text: `${SystemStatsService.cpuUsage}%`
text: `${SystemStatService.cpuUsage}%`
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
anchors.verticalCenter: parent.verticalCenter
@ -52,7 +52,7 @@ Row {
}
NText {
text: `${SystemStatsService.cpuTemp}°C`
text: `${SystemStatService.cpuTemp}°C`
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
anchors.verticalCenter: parent.verticalCenter
@ -75,7 +75,7 @@ Row {
}
NText {
text: `${SystemStatsService.memoryUsageGb}G`
text: `${SystemStatService.memoryUsageGb}G`
font.pointSize: Style.fontSizeReduced * scaling
font.weight: Style.fontWeightBold
anchors.verticalCenter: parent.verticalCenter

View file

@ -43,8 +43,8 @@ Item {
Component.onCompleted: {
localWorkspaces.clear()
for (var i = 0; i < WorkspacesService.workspaces.count; i++) {
const ws = WorkspacesService.workspaces.get(i)
for (var i = 0; i < WorkspaceService.workspaces.count; i++) {
const ws = WorkspaceService.workspaces.get(i)
if (ws.output.toLowerCase() === screen.name.toLowerCase()) {
localWorkspaces.append(ws)
}
@ -54,11 +54,11 @@ Item {
}
Connections {
target: WorkspacesService
target: WorkspaceService
function onWorkspacesChanged() {
localWorkspaces.clear()
for (var i = 0; i < WorkspacesService.workspaces.count; i++) {
const ws = WorkspacesService.workspaces.get(i)
for (var i = 0; i < WorkspaceService.workspaces.count; i++) {
const ws = WorkspaceService.workspaces.get(i)
if (ws.output.toLowerCase() === screen.name.toLowerCase()) {
localWorkspaces.append(ws)
}
@ -182,7 +182,7 @@ Item {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
WorkspacesService.switchToWorkspace(model.idx)
WorkspaceService.switchToWorkspace(model.idx)
}
hoverEnabled: true
}

View file

@ -96,7 +96,7 @@ WlSessionLock {
id: lockBgImage
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
source: WallpapersService.currentWallpaper !== "" ? WallpapersService.currentWallpaper : ""
source: WallpaperService.currentWallpaper !== "" ? WallpaperService.currentWallpaper : ""
cache: true
smooth: true
mipmap: false

View file

@ -67,7 +67,7 @@ ColumnLayout {
// When the list of available schemes changes, clear the cache.
// The Repeater below will automatically re-create the FileViews.
Connections {
target: ColorSchemesService
target: ColorSchemeService
function onSchemesChanged() {
schemeColorsCache = {}
}
@ -79,7 +79,7 @@ ColumnLayout {
id: fileLoaders
Repeater {
model: ColorSchemesService.schemes
model: ColorSchemeService.schemes
// The delegate is a Component, which correctly wraps the non-visual FileView
delegate: Item {
@ -133,7 +133,7 @@ ColumnLayout {
onToggled: checked => {
Settings.data.colorSchemes.useWallpaperColors = checked
if (Settings.data.colorSchemes.useWallpaperColors) {
ColorSchemesService.changedWallpaper()
ColorSchemeService.changedWallpaper()
}
}
}
@ -178,7 +178,7 @@ ColumnLayout {
Layout.fillWidth: true
Repeater {
model: ColorSchemesService.schemes
model: ColorSchemeService.schemes
Rectangle {
id: schemeCard
@ -201,7 +201,7 @@ ColumnLayout {
// TBC: broken uncheck useWallpaperColors
Settings.data.colorSchemes.useWallpaperColors = false
Settings.data.colorSchemes.predefinedScheme = schemePath
ColorSchemesService.applyScheme(schemePath)
ColorSchemeService.applyScheme(schemePath)
}
hoverEnabled: true
cursorShape: Qt.PointingHandCursor

View file

@ -49,7 +49,7 @@ Item {
id: currentWallpaperImage
anchors.fill: parent
anchors.margins: Style.marginSmall * scaling
imagePath: WallpapersService.currentWallpaper
imagePath: WallpaperService.currentWallpaper
fallbackIcon: "image"
borderColor: Color.mOutline
borderWidth: Math.max(1, Style.borderThin * scaling)
@ -97,7 +97,7 @@ Item {
icon: "refresh"
tooltipText: "Refresh wallpaper list"
onClicked: {
WallpapersService.loadWallpapers()
WallpaperService.listWallpapers()
}
Layout.alignment: Qt.AlignTop | Qt.AlignRight
}
@ -108,14 +108,14 @@ Item {
Layout.fillWidth: true
Layout.preferredHeight: {
return Math.ceil(
WallpapersService.wallpaperList.length / wallpaperGridView.columns) * wallpaperGridView.cellHeight
WallpaperService.wallpaperList.length / wallpaperGridView.columns) * wallpaperGridView.cellHeight
}
GridView {
id: wallpaperGridView
anchors.fill: parent
clip: true
model: WallpapersService.wallpaperList
model: WallpaperService.wallpaperList
boundsBehavior: Flickable.StopAtBounds
flickableDirection: Flickable.AutoFlickDirection
@ -136,7 +136,7 @@ Item {
delegate: Rectangle {
id: wallpaperItem
property string wallpaperPath: modelData
property bool isSelected: wallpaperPath === WallpapersService.currentWallpaper
property bool isSelected: wallpaperPath === WallpaperService.currentWallpaper
width: wallpaperGridView.itemSize
height: Math.floor(wallpaperGridView.itemSize * 0.67)
@ -197,7 +197,7 @@ Item {
acceptedButtons: Qt.LeftButton
hoverEnabled: true
onClicked: {
WallpapersService.changeWallpaper(wallpaperPath)
WallpaperService.changeWallpaper(wallpaperPath)
}
}
}
@ -210,7 +210,7 @@ Item {
radius: Style.radiusMedium * scaling
border.color: Color.mOutline
border.width: Math.max(1, Style.borderThin * scaling)
visible: WallpapersService.wallpaperList.length === 0 && !WallpapersService.scanning
visible: WallpaperService.wallpaperList.length === 0 && !WallpaperService.scanning
ColumnLayout {
anchors.centerIn: parent

View file

@ -28,7 +28,7 @@ NBox {
}
NCircleStat {
value: SystemStatsService.cpuUsage
value: SystemStatService.cpuUsage
icon: "speed"
flat: true
contentScale: 0.8
@ -36,7 +36,7 @@ NBox {
height: 68 * scaling
}
NCircleStat {
value: SystemStatsService.cpuTemp
value: SystemStatService.cpuTemp
suffix: "°C"
icon: "device_thermostat"
flat: true
@ -45,7 +45,7 @@ NBox {
height: 68 * scaling
}
NCircleStat {
value: SystemStatsService.memoryUsagePer
value: SystemStatService.memoryUsagePer
icon: "memory"
flat: true
contentScale: 0.8
@ -53,7 +53,7 @@ NBox {
height: 68 * scaling
}
NCircleStat {
value: SystemStatsService.diskUsage
value: SystemStatService.diskUsage
icon: "hard_drive"
flat: true
contentScale: 0.8

View file

@ -10,17 +10,17 @@ Singleton {
id: root
Component.onCompleted: {
Logger.log("ColorSchemes", "Service started")
Logger.log("ColorScheme", "Service started")
loadColorSchemes()
}
property var schemes: []
property bool scanning: false
property string schemesDirectory: Quickshell.shellDir + "/Assets/ColorSchemes"
property string schemesDirectory: Quickshell.shellDir + "/Assets/ColorScheme"
property string colorsJsonFilePath: Settings.configDir + "colors.json"
function loadColorSchemes() {
Logger.log("ColorSchemes", "Load ColorSchemes")
Logger.log("ColorScheme", "Load ColorScheme")
scanning = true
schemes = []
// Unsetting, then setting the folder will re-trigger the parsing!
@ -34,7 +34,7 @@ Singleton {
function changedWallpaper() {
if (Settings.data.colorSchemes.useWallpaperColors) {
Logger.log("ColorSchemes", "Starting color generation from wallpaper")
Logger.log("ColorScheme", "Starting color generation from wallpaper")
generateColorsProcess.running = true
// Invalidate potential predefined scheme
Settings.data.colorSchemes.predefinedScheme = ""
@ -55,19 +55,19 @@ Singleton {
}
schemes = files
scanning = false
Logger.log("ColorSchemes", "Loaded", schemes.length, "schemes")
Logger.log("ColorScheme", "Listed", schemes.length, "schemes")
}
}
}
Process {
id: generateColorsProcess
command: ["matugen", "image", WallpapersService.currentWallpaper, "--config", Quickshell.shellDir + "/Assets/Matugen/matugen.toml"]
command: ["matugen", "image", WallpaperService.currentWallpaper, "--config", Quickshell.shellDir + "/Assets/Matugen/matugen.toml"]
workingDirectory: Quickshell.shellDir
running: false
stdout: StdioCollector {
onStreamFinished: {
Logger.log("ColorSchemes", "Completed colors generation")
Logger.log("ColorScheme", "Completed colors generation")
}
}
stderr: StdioCollector {

View file

@ -81,7 +81,7 @@ Singleton {
compositorType = "unknown"
isHyprland = false
isNiri = false
Logger.warn("CompositorService", "No supported compositor detected")
Logger.warn("Compositor", "No supported compositor detected")
}
// Hyprland integration
@ -90,9 +90,9 @@ Singleton {
Hyprland.refreshWorkspaces()
updateHyprlandWorkspaces()
setupHyprlandConnections()
Logger.log("CompositorService", "Hyprland initialized successfully")
Logger.log("Compositor", "Hyprland initialized successfully")
} catch (e) {
Logger.error("CompositorService", "Error initializing Hyprland:", e)
Logger.error("Compositor", "Error initializing Hyprland:", e)
compositorType = "unknown"
isHyprland = false
}
@ -124,7 +124,7 @@ Singleton {
}
}
} catch (e) {
Logger.error("CompositorService", "Error updating Hyprland workspaces:", e)
Logger.error("Compositor", "Error updating Hyprland workspaces:", e)
}
}
@ -136,9 +136,9 @@ Singleton {
// Initial load of workspaces and windows
updateNiriWorkspaces()
updateNiriWindows()
Logger.log("CompositorService", "Niri initialized successfully")
Logger.log("Compositor", "Niri initialized successfully")
} catch (e) {
Logger.error("CompositorService", "Error initializing Niri:", e)
Logger.error("Compositor", "Error initializing Niri:", e)
compositorType = "unknown"
isNiri = false
}
@ -197,7 +197,7 @@ Singleton {
}
workspaceChanged()
} catch (e) {
Logger.error("CompositorService", "Failed to parse workspaces:", e, line)
Logger.error("Compositor", "Failed to parse workspaces:", e, line)
}
}
}
@ -244,7 +244,7 @@ Singleton {
updateFocusedWindowTitle()
activeWindowChanged()
} catch (e) {
Logger.error("CompositorService", "Error parsing windows event:", e)
Logger.error("Compositor", "Error parsing windows event:", e)
}
} else if (event.WorkspaceActivated) {
niriWorkspaceProcess.running = true
@ -262,18 +262,18 @@ Singleton {
updateFocusedWindowTitle()
activeWindowChanged()
} catch (e) {
Logger.error("CompositorService", "Error parsing window focus event:", e)
Logger.error("Compositor", "Error parsing window focus event:", e)
}
} else if (event.OverviewOpenedOrClosed) {
try {
inOverview = event.OverviewOpenedOrClosed.is_open === true
overviewStateChanged()
} catch (e) {
Logger.error("CompositorService", "Error parsing overview state:", e)
Logger.error("Compositor", "Error parsing overview state:", e)
}
}
} catch (e) {
Logger.error("CompositorService", "Error parsing event stream:", e, data)
Logger.error("Compositor", "Error parsing event stream:", e, data)
}
}
}
@ -314,7 +314,7 @@ Singleton {
updateFocusedWindowTitle()
activeWindowChanged()
} catch (e) {
Logger.error("CompositorService", "Failed to parse windows:", e, line)
Logger.error("Compositor", "Failed to parse windows:", e, line)
}
}
}
@ -334,16 +334,16 @@ Singleton {
try {
Hyprland.dispatch(`workspace ${workspaceId}`)
} catch (e) {
Logger.error("CompositorService", "Error switching Hyprland workspace:", e)
Logger.error("Compositor", "Error switching Hyprland workspace:", e)
}
} else if (isNiri) {
try {
Quickshell.execDetached(["niri", "msg", "action", "focus-workspace", workspaceId.toString()])
} catch (e) {
Logger.error("CompositorService", "Error switching Niri workspace:", e)
Logger.error("Compositor", "Error switching Niri workspace:", e)
}
} else {
Logger.warn("CompositorService", "No supported compositor detected for workspace switching")
Logger.warn("Compositor", "No supported compositor detected for workspace switching")
}
}
@ -353,16 +353,16 @@ Singleton {
try {
Quickshell.execDetached(["hyprctl", "dispatch", "exit"])
} catch (e) {
Logger.error("CompositorService", "Error logging out from Hyprland:", e)
Logger.error("Compositor", "Error logging out from Hyprland:", e)
}
} else if (isNiri) {
try {
Quickshell.execDetached(["niri", "msg", "action", "quit", "--skip-confirmation"])
} catch (e) {
Logger.error("CompositorService", "Error logging out from Niri:", e)
Logger.error("Compositor", "Error logging out from Niri:", e)
}
} else {
Logger.warn("CompositorService", "No supported compositor detected for logout")
Logger.warn("Compositor", "No supported compositor detected for logout")
}
}

View file

@ -11,7 +11,7 @@ Singleton {
Component.onCompleted: {
Logger.log("Wallpapers", "Service started")
loadWallpapers()
listWallpapers()
// Wallpaper is set when the settings are loaded.
// Don't start random wallpaper during initialization
@ -25,8 +25,8 @@ Singleton {
property string transitionType: Settings.data.wallpaper.swww.transitionType
property var randomChoices: ["simple", "fade", "left", "right", "top", "bottom", "wipe", "wave", "grow", "center", "any", "outer"]
function loadWallpapers() {
Logger.log("Wallpapers", "Load Wallpapers")
function listWallpapers() {
Logger.log("Wallpapers", "Listing wallpapers")
scanning = true
wallpaperList = []
// Unsetting, then setting the folder will re-trigger the parsing!
@ -65,9 +65,9 @@ Singleton {
randomWallpaperTimer.restart()
}
// Only notify ColorSchemes service if the wallpaper actually changed
// Only notify ColorScheme service if the wallpaper actually changed
if (wallpaperChanged) {
ColorSchemesService.changedWallpaper()
ColorSchemeService.changedWallpaper()
}
}