From a065829eee98201ed6a74bd392f6f7ed7de5df54 Mon Sep 17 00:00:00 2001 From: nrand Date: Mon, 10 Nov 2025 20:58:35 +0200 Subject: [PATCH 1/2] clock: separate style for lock screen (#2374) --- .../quickshell/ii/modules/common/Config.qml | 3 +- .../background/widgets/clock/ClockWidget.qml | 2 +- .../ii/modules/settings/BackgroundConfig.qml | 45 +++++++++++++++---- 3 files changed, 39 insertions(+), 11 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/common/Config.qml b/dots/.config/quickshell/ii/modules/common/Config.qml index 1b13540ef..2987faed2 100644 --- a/dots/.config/quickshell/ii/modules/common/Config.qml +++ b/dots/.config/quickshell/ii/modules/common/Config.qml @@ -157,7 +157,8 @@ Singleton { property string placementStrategy: "leastBusy" // "free", "leastBusy", "mostBusy" property real x: 100 property real y: 100 - property string style: "cookie" // Options: "cookie", "digital" + property string style: "cookie" // Options: "cookie", "digital" + property string styleLocked: "digital" // Options: "cookie", "digital" property JsonObject cookie: JsonObject { property bool aiStyling: false property int sides: 14 diff --git a/dots/.config/quickshell/ii/modules/ii/background/widgets/clock/ClockWidget.qml b/dots/.config/quickshell/ii/modules/ii/background/widgets/clock/ClockWidget.qml index cf8c739e0..ba3197621 100644 --- a/dots/.config/quickshell/ii/modules/ii/background/widgets/clock/ClockWidget.qml +++ b/dots/.config/quickshell/ii/modules/ii/background/widgets/clock/ClockWidget.qml @@ -16,7 +16,7 @@ AbstractBackgroundWidget { implicitHeight: contentColumn.implicitHeight implicitWidth: contentColumn.implicitWidth - readonly property string clockStyle: Config.options.background.widgets.clock.style + readonly property string clockStyle: GlobalStates.screenLocked ? Config.options.background.widgets.clock.styleLocked : Config.options.background.widgets.clock.style readonly property bool forceCenter: (GlobalStates.screenLocked && Config.options.lock.centerClock) readonly property bool shouldShow: (!Config.options.background.widgets.clock.showOnlyWhenLocked || GlobalStates.screenLocked) property bool wallpaperSafetyTriggered: false diff --git a/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml b/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml index ec9dc320d..c12a04c54 100644 --- a/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml +++ b/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml @@ -55,6 +55,10 @@ ContentPage { ContentSection { icon: "clock_loader_40" title: Translation.tr("Widget: Clock") + id: settingsClock + + readonly property bool digitalPresent: (!Config.options.background.widgets.clock.showOnlyWhenLocked && Config.options.background.widgets.clock.style === "digital") || Config.options.background.widgets.clock.styleLocked === "digital" + readonly property bool cookiePresent: (!Config.options.background.widgets.clock.showOnlyWhenLocked && Config.options.background.widgets.clock.style === "cookie") || Config.options.background.widgets.clock.styleLocked === "cookie" ConfigRow { Layout.fillWidth: true @@ -107,6 +111,7 @@ ContentPage { } ContentSubsection { + visible: !Config.options.background.widgets.clock.showOnlyWhenLocked title: Translation.tr("Clock style") ConfigSelectionArray { currentValue: Config.options.background.widgets.clock.style @@ -129,7 +134,29 @@ ContentPage { } ContentSubsection { - visible: Config.options.background.widgets.clock.style === "digital" + title: Translation.tr("Clock style (locked)") + ConfigSelectionArray { + currentValue: Config.options.background.widgets.clock.styleLocked + onSelected: newValue => { + Config.options.background.widgets.clock.styleLocked = newValue; + } + options: [ + { + displayName: Translation.tr("Digital"), + icon: "timer_10", + value: "digital" + }, + { + displayName: Translation.tr("Cookie"), + icon: "cookie", + value: "cookie" + } + ] + } + } + + ContentSubsection { + visible: settingsClock.digitalPresent title: Translation.tr("Digital clock settings") ConfigSwitch { @@ -143,7 +170,7 @@ ContentPage { } ContentSubsection { - visible: Config.options.background.widgets.clock.style === "cookie" + visible: settingsClock.cookiePresent title: Translation.tr("Cookie clock settings") ConfigSwitch { @@ -197,7 +224,7 @@ ContentPage { ConfigRow { ConfigSwitch { - enabled: Config.options.background.widgets.clock.style === "cookie" && Config.options.background.widgets.clock.cookie.dialNumberStyle === "dots" || Config.options.background.widgets.clock.cookie.dialNumberStyle === "full" + enabled: Config.options.background.widgets.clock.cookie.dialNumberStyle === "dots" || Config.options.background.widgets.clock.cookie.dialNumberStyle === "full" buttonIcon: "brightness_7" text: Translation.tr("Hour marks") checked: Config.options.background.widgets.clock.cookie.hourMarks @@ -213,7 +240,7 @@ ContentPage { } ConfigSwitch { - enabled: Config.options.background.widgets.clock.style === "cookie" && Config.options.background.widgets.clock.cookie.dialNumberStyle !== "numbers" + enabled: Config.options.background.widgets.clock.cookie.dialNumberStyle !== "numbers" buttonIcon: "timer_10" text: Translation.tr("Digits in the middle") checked: Config.options.background.widgets.clock.cookie.timeIndicators @@ -231,7 +258,7 @@ ContentPage { } ContentSubsection { - visible: Config.options.background.widgets.clock.style === "cookie" + visible: settingsClock.cookiePresent title: Translation.tr("Dial style") ConfigSelectionArray { currentValue: Config.options.background.widgets.clock.cookie.dialNumberStyle @@ -270,7 +297,7 @@ ContentPage { } ContentSubsection { - visible: Config.options.background.widgets.clock.style === "cookie" + visible: settingsClock.cookiePresent title: Translation.tr("Hour hand") ConfigSelectionArray { currentValue: Config.options.background.widgets.clock.cookie.hourHandStyle @@ -303,7 +330,7 @@ ContentPage { } ContentSubsection { - visible: Config.options.background.widgets.clock.style === "cookie" + visible: settingsClock.cookiePresent title: Translation.tr("Minute hand") ConfigSelectionArray { @@ -342,7 +369,7 @@ ContentPage { } ContentSubsection { - visible: Config.options.background.widgets.clock.style === "cookie" + visible: settingsClock.cookiePresent title: Translation.tr("Second hand") ConfigSelectionArray { @@ -376,7 +403,7 @@ ContentPage { } ContentSubsection { - visible: Config.options.background.widgets.clock.style === "cookie" + visible: settingsClock.cookiePresent title: Translation.tr("Date style") ConfigSelectionArray { From bd284a5ef457dc31b55789dc653ac00482c3144e Mon Sep 17 00:00:00 2001 From: nrand Date: Fri, 14 Nov 2025 17:49:02 +0200 Subject: [PATCH 2/2] clock: code cleanups + cookie by default --- .../quickshell/ii/modules/common/Config.qml | 2 +- .../ii/modules/settings/BackgroundConfig.qml | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/common/Config.qml b/dots/.config/quickshell/ii/modules/common/Config.qml index 2987faed2..a71f6e9e7 100644 --- a/dots/.config/quickshell/ii/modules/common/Config.qml +++ b/dots/.config/quickshell/ii/modules/common/Config.qml @@ -158,7 +158,7 @@ Singleton { property real x: 100 property real y: 100 property string style: "cookie" // Options: "cookie", "digital" - property string styleLocked: "digital" // Options: "cookie", "digital" + property string styleLocked: "cookie" // Options: "cookie", "digital" property JsonObject cookie: JsonObject { property bool aiStyling: false property int sides: 14 diff --git a/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml b/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml index c12a04c54..66630cc24 100644 --- a/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml +++ b/dots/.config/quickshell/ii/modules/settings/BackgroundConfig.qml @@ -57,8 +57,18 @@ ContentPage { title: Translation.tr("Widget: Clock") id: settingsClock - readonly property bool digitalPresent: (!Config.options.background.widgets.clock.showOnlyWhenLocked && Config.options.background.widgets.clock.style === "digital") || Config.options.background.widgets.clock.styleLocked === "digital" - readonly property bool cookiePresent: (!Config.options.background.widgets.clock.showOnlyWhenLocked && Config.options.background.widgets.clock.style === "cookie") || Config.options.background.widgets.clock.styleLocked === "cookie" + function stylePresent(styleName) { + if (!Config.options.background.widgets.clock.showOnlyWhenLocked && Config.options.background.widgets.clock.style === styleName) { + return true; + } + if (Config.options.background.widgets.clock.styleLocked === styleName) { + return true; + } + return false; + } + + readonly property bool digitalPresent: stylePresent("digital") + readonly property bool cookiePresent: stylePresent("cookie") ConfigRow { Layout.fillWidth: true