diff --git a/.config/quickshell/modules/bar/UtilButtons.qml b/.config/quickshell/modules/bar/UtilButtons.qml index 9d9832a0a..1ebe3fcb4 100644 --- a/.config/quickshell/modules/bar/UtilButtons.qml +++ b/.config/quickshell/modules/bar/UtilButtons.qml @@ -11,6 +11,7 @@ Item { id: root property bool borderless: ConfigOptions.bar.borderless implicitWidth: rowLayout.implicitWidth + rowLayout.spacing * 2 + implicitHeight: rowLayout.implicitHeight RowLayout { id: rowLayout @@ -34,21 +35,21 @@ Item { } } - Loader { - active: ConfigOptions.bar.utilButtons.showColorPicker - visible: 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 - } - } - } + Loader { + active: ConfigOptions.bar.utilButtons.showColorPicker + visible: 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 + } + } + } Loader { active: ConfigOptions.bar.utilButtons.showKeyboardToggle @@ -82,4 +83,26 @@ Item { } } } + + Loader { + active: ConfigOptions.bar.utilButtons.showDarkModeToggle + visible: ConfigOptions.bar.utilButtons.showDarkModeToggle + sourceComponent: CircleUtilButton { + Layout.alignment: Qt.AlignVCenter + onClicked: event => { + if (Appearance.m3colors.darkmode) { + Hyprland.dispatch(`exec ${Directories.wallpaperSwitchScriptPath} --mode light --noswitch`); + } else { + Hyprland.dispatch(`exec ${Directories.wallpaperSwitchScriptPath} --mode dark --noswitch`); + } + } + MaterialSymbol { + horizontalAlignment: Qt.AlignHCenter + fill: 0 + text: Appearance.m3colors.darkmode ? "light_mode" : "dark_mode" + iconSize: Appearance.font.pixelSize.large + color: Appearance.colors.colOnLayer2 + } + } + } } diff --git a/.config/quickshell/modules/common/ConfigOptions.qml b/.config/quickshell/modules/common/ConfigOptions.qml index d928aa3f3..241fcecf1 100644 --- a/.config/quickshell/modules/common/ConfigOptions.qml +++ b/.config/quickshell/modules/common/ConfigOptions.qml @@ -1,7 +1,7 @@ -import QtQuick -import Quickshell pragma Singleton pragma ComponentBehavior: Bound +import QtQuick +import Quickshell Singleton { property QtObject policies: QtObject { @@ -21,8 +21,10 @@ Singleton { } } - property QtObject audio: QtObject { // Values in % - property QtObject protection: QtObject { // Prevent sudden bangs + property QtObject audio: QtObject { + // Values in % + property QtObject protection: QtObject { + // Prevent sudden bangs property bool enable: true property real maxAllowedIncrease: 10 property real maxAllowed: 90 // Realistically should already provide some protection when it's 99... @@ -59,6 +61,7 @@ Singleton { property bool showColorPicker: false property bool showMicToggle: false property bool showKeyboardToggle: true + property bool showDarkModeToggle: true } property QtObject tray: QtObject { property bool monochromeIcons: true @@ -83,9 +86,7 @@ Singleton { property bool pinnedOnStartup: false property bool hoverToReveal: false // When false, only reveals on empty workspace property list pinnedApps: [ // IDs of pinned entries - "org.kde.dolphin", - "kitty", - ] + "org.kde.dolphin", "kitty",] } property QtObject language: QtObject { @@ -123,7 +124,7 @@ Singleton { property QtObject search: QtObject { property int nonAppResultDelay: 30 // This prevents lagging when typing property string engineBaseUrl: "https://www.google.com/search?q=" - property list excludedSites: [ "quora.com" ] + property list excludedSites: ["quora.com"] property bool sloppy: false // Uses levenshtein distance based scoring instead of fuzzy sort. Very weird. property QtObject prefix: QtObject { property string action: "/" @@ -160,5 +161,4 @@ Singleton { property QtObject hacks: QtObject { property int arbitraryRaceConditionDelay: 20 // milliseconds } - }