From 91955ef66c6f095fbc90c31044e98c01984e35bb Mon Sep 17 00:00:00 2001 From: Cleboost Date: Thu, 16 Oct 2025 22:02:00 +0200 Subject: [PATCH 1/5] Add screen recording button and config toggle --- .../quickshell/ii/modules/bar/UtilButtons.qml | 16 ++++++++++++++++ .../quickshell/ii/modules/common/Config.qml | 1 + .../quickshell/ii/modules/settings/BarConfig.qml | 11 +++++++++++ 3 files changed, 28 insertions(+) diff --git a/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml b/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml index 98ee4f6cd..6e4a917f2 100644 --- a/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml +++ b/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml @@ -36,6 +36,22 @@ Item { } } + Loader { + active: Config.options.bar.utilButtons.showScreenRecord + visible: Config.options.bar.utilButtons.showScreenRecord + sourceComponent: CircleUtilButton { + Layout.alignment: Qt.AlignVCenter + onClicked: Quickshell.execDetached(["/bin/bash", "/home/cleboost/.config/hypr/hyprland/scripts/record.sh", "--fullscreen-sound"]) + MaterialSymbol { + horizontalAlignment: Qt.AlignHCenter + fill: 1 + text: "videocam" + iconSize: Appearance.font.pixelSize.large + color: Appearance.colors.colOnLayer2 + } + } + } + Loader { active: Config.options.bar.utilButtons.showColorPicker visible: Config.options.bar.utilButtons.showColorPicker diff --git a/dots/.config/quickshell/ii/modules/common/Config.qml b/dots/.config/quickshell/ii/modules/common/Config.qml index a9289d83b..39e7ed31a 100644 --- a/dots/.config/quickshell/ii/modules/common/Config.qml +++ b/dots/.config/quickshell/ii/modules/common/Config.qml @@ -211,6 +211,7 @@ Singleton { property bool showKeyboardToggle: true property bool showDarkModeToggle: true property bool showPerformanceProfileToggle: false + property bool showScreenRecord: true } property JsonObject tray: JsonObject { property bool monochromeIcons: true diff --git a/dots/.config/quickshell/ii/modules/settings/BarConfig.qml b/dots/.config/quickshell/ii/modules/settings/BarConfig.qml index 01a1d9ee9..817592ff6 100644 --- a/dots/.config/quickshell/ii/modules/settings/BarConfig.qml +++ b/dots/.config/quickshell/ii/modules/settings/BarConfig.qml @@ -225,6 +225,17 @@ ContentPage { } } } + ConfigRow { + uniform: true + ConfigSwitch { + buttonIcon: "videocam" + text: Translation.tr("Screen recording") + checked: Config.options.bar.utilButtons.showScreenRecord + onCheckedChanged: { + Config.options.bar.utilButtons.showScreenRecord = checked; + } + } + } } ContentSection { From 5fda1cdc612505ab8aa66b4e126857876272bf23 Mon Sep 17 00:00:00 2001 From: Cleboost Date: Thu, 16 Oct 2025 22:07:29 +0200 Subject: [PATCH 2/5] fix: Invoke record script via bash -c with ~ expansion --- dots/.config/quickshell/ii/modules/bar/UtilButtons.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml b/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml index 6e4a917f2..65fa161e3 100644 --- a/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml +++ b/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml @@ -41,7 +41,7 @@ Item { visible: Config.options.bar.utilButtons.showScreenRecord sourceComponent: CircleUtilButton { Layout.alignment: Qt.AlignVCenter - onClicked: Quickshell.execDetached(["/bin/bash", "/home/cleboost/.config/hypr/hyprland/scripts/record.sh", "--fullscreen-sound"]) + onClicked: Quickshell.execDetached(["bash", "-c", "~/.config/hypr/hyprland/scripts/record.sh --fullscreen-sound"]) MaterialSymbol { horizontalAlignment: Qt.AlignHCenter fill: 1 From f3e4773811829c68ea00f545434f6432295b96fc Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 19 Oct 2025 20:51:05 +0200 Subject: [PATCH 3/5] utilbuttons: record button: allow region selection --- dots/.config/quickshell/ii/modules/bar/UtilButtons.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml b/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml index 65fa161e3..2930329c1 100644 --- a/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml +++ b/dots/.config/quickshell/ii/modules/bar/UtilButtons.qml @@ -41,7 +41,7 @@ Item { visible: Config.options.bar.utilButtons.showScreenRecord sourceComponent: CircleUtilButton { Layout.alignment: Qt.AlignVCenter - onClicked: Quickshell.execDetached(["bash", "-c", "~/.config/hypr/hyprland/scripts/record.sh --fullscreen-sound"]) + onClicked: Quickshell.execDetached(["bash", "-c", "~/.config/hypr/hyprland/scripts/record.sh"]) MaterialSymbol { horizontalAlignment: Qt.AlignHCenter fill: 1 From 7b1fa1246f6cfc448c62f4c1aaf46c084ce832bf Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 19 Oct 2025 20:51:46 +0200 Subject: [PATCH 4/5] bar: record util button off by default --- dots/.config/quickshell/ii/modules/common/Config.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/common/Config.qml b/dots/.config/quickshell/ii/modules/common/Config.qml index 39e7ed31a..9faf32532 100644 --- a/dots/.config/quickshell/ii/modules/common/Config.qml +++ b/dots/.config/quickshell/ii/modules/common/Config.qml @@ -211,7 +211,7 @@ Singleton { property bool showKeyboardToggle: true property bool showDarkModeToggle: true property bool showPerformanceProfileToggle: false - property bool showScreenRecord: true + property bool showScreenRecord: false } property JsonObject tray: JsonObject { property bool monochromeIcons: true From 8798b4e826d8cc52ffd275a971261c229163e059 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Sun, 19 Oct 2025 20:53:23 +0200 Subject: [PATCH 5/5] settings: make bar screen record util button toggle name shorter --- dots/.config/quickshell/ii/modules/settings/BarConfig.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/settings/BarConfig.qml b/dots/.config/quickshell/ii/modules/settings/BarConfig.qml index 817592ff6..e12e51291 100644 --- a/dots/.config/quickshell/ii/modules/settings/BarConfig.qml +++ b/dots/.config/quickshell/ii/modules/settings/BarConfig.qml @@ -229,7 +229,7 @@ ContentPage { uniform: true ConfigSwitch { buttonIcon: "videocam" - text: Translation.tr("Screen recording") + text: Translation.tr("Record") checked: Config.options.bar.utilButtons.showScreenRecord onCheckedChanged: { Config.options.bar.utilButtons.showScreenRecord = checked;