feat(modules/bar): add nightmode button

This commit is contained in:
Hasan A. Tekeoğlu
2025-06-20 22:04:29 +03:00
parent 3d9a5a72b6
commit e56fbf820a
2 changed files with 52 additions and 25 deletions
+39 -16
View File
@@ -10,7 +10,8 @@ import Quickshell.Services.Pipewire
Item {
id: root
property bool borderless: ConfigOptions.bar.borderless
implicitWidth: rowLayout.implicitWidth + rowLayout.spacing * 2
implicitWidth: rowLayout.implicitWidth + rowLayout.spacing * 16
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.darkMode.show
visible: ConfigOptions.bar.utilButtons.darkMode.show
sourceComponent: CircleUtilButton {
Layout.alignment: Qt.AlignVCenter
onClicked: event => {
if (Appearance.m3colors.darkmode) {
Hyprland.dispatch(`exec ${Directories.wallpaperSwitchScriptPath} ${ConfigOptions.bar.utilButtons.darkMode.lightImgPath} --mode light`);
} else {
Hyprland.dispatch(`exec ${Directories.wallpaperSwitchScriptPath} ${ConfigOptions.bar.utilButtons.darkMode.darkImgPath} --mode dark`);
}
}
MaterialSymbol {
horizontalAlignment: Qt.AlignHCenter
fill: 0
text: Appearance.m3colors.darkmode ? "light_mode" : "dark_mode"
iconSize: Appearance.font.pixelSize.large
color: Appearance.colors.colOnLayer2
}
}
}
}
@@ -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,11 @@ Singleton {
property bool showColorPicker: false
property bool showMicToggle: false
property bool showKeyboardToggle: true
property QtObject darkMode: QtObject {
property bool show: true
property string lightImgPath: ""
property string darkImgPath: ""
}
}
property QtObject tray: QtObject {
property bool monochromeIcons: true
@@ -83,9 +90,7 @@ Singleton {
property bool pinnedOnStartup: false
property bool hoverToReveal: false // When false, only reveals on empty workspace
property list<string> pinnedApps: [ // IDs of pinned entries
"org.kde.dolphin",
"kitty",
]
"org.kde.dolphin", "kitty",]
}
property QtObject language: QtObject {
@@ -123,7 +128,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<string> excludedSites: [ "quora.com" ]
property list<string> 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: "/"
@@ -159,5 +164,4 @@ Singleton {
property QtObject hacks: QtObject {
property int arbitraryRaceConditionDelay: 20 // milliseconds
}
}