Merge branch 'main' into sdfs

This commit is contained in:
2 * r + 2 * t 2026-03-29 01:25:49 +11:00
commit 552c2e1480
3 changed files with 35 additions and 2 deletions

View file

@ -63,5 +63,11 @@ if("shell" IN_LIST ENABLE_MODULES)
foreach(dir assets components config modules services utils) foreach(dir assets components config modules services utils)
install(DIRECTORY ${dir} DESTINATION "${INSTALL_QSCONFDIR}") install(DIRECTORY ${dir} DESTINATION "${INSTALL_QSCONFDIR}")
endforeach() endforeach()
install(FILES shell.qml LICENSE DESTINATION "${INSTALL_QSCONFDIR}")
file(READ shell.qml SHELL_QML)
string(REPLACE "settings.watchFiles: true" "settings.watchFiles: false" SHELL_QML "${SHELL_QML}")
file(WRITE "${CMAKE_BINARY_DIR}/qml/shell.qml" "${SHELL_QML}")
install(FILES "${CMAKE_BINARY_DIR}/qml/shell.qml" DESTINATION "${INSTALL_QSCONFDIR}")
install(FILES LICENSE DESTINATION "${INSTALL_QSCONFDIR}")
endif() endif()

View file

@ -79,6 +79,21 @@ Singleton {
Quickshell.execDetached(["caelestia", "scheme", "set", "--notify", "-m", mode]); Quickshell.execDetached(["caelestia", "scheme", "set", "--notify", "-m", mode]);
} }
function reloadHyprRules(): void {
const str = "keyword layerrule %1 %2, match:namespace caelestia-drawers";
Hypr.extras.batchMessage([str.arg("blur").arg(transparency.enabled ? 1 : 0), str.arg("ignore_alpha").arg(transparency.base - 0.03)]);
}
Component.onCompleted: debounceTimer.triggered()
Connections {
function onConfigReloaded(): void {
root.reloadHyprRules();
}
target: Hypr
}
FileView { FileView {
path: `${Paths.state}/scheme.json` path: `${Paths.state}/scheme.json`
watchChanges: true watchChanges: true
@ -92,10 +107,20 @@ Singleton {
source: Wallpapers.current source: Wallpapers.current
} }
Timer {
id: debounceTimer
interval: 300
onTriggered: root.reloadHyprRules()
}
component Transparency: QtObject { component Transparency: QtObject {
readonly property bool enabled: Appearance.transparency.enabled readonly property bool enabled: Appearance.transparency.enabled
readonly property real base: Appearance.transparency.base - (root.light ? 0.1 : 0) readonly property real base: Math.max(0, Math.min(1, Appearance.transparency.base - (root.light ? 0.1 : 0)))
readonly property real layers: Appearance.transparency.layers readonly property real layers: Appearance.transparency.layers
onEnabledChanged: debounceTimer.restart()
onBaseChanged: debounceTimer.restart()
} }
component M3TPalette: QtObject { component M3TPalette: QtObject {

View file

@ -10,6 +10,8 @@ import "modules/lock"
import Quickshell import Quickshell
ShellRoot { ShellRoot {
settings.watchFiles: true
Background {} Background {}
Drawers {} Drawers {}
AreaPicker {} AreaPicker {}