From 10b70f0c5391b51660a6357888779576dc2fc174 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Wed, 23 Jul 2025 14:06:20 -0400 Subject: [PATCH 1/9] Bugfix: weather geolocation not working when there are multiple results. --- Helpers/Weather.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Helpers/Weather.js b/Helpers/Weather.js index 538ade2..52b83eb 100644 --- a/Helpers/Weather.js +++ b/Helpers/Weather.js @@ -1,5 +1,5 @@ function fetchCoordinates(city, callback, errorCallback) { - var geoUrl = "https://geocoding-api.open-meteo.com/v1/search?name=" + encodeURIComponent(city) + "&count=1&language=en&format=json"; + var geoUrl = "https://geocoding-api.open-meteo.com/v1/search?name=" + encodeURIComponent(city) + "&language=en&format=json"; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE) { From 411ed72436c1337c9e59e81b93de1db1f6574b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Wed, 23 Jul 2025 14:16:46 -0400 Subject: [PATCH 2/9] Fix some invalid colors name + avoid hard coding colors and transparency. --- Bar/Modules/CustomTrayMenu.qml | 6 +++--- Components/StyledTooltip.qml | 6 +++--- Settings/Theme.json | 4 ++-- Settings/Theme.qml | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Bar/Modules/CustomTrayMenu.qml b/Bar/Modules/CustomTrayMenu.qml index ae60890..5366d7f 100644 --- a/Bar/Modules/CustomTrayMenu.qml +++ b/Bar/Modules/CustomTrayMenu.qml @@ -51,8 +51,8 @@ PopupWindow { Rectangle { id: bg anchors.fill: parent - color: Theme.backgroundElevated || "#222" - border.color: Theme.border || "#444" + color: Theme.surfaceVariant || "#222" + border.color: Theme.outline || "#444" border.width: 1 radius: 12 z: 0 @@ -84,7 +84,7 @@ PopupWindow { anchors.centerIn: parent width: parent.width - 20 height: 1 - color: Qt.darker(Theme.backgroundElevated || "#222", 1.4) + color: Qt.darker(Theme.surfaceVariant || "#222", 1.4) visible: modelData?.isSeparator ?? false } diff --git a/Components/StyledTooltip.qml b/Components/StyledTooltip.qml index 6fe0f12..49e6694 100644 --- a/Components/StyledTooltip.qml +++ b/Components/StyledTooltip.qml @@ -1,4 +1,4 @@ -import QtQuick +import QtQuick import QtQuick.Window 2.15 import qs.Settings @@ -57,8 +57,8 @@ Window { Rectangle { anchors.fill: parent radius: 6 - color: "#222" - border.color: Theme.backgroundTertiary || "#444" + color: Theme.backgroundTertiary || "#222" + border.color: Theme.outline || "#444" border.width: 1 opacity: 0.97 z: 1 diff --git a/Settings/Theme.json b/Settings/Theme.json index c20e7b1..0741df8 100644 --- a/Settings/Theme.json +++ b/Settings/Theme.json @@ -23,6 +23,6 @@ "onAccent": "#0E0F10", "outline": "#565758", - "shadow": "#0E0F10", - "overlay": "#0E0F10" + "shadow": "#B30E0F10", + "overlay": "#660E0F10" } diff --git a/Settings/Theme.qml b/Settings/Theme.qml index f825cef..d324c37 100644 --- a/Settings/Theme.qml +++ b/Settings/Theme.qml @@ -97,8 +97,8 @@ Singleton { property color outline: themeData.outline // Shadows & Overlays - property color shadow: applyOpacity(themeData.shadow, "B3") - property color overlay: applyOpacity(themeData.overlay, "66") + property color shadow: themeData.shadow + property color overlay: themeData.overlay // Font Properties property string fontFamily: "Roboto" // Family for all text From 73ec07491fb13a0d92c20fa4c83f8bac2ea061e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Wed, 23 Jul 2025 14:17:54 -0400 Subject: [PATCH 3/9] Notification: add urgency and alter the look when it's a critical notification. --- Widgets/Notification/NotificationPopup.qml | 3 +++ shell.qml | 1 + 2 files changed, 4 insertions(+) diff --git a/Widgets/Notification/NotificationPopup.qml b/Widgets/Notification/NotificationPopup.qml index b80018f..2b30455 100644 --- a/Widgets/Notification/NotificationPopup.qml +++ b/Widgets/Notification/NotificationPopup.qml @@ -32,6 +32,7 @@ PanelWindow { appName: notification.appName || "Notification", summary: notification.summary || "", body: notification.body || "", + urgency: notification.urgency || 0, rawNotification: notification, appeared: false, dismissed: false @@ -84,6 +85,8 @@ PanelWindow { width: parent.width color: Theme.backgroundPrimary radius: 20 + border.color: model.urgency == 2 ? Theme.warning : Theme.outline + border.width: 1 property bool appeared: model.appeared property bool dismissed: model.dismissed diff --git a/shell.qml b/shell.qml index a78bae5..0a577d0 100644 --- a/shell.qml +++ b/shell.qml @@ -62,6 +62,7 @@ Scope { appName: notification.appName || "Notification", summary: notification.summary || "", body: notification.body || "", + urgency: notification.urgency, timestamp: Date.now() }); } From e8af442b3479cc0a5d92ae7bd5570fcda3faa7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Wed, 23 Jul 2025 14:18:48 -0400 Subject: [PATCH 4/9] Bugfix: improve active window name display by avoiding double ellipsis. --- Bar/Modules/ActiveWindow.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/Bar/Modules/ActiveWindow.qml b/Bar/Modules/ActiveWindow.qml index 2e0aa2d..c01d58d 100644 --- a/Bar/Modules/ActiveWindow.qml +++ b/Bar/Modules/ActiveWindow.qml @@ -128,7 +128,6 @@ PanelWindow { text: ToplevelManager?.activeToplevel?.title && ToplevelManager?.activeToplevel?.title.length > 60 ? ToplevelManager?.activeToplevel?.title.substring(0, 60) + "..." : ToplevelManager?.activeToplevel?.title || "" font.pixelSize: 12 color: Theme.textSecondary - elide: Text.ElideRight anchors.left: icon.right anchors.leftMargin: Settings.settings.showActiveWindowIcon ? 4 : 6 anchors.right: parent.right From 320870df0b3f5e2cfd71a6c3ba3dacf61fb7c348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Fri, 25 Jul 2025 17:35:03 -0400 Subject: [PATCH 5/9] Workspace: show occupied workspaces with a different color --- Bar/Modules/Workspace.qml | 11 ++++++++--- Services/Niri.qml | 4 ++-- Services/WorkspaceManager.qml | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Bar/Modules/Workspace.qml b/Bar/Modules/Workspace.qml index e537118..b1c7ccb 100644 --- a/Bar/Modules/Workspace.qml +++ b/Bar/Modules/Workspace.qml @@ -168,11 +168,16 @@ Item { color: { if (model.isFocused) return Theme.accentPrimary; - if (model.isActive) - return Theme.accentPrimary.lighter(130); if (model.isUrgent) return Theme.error; - return Qt.lighter(Theme.surfaceVariant, 1.6); + if (model.isActive) + return Theme.accentSecondary; + if (model.isOccupied) + return Theme.accentSecondary; + if (model.isUrgent) + return Theme.error; + + return Theme.surfaceVariant.lighter(1.5); } scale: model.isFocused ? 1.0 : 0.9 z: 0 diff --git a/Services/Niri.qml b/Services/Niri.qml index a8f551a..fd003cb 100644 --- a/Services/Niri.qml +++ b/Services/Niri.qml @@ -49,10 +49,10 @@ Singleton { isFocused: ws.is_focused === true, isActive: ws.is_active === true, isUrgent: ws.is_urgent === true, - activeWindowId: ws.active_window_id + isOccupied: ws.active_window_id ? true : false }); } - + workspacesList.sort((a, b) => { if (a.output !== b.output) { return a.output.localeCompare(b.output); diff --git a/Services/WorkspaceManager.qml b/Services/WorkspaceManager.qml index f2f7bcb..b5dc29c 100644 --- a/Services/WorkspaceManager.qml +++ b/Services/WorkspaceManager.qml @@ -124,7 +124,8 @@ Singleton { output: ws.output || "", isFocused: ws.isFocused === true, isActive: ws.isActive === true, - isUrgent: ws.isUrgent === true + isUrgent: ws.isUrgent === true, + isOccupied: ws.isOccupied === true, }); } From f4ebd72b4c8fbdff841acd55cfab82e41947c899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Fri, 25 Jul 2025 17:35:31 -0400 Subject: [PATCH 6/9] Brightness: hide widget if no brightness device detected --- Bar/Modules/Brightness.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/Bar/Modules/Brightness.qml b/Bar/Modules/Brightness.qml index 5aa5fd7..6dc9b87 100644 --- a/Bar/Modules/Brightness.qml +++ b/Bar/Modules/Brightness.qml @@ -16,6 +16,7 @@ Item { width: pill.width height: pill.height + visible: brightness >= 0 Process { id: getBrightnessProcess From 2dc106db5f135bcf7e18b47bc67aebdfdb09cf79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Fri, 25 Jul 2025 17:36:56 -0400 Subject: [PATCH 7/9] Corners: new option to show or hide screen rounded corners. --- Bar/Bar.qml | 4 ++ Settings/Settings.qml | 1 + Widgets/Sidebar/Config/ProfileSettings.qml | 55 ++++++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/Bar/Bar.qml b/Bar/Bar.qml index 83c3ae7..201e336 100644 --- a/Bar/Bar.qml +++ b/Bar/Bar.qml @@ -159,6 +159,7 @@ Scope { offsetX: -39 offsetY: 0 anchors.top: parent.top + visible: Settings.settings.showCorners } } @@ -185,6 +186,7 @@ Scope { offsetX: 39 offsetY: 0 anchors.top: parent.top + visible: Settings.settings.showCorners } } @@ -210,6 +212,7 @@ Scope { offsetX: -39 offsetY: 0 anchors.top: parent.top + visible: Settings.settings.showCorners } } @@ -235,6 +238,7 @@ Scope { offsetX: 39 offsetY: 0 anchors.top: parent.top + visible: Settings.settings.showCorners } } } diff --git a/Settings/Settings.qml b/Settings/Settings.qml index 95fe8b3..2e42e7a 100644 --- a/Settings/Settings.qml +++ b/Settings/Settings.qml @@ -44,6 +44,7 @@ Singleton { property string videoPath: "~/Videos/" property bool showActiveWindowIcon: false property bool showSystemInfoInBar: false + property bool showCorners: false property bool showMediaInBar: false property bool useSWWW: false property bool randomWallpaper: false diff --git a/Widgets/Sidebar/Config/ProfileSettings.qml b/Widgets/Sidebar/Config/ProfileSettings.qml index b1b800f..bc32af2 100644 --- a/Widgets/Sidebar/Config/ProfileSettings.qml +++ b/Widgets/Sidebar/Config/ProfileSettings.qml @@ -252,6 +252,61 @@ Rectangle { } } + // Show Corners In Bar Setting + RowLayout { + spacing: 8 + Layout.fillWidth: true + Layout.topMargin: 8 + + Text { + text: "Show Corners" + font.family: Theme.fontFamily + font.pixelSize: 13 + font.bold: true + color: Theme.textPrimary + Layout.alignment: Qt.AlignVCenter + } + + Item { + Layout.fillWidth: true + } + + // Custom Material 3 Switch + Rectangle { + id: customSwitch4 + width: 52 + height: 32 + radius: 16 + color: Settings.settings.showCorners ? Theme.accentPrimary : Theme.surfaceVariant + border.color: Settings.settings.showCorners ? Theme.accentPrimary : Theme.outline + border.width: 2 + + Rectangle { + id: thumb4 + width: 28 + height: 28 + radius: 14 + color: Theme.surface + border.color: Theme.outline + border.width: 1 + y: 2 + x: Settings.settings.showCorners ? customSwitch4.width - width - 2 : 2 + + Behavior on x { + NumberAnimation { duration: 200; easing.type: Easing.OutCubic } + } + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: { + Settings.settings.showCorners = !Settings.settings.showCorners + } + } + } + } + // Show Media In Bar Setting RowLayout { spacing: 8 From b78b7df66c163cdfa54da7cbc9f38873c3c9581a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Fri, 25 Jul 2025 17:37:12 -0400 Subject: [PATCH 8/9] Cava: fix overflowing array --- Components/Cava.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Components/Cava.qml b/Components/Cava.qml index f04c132..1581810 100644 --- a/Components/Cava.qml +++ b/Components/Cava.qml @@ -67,9 +67,9 @@ Scope { process.index = 0; } for (let i = 0; i < data.length; i += 1) { - newValues[i + process.index] = Math.min(data.charCodeAt(i), 128) / 128; + newValues[process.index] = Math.min(data.charCodeAt(i), 128) / 128; + process.index = (process.index+1) % count; } - process.index += data.length; values = newValues; } } From 5f0446284a2388536de84cf8f31f154e37de2a85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Atoch?= Date: Sat, 26 Jul 2025 08:35:35 -0400 Subject: [PATCH 9/9] Settings: increase container height to accomodate new showCorners toggle --- Widgets/Sidebar/Config/ProfileSettings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Widgets/Sidebar/Config/ProfileSettings.qml b/Widgets/Sidebar/Config/ProfileSettings.qml index bc32af2..9f5fdb9 100644 --- a/Widgets/Sidebar/Config/ProfileSettings.qml +++ b/Widgets/Sidebar/Config/ProfileSettings.qml @@ -7,7 +7,7 @@ import qs.Settings Rectangle { id: profileSettingsCard Layout.fillWidth: true - Layout.preferredHeight: 540 + Layout.preferredHeight: 580 color: Theme.surface radius: 18 border.color: "transparent"