feat(nix-monitor): add panel card background customization
This commit is contained in:
+10
-4
@@ -20,9 +20,15 @@ function watchState(key, cb)
|
||||
noctalia.state.watch(key, cb)
|
||||
end
|
||||
|
||||
local function getBackgroundColor()
|
||||
local color = cfg("panel_card_color")
|
||||
local opacity = cfg("panel_card_opacity") / 100
|
||||
return `{color}/{opacity}`
|
||||
end
|
||||
|
||||
local function labelBox(subtext, text, glyph)
|
||||
return ui.column({
|
||||
fill = "surface/0.7",
|
||||
fill = getBackgroundColor(),
|
||||
flexGrow = 1,
|
||||
height = 100,
|
||||
radius = 8,
|
||||
@@ -51,7 +57,7 @@ local function statLabel(text, glyph: string?)
|
||||
if glyph ~= nil then
|
||||
table.insert(items, ui.glyph({
|
||||
name = glyph,
|
||||
size = 20
|
||||
size = 18
|
||||
}))
|
||||
end
|
||||
|
||||
@@ -151,7 +157,7 @@ local function render()
|
||||
spacing = 4
|
||||
}),
|
||||
ui.row({
|
||||
fill = "surface/0.7",
|
||||
fill = getBackgroundColor(),
|
||||
align = "center",
|
||||
justify = "space_between",
|
||||
flexGrow = 1,
|
||||
@@ -160,7 +166,7 @@ local function render()
|
||||
radius = 8,
|
||||
}, generationItems),
|
||||
ui.row({
|
||||
fill = "surface/0.7",
|
||||
fill = getBackgroundColor(),
|
||||
align = "center",
|
||||
justify = "center",
|
||||
flexGrow = 1,
|
||||
|
||||
+40
-26
@@ -85,6 +85,32 @@ type = "color"
|
||||
label_key = "setting.widget.unknown_color.label"
|
||||
default = "on_surface"
|
||||
|
||||
[[setting]]
|
||||
key = "branch"
|
||||
type = "select"
|
||||
label_key = "setting.branch.label"
|
||||
description_key = "setting.branch.description"
|
||||
options = [
|
||||
{ value = "master", label_key = "setting.option.branch.master" },
|
||||
{ value = "nixos-unstable", label_key = "setting.option.branch.nixos_unstable" },
|
||||
{ value = "nixos-unstable-small", label_key = "setting.option.branch.nixos_unstable_small" },
|
||||
{ value = "nixos-26.05", label_key = "setting.option.branch.nixos_26_05" },
|
||||
{ value = "nixos-25.11", label_key = "setting.option.branch.nixos_25_11" },
|
||||
{ value = "nixos-25.05", label_key = "setting.option.branch.nixos_25_05" },
|
||||
{ value = "nixos-24.11", label_key = "setting.option.branch.nixos_24_11" },
|
||||
{ value = "nixos-24.05", label_key = "setting.option.branch.nixos_24_05" },
|
||||
{ value = "nixos-23.11", label_key = "setting.option.branch.nixos_23_11" },
|
||||
{ value = "nixos-23.05", label_key = "setting.option.branch.nixos_23_05" },
|
||||
{ value = "nixos-26.05-small", label_key = "setting.option.branch.nixos_26_05_small" },
|
||||
{ value = "nixos-25.11-small", label_key = "setting.option.branch.nixos_25_11_small" },
|
||||
{ value = "nixos-25.05-small", label_key = "setting.option.branch.nixos_25_05_small" },
|
||||
{ value = "nixos-24.11-small", label_key = "setting.option.branch.nixos_24_11_small" },
|
||||
{ value = "nixos-24.05-small", label_key = "setting.option.branch.nixos_24_05_small" },
|
||||
{ value = "nixos-23.11-small", label_key = "setting.option.branch.nixos_23_11_small" },
|
||||
{ value = "nixos-23.05-small", label_key = "setting.option.branch.nixos_23_05_small" },
|
||||
]
|
||||
default = "nixos-unstable"
|
||||
|
||||
[[setting]]
|
||||
key = "update_check_interval"
|
||||
type = "int"
|
||||
@@ -119,6 +145,20 @@ default = 5
|
||||
min = 1
|
||||
max = 30
|
||||
|
||||
[[setting]]
|
||||
key = "panel_card_color"
|
||||
type = "color"
|
||||
label_key = "setting.widget.panel_card_background_color.label"
|
||||
default = "surface_variant"
|
||||
|
||||
[[setting]]
|
||||
key = "panel_card_opacity"
|
||||
type = "int"
|
||||
label_key = "setting.widget.panel_card_background_opacity.label"
|
||||
default = 70
|
||||
min = 0
|
||||
max = 100
|
||||
|
||||
[[setting]]
|
||||
key = "show_update_check_notification"
|
||||
type = "bool"
|
||||
@@ -133,32 +173,6 @@ label_key = "setting.show_update_available_notification.label"
|
||||
description_key = "setting.show_update_available_notification.description"
|
||||
default = true
|
||||
|
||||
[[setting]]
|
||||
key = "branch"
|
||||
type = "select"
|
||||
label_key = "setting.branch.label"
|
||||
description_key = "setting.branch.description"
|
||||
options = [
|
||||
{ value = "master", label_key = "setting.option.branch.master" },
|
||||
{ value = "nixos-unstable", label_key = "setting.option.branch.nixos_unstable" },
|
||||
{ value = "nixos-unstable-small", label_key = "setting.option.branch.nixos_unstable_small" },
|
||||
{ value = "nixos-26.05", label_key = "setting.option.branch.nixos_26_05" },
|
||||
{ value = "nixos-25.11", label_key = "setting.option.branch.nixos_25_11" },
|
||||
{ value = "nixos-25.05", label_key = "setting.option.branch.nixos_25_05" },
|
||||
{ value = "nixos-24.11", label_key = "setting.option.branch.nixos_24_11" },
|
||||
{ value = "nixos-24.05", label_key = "setting.option.branch.nixos_24_05" },
|
||||
{ value = "nixos-23.11", label_key = "setting.option.branch.nixos_23_11" },
|
||||
{ value = "nixos-23.05", label_key = "setting.option.branch.nixos_23_05" },
|
||||
{ value = "nixos-26.05-small", label_key = "setting.option.branch.nixos_26_05_small" },
|
||||
{ value = "nixos-25.11-small", label_key = "setting.option.branch.nixos_25_11_small" },
|
||||
{ value = "nixos-25.05-small", label_key = "setting.option.branch.nixos_25_05_small" },
|
||||
{ value = "nixos-24.11-small", label_key = "setting.option.branch.nixos_24_11_small" },
|
||||
{ value = "nixos-24.05-small", label_key = "setting.option.branch.nixos_24_05_small" },
|
||||
{ value = "nixos-23.11-small", label_key = "setting.option.branch.nixos_23_11_small" },
|
||||
{ value = "nixos-23.05-small", label_key = "setting.option.branch.nixos_23_05_small" },
|
||||
]
|
||||
default = "nixos-unstable"
|
||||
|
||||
[[setting]]
|
||||
key = "update_command"
|
||||
type = "string"
|
||||
|
||||
@@ -32,6 +32,8 @@
|
||||
"setting.widget.update_available_color.label": "Update available color",
|
||||
"setting.widget.unknown_glyph.label": "Unknown status glyph",
|
||||
"setting.widget.unknown_color.label": "Unknown status color",
|
||||
"setting.widget.panel_card_background_color.label": "Panel card background color",
|
||||
"setting.widget.panel_card_background_opacity.label": "Panel card background opacity",
|
||||
"setting.update_check_interval.label": "Update check interval",
|
||||
"setting.update_check_interval.description": "How often to check for updates (in minutes)",
|
||||
"setting.update_check_duration_threshold.label": "Update check duration threshold",
|
||||
|
||||
Reference in New Issue
Block a user