diff --git a/shell/applets/CpuApplet.qml b/shell/applets/CpuApplet.qml index f1e75d2..70e43d9 100644 --- a/shell/applets/CpuApplet.qml +++ b/shell/applets/CpuApplet.qml @@ -138,51 +138,6 @@ Column { } } - // Overall CPU utilization chart - Item { - width: root.width - height: 44 - - Text { - id: _totalLabel - anchors.left: parent.left - anchors.leftMargin: 12 - anchors.verticalCenter: parent.verticalCenter - text: S.SystemStats.cpuUsage + "%" - color: S.Theme.loadColor(S.SystemStats.cpuUsage) - font.pixelSize: S.Theme.fontSize - 1 - font.family: S.Theme.fontFamily - font.bold: true - width: 32 - } - - SparklineCanvas { - anchors.left: _totalLabel.right - anchors.leftMargin: 6 - anchors.right: parent.right - anchors.rightMargin: 12 - anchors.verticalCenter: parent.verticalCenter - height: 32 - history: root._cpuHistory - strokeColor: root.accentColor - colorAt: v => S.Theme.loadColor(v) - active: root.active - } - } - - property var _cpuHistory: [] - onActiveChanged: if (active) - _cpuHistory = [] - Connections { - target: S.SystemStats - function onCpuUsageChanged() { - if (!root.active) - return; - const h = root._cpuHistory.concat([S.SystemStats.cpuUsage]); - root._cpuHistory = h.length > 60 ? h.slice(h.length - 60) : h; - } - } - Separator {} Item { diff --git a/shell/applets/MemoryApplet.qml b/shell/applets/MemoryApplet.qml index b9b2f15..065e686 100644 --- a/shell/applets/MemoryApplet.qml +++ b/shell/applets/MemoryApplet.qml @@ -70,6 +70,19 @@ Column { } } + // Memory history sparkline + SparklineCanvas { + anchors.left: parent.left + anchors.leftMargin: 12 + anchors.right: parent.right + anchors.rightMargin: 12 + height: 32 + history: S.SystemStats.memHistory + strokeColor: root.accentColor + colorAt: v => S.Theme.loadColor(v) + active: root.active + } + // Breakdown rows InfoRow { label: "Used" @@ -88,19 +101,6 @@ Column { value: root._fmt(root.totalGb) } - // Memory history sparkline - SparklineCanvas { - anchors.left: parent.left - anchors.leftMargin: 12 - anchors.right: parent.right - anchors.rightMargin: 12 - height: 32 - history: S.SystemStats.memHistory - strokeColor: root.accentColor - colorAt: v => S.Theme.loadColor(v) - active: root.active - } - Separator {} Item { diff --git a/shell/lock/LockSurface.qml b/shell/lock/LockSurface.qml index 2d9d852..91c8140 100644 --- a/shell/lock/LockSurface.qml +++ b/shell/lock/LockSurface.qml @@ -13,36 +13,6 @@ WlSessionLockSurface { color: S.Theme.base00 - // Keyboard input via TextInput - engages Qt's full input pipeline including - // text-input protocol, which is more reliable than Keys on a plain Item in - // layer-shell/lock surfaces where raw wl_keyboard delivery can be flaky. - // Declared BEFORE visual content so it's below in z-order - widget TapHandlers - // receive mouse events, while keyboard activeFocus is independent of stacking. - TextInput { - id: _keyInput - anchors.fill: parent - focus: true - color: "transparent" - selectionColor: "transparent" - selectedTextColor: "transparent" - cursorVisible: false - enabled: !root._unlocking && root.auth.state !== "max" && root.auth.state !== "busy" - - onTextChanged: if (root.auth) - root.auth.buffer = text - - Keys.onReturnPressed: root.auth.submit() - Keys.onEnterPressed: root.auth.submit() - Keys.onEscapePressed: { - text = ""; - } - - onActiveFocusChanged: { - if (!activeFocus) - forceActiveFocus(); - } - } - property real _unlockFade: 1 // Threat level: eased curve so fails 1-2 are subtle, 3+ ramps up. @@ -224,6 +194,36 @@ WlSessionLockSurface { } } + // Keyboard input via TextInput - engages Qt's full input pipeline including + // text-input protocol, which is more reliable than Keys on a plain Item in + // layer-shell/lock surfaces where raw wl_keyboard delivery can be flaky. + // Declared before content so it's below in z-order - content TapHandlers + // receive mouse events, while keyboard activeFocus is independent of stacking. + TextInput { + id: _keyInput + anchors.fill: parent + focus: true + color: "transparent" + selectionColor: "transparent" + selectedTextColor: "transparent" + cursorVisible: false + enabled: !root._unlocking && root.auth.state !== "max" && root.auth.state !== "busy" + + onTextChanged: if (root.auth) + root.auth.buffer = text + + Keys.onReturnPressed: root.auth.submit() + Keys.onEnterPressed: root.auth.submit() + Keys.onEscapePressed: { + text = ""; + } + + onActiveFocusChanged: { + if (!activeFocus) + forceActiveFocus(); + } + } + onVisibleChanged: { if (visible) _keyInput.forceActiveFocus(); diff --git a/shell/modules/ClockModule.qml b/shell/modules/ClockModule.qml index 062eb12..6250ae9 100644 --- a/shell/modules/ClockModule.qml +++ b/shell/modules/ClockModule.qml @@ -8,7 +8,7 @@ M.BarModule { id: root active: S.Modules.clock.enable spacing: S.Theme.moduleSpacing - tooltip: Qt.formatDateTime(clock.date, "dddd, dd. MMMM yyyy HH:mm:ss") + tooltip: Qt.formatDateTime(clock.date, "dddd, dd. MMMM yyyy") panelNamespace: "nova-clock" panelContentWidth: 220 panelComponent: Component {