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

@ -3,10 +3,11 @@ import QtQuick.Effects
import Quickshell.Services.Pipewire
import "." as M
import "../services" as S
import NovaStats as NS
M.BarModule {
id: root
spacing: S.Theme.moduleSpacing
spacing: NS.ThemeService.moduleSpacing
cursorShape: Qt.ArrowCursor
readonly property bool _videoCapture: {
@ -35,21 +36,21 @@ M.BarModule {
return false;
}
active: S.Modules.privacy.enable && (root._videoCapture || root._audioIn)
active: NS.ModulesService.privacyEnable && (root._videoCapture || root._audioIn)
// Screenshare indicator
Text {
visible: root._videoCapture
text: "\uF03D"
color: S.Theme.base08
font.pixelSize: S.Theme.fontSize + 2
font.family: S.Theme.iconFontFamily
color: NS.ThemeService.base08
font.pixelSize: NS.ThemeService.fontSize + 2
font.family: NS.ThemeService.iconFontFamily
anchors.verticalCenter: parent.verticalCenter
layer.enabled: true
layer.effect: MultiEffect {
shadowEnabled: true
shadowColor: S.Theme.base08
shadowColor: NS.ThemeService.base08
shadowBlur: 0.8
shadowVerticalOffset: 0
shadowHorizontalOffset: 0
@ -65,15 +66,15 @@ M.BarModule {
Text {
visible: root._audioIn
text: "\uF130"
color: S.Theme.base0B
font.pixelSize: S.Theme.fontSize + 2
font.family: S.Theme.iconFontFamily
color: NS.ThemeService.base0B
font.pixelSize: NS.ThemeService.fontSize + 2
font.family: NS.ThemeService.iconFontFamily
anchors.verticalCenter: parent.verticalCenter
layer.enabled: true
layer.effect: MultiEffect {
shadowEnabled: true
shadowColor: S.Theme.base0B
shadowColor: NS.ThemeService.base0B
shadowBlur: 0.8
shadowVerticalOffset: 0
shadowHorizontalOffset: 0