From af409dc0c9cbf7d5436fd342532d75f270b9b3bc Mon Sep 17 00:00:00 2001 From: _xB <65196493+xBiei@users.noreply.github.com> Date: Thu, 12 Jun 2025 09:01:25 +0300 Subject: [PATCH] bar: wrap buttons in Loaders --- .../quickshell/modules/bar/UtilButtons.qml | 97 +++++++++---------- 1 file changed, 48 insertions(+), 49 deletions(-) diff --git a/.config/quickshell/modules/bar/UtilButtons.qml b/.config/quickshell/modules/bar/UtilButtons.qml index 51f6e728c..73b44a58d 100644 --- a/.config/quickshell/modules/bar/UtilButtons.qml +++ b/.config/quickshell/modules/bar/UtilButtons.qml @@ -22,65 +22,64 @@ Rectangle { spacing: 4 anchors.centerIn: parent - CircleUtilButton { - Layout.alignment: Qt.AlignVCenter - onClicked: Hyprland.dispatch("exec hyprshot --freeze --clipboard-only --mode region --silent") - visible: ConfigOptions.bar.utilButtons.showScreenSnip - - MaterialSymbol { - horizontalAlignment: Qt.AlignHCenter - fill: 1 - text: "screenshot_region" - iconSize: Appearance.font.pixelSize.large - color: Appearance.colors.colOnLayer2 + Loader { + active: ConfigOptions.bar.utilButtons.showScreenSnip + sourceComponent: CircleUtilButton { + Layout.alignment: Qt.AlignVCenter + onClicked: Hyprland.dispatch("exec hyprshot --freeze --clipboard-only --mode region --silent") + MaterialSymbol { + horizontalAlignment: Qt.AlignHCenter + fill: 1 + text: "screenshot_region" + iconSize: Appearance.font.pixelSize.large + color: Appearance.colors.colOnLayer2 + } } - } - // CircleUtilButton { - // Layout.alignment: Qt.AlignVCenter - // onClicked: Hyprland.dispatch("exec hyprpicker -a") - // visible: ConfigOptions.bar.utilButtons.showColorPicker - - // MaterialSymbol { - // horizontalAlignment: Qt.AlignHCenter - // fill: 1 - // text: "colorize" - // iconSize: Appearance.font.pixelSize.large - // color: Appearance.colors.colOnLayer2 + // Loader { + // active: ConfigOptions.bar.utilButtons.showColorPicker + // sourceComponent: CircleUtilButton { + // Layout.alignment: Qt.AlignVCenter + // onClicked: Hyprland.dispatch("exec hyprpicker -a") + // MaterialSymbol { + // horizontalAlignment: Qt.AlignHCenter + // fill: 1 + // text: "colorize" + // iconSize: Appearance.font.pixelSize.large + // color: Appearance.colors.colOnLayer2 + // } // } // } - CircleUtilButton { - Layout.alignment: Qt.AlignVCenter - onClicked: Hyprland.dispatch("global quickshell:oskToggle") - visible: ConfigOptions.bar.utilButtons.showKeyboardToggle - - MaterialSymbol { - horizontalAlignment: Qt.AlignHCenter - fill: 0 - text: "keyboard" - iconSize: Appearance.font.pixelSize.large - color: Appearance.colors.colOnLayer2 + Loader { + active: ConfigOptions.bar.utilButtons.showKeyboardToggle + sourceComponent: CircleUtilButton { + Layout.alignment: Qt.AlignVCenter + onClicked: Hyprland.dispatch("global quickshell:oskToggle") + MaterialSymbol { + horizontalAlignment: Qt.AlignHCenter + fill: 0 + text: "keyboard" + iconSize: Appearance.font.pixelSize.large + color: Appearance.colors.colOnLayer2 + } } - } - CircleUtilButton { - Layout.alignment: Qt.AlignVCenter - onClicked: Hyprland.dispatch("exec wpctl set-mute @DEFAULT_SOURCE@ toggle") - visible: ConfigOptions.bar.utilButtons.showMicToggle && Pipewire.defaultAudioSource?.audio - - MaterialSymbol { - horizontalAlignment: Qt.AlignHCenter - fill: 0 - text: Pipewire.defaultAudioSource?.audio?.muted ? "mic_off" : "mic" - iconSize: Appearance.font.pixelSize.large - color: Appearance.colors.colOnLayer2 + Loader { + active: ConfigOptions.bar.utilButtons.showMicToggle + sourceComponent: CircleUtilButton { + Layout.alignment: Qt.AlignVCenter + onClicked: Hyprland.dispatch("exec wpctl set-mute @DEFAULT_SOURCE@ toggle") + MaterialSymbol { + horizontalAlignment: Qt.AlignHCenter + fill: 0 + text: Pipewire.defaultAudioSource?.audio?.muted ? "mic_off" : "mic" + iconSize: Appearance.font.pixelSize.large + color: Appearance.colors.colOnLayer2 + } } - } - } - }