From b0774f4ea42f3f3dbbe8b2c13b4ee87bcbe4ee93 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter Date: Fri, 22 Aug 2025 09:46:29 -0700 Subject: [PATCH 1/2] fix: run flatpak gpu-screen-recorder if applicable --- Services/ScreenRecorderService.qml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Services/ScreenRecorderService.qml b/Services/ScreenRecorderService.qml index 03560e7..28e08a7 100644 --- a/Services/ScreenRecorderService.qml +++ b/Services/ScreenRecorderService.qml @@ -30,8 +30,18 @@ Singleton { videoDir += "/" } outputPath = videoDir + filename - var command = `gpu-screen-recorder -w ${settings.videoSource} -f ${settings.frameRate} -ac ${settings.audioCodec} -k ${settings.videoCodec} -a ${settings.audioSource} -q ${settings.quality} -cursor ${settings.showCursor ? "yes" : "no"} -cr ${settings.colorRange} -o ${outputPath}` - + var command = ` + _gpuscreenrecorder_flatpak_installed() { + flatpak list --app | grep -q "com.dec05eba.gpu_screen_recorder" + } + if command -v gpu-screen-recorder >/dev/null 2>&1; then + gpu-screen-recorder -w ${settings.videoSource} -f ${settings.frameRate} -ac ${settings.audioCodec} -k ${settings.videoCodec} -a ${settings.audioSource} -q ${settings.quality} -cursor ${settings.showCursor ? "yes" : "no"} -cr ${settings.colorRange} -o ${outputPath} + elif command -v flatpak >/dev/null 2>&1 && _gpuscreenrecorder_flatpak_installed; then + flatpak run --command=gpu-screen-recorder --file-forwarding com.dec05eba.gpu_screen_recorder -w ${settings.videoSource} -f ${settings.frameRate} -ac ${settings.audioCodec} -k ${settings.videoCodec} -a ${settings.audioSource} -q ${settings.quality} -cursor ${settings.showCursor ? "yes" : "no"} -cr ${settings.colorRange} -o ${outputPath} + else + notify-send "gpu-screen-recorder not installed!" -u critical + fi`; + //Logger.log("ScreenRecorder", command) Quickshell.execDetached(["sh", "-c", command]) Logger.log("ScreenRecorder", "Started recording") From c64f6dd430168870d76a7178adcb0873abd4e938 Mon Sep 17 00:00:00 2001 From: Kainoa Kanter Date: Fri, 22 Aug 2025 09:50:21 -0700 Subject: [PATCH 2/2] make flags a variable --- Services/ScreenRecorderService.qml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Services/ScreenRecorderService.qml b/Services/ScreenRecorderService.qml index 28e08a7..57f66d9 100644 --- a/Services/ScreenRecorderService.qml +++ b/Services/ScreenRecorderService.qml @@ -30,14 +30,15 @@ Singleton { videoDir += "/" } outputPath = videoDir + filename + var flags = `-w ${settings.videoSource} -f ${settings.frameRate} -ac ${settings.audioCodec} -k ${settings.videoCodec} -a ${settings.audioSource} -q ${settings.quality} -cursor ${settings.showCursor ? "yes" : "no"} -cr ${settings.colorRange} -o ${outputPath}` var command = ` _gpuscreenrecorder_flatpak_installed() { flatpak list --app | grep -q "com.dec05eba.gpu_screen_recorder" } if command -v gpu-screen-recorder >/dev/null 2>&1; then - gpu-screen-recorder -w ${settings.videoSource} -f ${settings.frameRate} -ac ${settings.audioCodec} -k ${settings.videoCodec} -a ${settings.audioSource} -q ${settings.quality} -cursor ${settings.showCursor ? "yes" : "no"} -cr ${settings.colorRange} -o ${outputPath} + gpu-screen-recorder ${flags} elif command -v flatpak >/dev/null 2>&1 && _gpuscreenrecorder_flatpak_installed; then - flatpak run --command=gpu-screen-recorder --file-forwarding com.dec05eba.gpu_screen_recorder -w ${settings.videoSource} -f ${settings.frameRate} -ac ${settings.audioCodec} -k ${settings.videoCodec} -a ${settings.audioSource} -q ${settings.quality} -cursor ${settings.showCursor ? "yes" : "no"} -cr ${settings.colorRange} -o ${outputPath} + flatpak run --command=gpu-screen-recorder --file-forwarding com.dec05eba.gpu_screen_recorder ${flags} else notify-send "gpu-screen-recorder not installed!" -u critical fi`;