diff --git a/modules/Bar.qml b/modules/Bar.qml index 018ebcf..b8c5d26 100644 --- a/modules/Bar.qml +++ b/modules/Bar.qml @@ -109,7 +109,6 @@ PanelWindow { M.Privacy {} M.BarGroup { - borderColor: M.Theme.base0D M.Clock { visible: M.Modules.clock.enable } @@ -127,21 +126,18 @@ PanelWindow { spacing: M.Theme.barSpacing M.BarGroup { - borderColor: M.Theme.base0D M.Workspaces { bar: bar visible: M.Modules.workspaces.enable } } M.BarGroup { - borderColor: M.Theme.base0D M.Tray { bar: bar visible: M.Modules.tray.enable } } M.BarGroup { - borderColor: M.Theme.base0D M.WindowTitle { Layout.maximumWidth: 400 visible: M.Modules.windowTitle.enable @@ -165,7 +161,6 @@ PanelWindow { // Media M.BarGroup { - borderColor: M.Theme.base0E M.Mpris { bar: bar } @@ -176,7 +171,6 @@ PanelWindow { // Connectivity M.BarGroup { - borderColor: M.Theme.base0D M.Network { bar: bar visible: M.Modules.network.enable @@ -188,7 +182,6 @@ PanelWindow { // Controls M.BarGroup { - borderColor: M.Theme.base0A M.Backlight {} M.PowerProfile { visible: M.Modules.powerProfile.enable @@ -200,7 +193,6 @@ PanelWindow { // Stats M.BarGroup { - borderColor: M.Theme.base08 M.Cpu { visible: M.Modules.cpu.enable } @@ -220,7 +212,6 @@ PanelWindow { // Power M.BarGroup { - borderColor: M.Theme.base08 M.Battery {} M.Power { bar: bar diff --git a/modules/BarGroup.qml b/modules/BarGroup.qml index 66844ec..05f50bd 100644 --- a/modules/BarGroup.qml +++ b/modules/BarGroup.qml @@ -1,12 +1,26 @@ import QtQuick import QtQuick.Effects +import Quickshell import "." as M Item { id: root default property alias content: row.children - property color borderColor: M.Theme.base02 + + // Auto-compute border color from top gradient position (base0C → base09) + readonly property real _posFrac: { + const scr = QsWindow.window?.screen; + if (!scr) return 0.5; + const gx = mapToGlobal(width / 2, 0).x - scr.x; + return Math.max(0, Math.min(1, gx / scr.width)); + } + property color borderColor: Qt.rgba( + M.Theme.base0C.r + (M.Theme.base09.r - M.Theme.base0C.r) * _posFrac, + M.Theme.base0C.g + (M.Theme.base09.g - M.Theme.base0C.g) * _posFrac, + M.Theme.base0C.b + (M.Theme.base09.b - M.Theme.base0C.b) * _posFrac, + 1 + ) visible: row.visibleChildren.length > 0