aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-17 15:28:02 +0200
committerDanilo M. <danix@danix.xyz>2026-10-17 15:28:02 +0200
commit9e947734830eb8c4e54b6fd1dd7c193af3176944 (patch)
treed159880339113ceb8c0a03af3bac67bc3692143b
parent441d8e30e9fdf8cb1215a5b1c45770955758ea26 (diff)
downloadquickshell-9e947734830eb8c4e54b6fd1dd7c193af3176944.tar.gz
quickshell-9e947734830eb8c4e54b6fd1dd7c193af3176944.zip
island: keep a paused OBS take as recording
-rw-r--r--desktop/island/Obs.qml8
1 files changed, 6 insertions, 2 deletions
diff --git a/desktop/island/Obs.qml b/desktop/island/Obs.qml
index 7a1900c..c57cf7d 100644
--- a/desktop/island/Obs.qml
+++ b/desktop/island/Obs.qml
@@ -184,8 +184,12 @@ Singleton {
function event(type, d) {
switch (type) {
case "RecordStateChanged":
- recording = d.outputActive;
+ // obs-websocket reports outputActive false while PAUSED, so a
+ // paused take must still count as recording or the panel offers
+ // Record and a click stops it.
paused = d.outputState === "OBS_WEBSOCKET_OUTPUT_PAUSED";
+ recording = d.outputActive || paused
+ || d.outputState === "OBS_WEBSOCKET_OUTPUT_RESUMED";
if (!recording) duration = 0;
break;
case "CurrentProgramSceneChanged":
@@ -214,8 +218,8 @@ Singleton {
const r = d.responseData || {};
switch (d.requestType) {
case "GetRecordStatus":
- recording = r.outputActive;
paused = r.outputPaused;
+ recording = r.outputActive || r.outputPaused;
duration = r.outputDuration;
break;
case "GetSceneList":