plugin: rust-side modules + theme services with serde-typed config

This commit is contained in:
Damocles 2026-05-04 22:58:12 +02:00
parent a86e90e927
commit f34f3f2f4e
95 changed files with 2477 additions and 1011 deletions

View file

@ -5,6 +5,7 @@ import "modules"
import "services"
import "dock" as Dock
import "lock" as Lock
import NovaStats as NS
import Quickshell
ShellRoot {
@ -35,49 +36,49 @@ ShellRoot {
}
LazyLoader {
active: (Modules.notifications.maxPopups ?? 4) > 0
active: NS.ModulesService.notificationsMaxPopups > 0
NotifPopup {
screen: scope.modelData
}
}
LazyLoader {
active: Modules.backgroundOverlay.enable
active: NS.ModulesService.backgroundOverlayEnable
BackgroundOverlay {
screen: scope.modelData
}
}
LazyLoader {
active: Modules.overviewBackdrop.enable && NiriIpc.available
active: NS.ModulesService.overviewBackdropEnable && NiriIpc.available
OverviewBackdrop {
screen: scope.modelData
}
}
LazyLoader {
active: Modules.lock.enable && (Modules.lock.screenshot ?? true)
active: NS.ModulesService.lockEnable && NS.ModulesService.lockScreenshot
ScreenCapture {
screen: scope.modelData
}
}
LazyLoader {
active: Modules.screenCorners.enable
active: NS.ModulesService.screenCornersEnable
ScreenCorners {
screen: scope.modelData
}
}
LazyLoader {
active: Modules.dock.enable && scope._isRightmost
active: NS.ModulesService.dockEnable && scope._isRightmost
Dock.AppletDock {
screen: scope.modelData
}
}
LazyLoader {
active: Modules.dock.enable && scope._isRightmost
active: NS.ModulesService.dockEnable && scope._isRightmost
Dock.DockEdgeTrigger {
screen: scope.modelData
}