From dbdcd862e7694955ca64cce1e96df9f30d7aeb2d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 20 May 2026 14:35:47 +0200 Subject: [PATCH] Simplify --- .../bar/indicators/screenrecording.qml | 24 ++++++------------- shell/scripts/indicators/screen-recording.sh | 7 ------ 2 files changed, 7 insertions(+), 24 deletions(-) delete mode 100755 shell/scripts/indicators/screen-recording.sh diff --git a/shell/plugins/bar/indicators/screenrecording.qml b/shell/plugins/bar/indicators/screenrecording.qml index a3776ed9..0036072f 100644 --- a/shell/plugins/bar/indicators/screenrecording.qml +++ b/shell/plugins/bar/indicators/screenrecording.qml @@ -1,33 +1,24 @@ import QtQuick import Quickshell.Io -import qs.Commons import qs.Ui BarIndicator { id: root - property string statusText: "" - property string statusTooltip: "" + property bool recording: false - active: statusText !== "" - activeText: statusText + active: recording + activeText: "󰻂" inactiveText: "󰻂" - activeTooltipText: statusTooltip + activeTooltipText: "Stop recording" inactiveTooltipText: "Screen recording" function refresh() { if (!root.bar || statusProc.running) return - statusProc.command = ["bash", "-lc", Util.shellQuote(root.bar.omarchyPath + "/shell/scripts/indicators/screen-recording.sh")] + statusProc.command = ["pgrep", "--quiet", "-f", "^gpu-screen-recorder"] statusProc.running = true } - function update(raw) { - var data = extractData(raw) - - statusText = data.text || "" - statusTooltip = data.tooltip || "" - } - onBarChanged: refresh() Component.onCompleted: refresh() @@ -39,9 +30,8 @@ BarIndicator { Process { id: statusProc - stdout: StdioCollector { - waitForEnd: true - onStreamFinished: root.update(text) + onExited: function(exitCode) { + root.recording = exitCode === 0 } } diff --git a/shell/scripts/indicators/screen-recording.sh b/shell/scripts/indicators/screen-recording.sh deleted file mode 100755 index 80038e0e..00000000 --- a/shell/scripts/indicators/screen-recording.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -if pgrep -f "^gpu-screen-recorder" >/dev/null; then - echo '{"text": "󰻂", "tooltip": "Stop recording", "class": "active"}' -else - echo '{"text": ""}' -fi