mirror of
https://github.com/noctalia-dev/noctalia-shell.git
synced 2026-05-11 17:08:27 +08:00
Merge branch 'main' into desktop-widgets
This commit is contained in:
@@ -0,0 +1,591 @@
|
||||
{
|
||||
"$schema": "https://zed.dev/schema/themes/v0.2.0.json",
|
||||
"name": "Noctalia",
|
||||
"author": "Noctalia",
|
||||
"themes": [
|
||||
{
|
||||
"name": "Noctalia Dark",
|
||||
"appearance": "dark",
|
||||
"style": {
|
||||
"accents": [
|
||||
"{{colors.primary.dark.hex}}",
|
||||
"{{colors.secondary.dark.hex}}",
|
||||
"{{colors.tertiary.dark.hex}}"
|
||||
],
|
||||
"background.appearance": "opaque",
|
||||
"border": "{{colors.outline_variant.dark.hex}}",
|
||||
"border.variant": "{{colors.outline.dark.hex}}",
|
||||
"border.focused": "{{colors.primary.dark.hex}}",
|
||||
"border.selected": "{{colors.primary.dark.hex}}",
|
||||
"border.transparent": "{{colors.outline_variant.dark.hex}}40",
|
||||
"border.disabled": "{{colors.outline_variant.dark.hex}}60",
|
||||
"elevated_surface.background": "{{colors.surface_container_high.dark.hex}}",
|
||||
"surface.background": "{{colors.surface.dark.hex}}",
|
||||
"background": "{{colors.background.dark.hex}}",
|
||||
"element.background": "{{colors.surface_container.dark.hex}}",
|
||||
"element.hover": "{{colors.surface_container_high.dark.hex}}",
|
||||
"element.active": "{{colors.surface_container_highest.dark.hex}}",
|
||||
"element.selected": "{{colors.secondary_container.dark.hex}}",
|
||||
"element.disabled": "{{colors.surface_variant.dark.hex}}",
|
||||
"drop_target.background": "{{colors.primary_container.dark.hex}}80",
|
||||
"ghost_element.background": null,
|
||||
"ghost_element.hover": "{{colors.surface_container.dark.hex}}80",
|
||||
"ghost_element.active": "{{colors.surface_container_high.dark.hex}}",
|
||||
"ghost_element.selected": "{{colors.secondary_container.dark.hex}}80",
|
||||
"ghost_element.disabled": "{{colors.surface_variant.dark.hex}}60",
|
||||
"text": "{{colors.on_surface.dark.hex}}",
|
||||
"text.muted": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"text.placeholder": "{{colors.on_surface_variant.dark.hex}}99",
|
||||
"text.disabled": "{{colors.on_surface.dark.hex}}60",
|
||||
"text.accent": "{{colors.primary.dark.hex}}",
|
||||
"icon": "{{colors.on_surface.dark.hex}}",
|
||||
"icon.muted": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"icon.disabled": "{{colors.on_surface.dark.hex}}60",
|
||||
"icon.placeholder": "{{colors.on_surface_variant.dark.hex}}80",
|
||||
"icon.accent": "{{colors.primary.dark.hex}}",
|
||||
"status_bar.background": "{{colors.surface.dark.hex}}",
|
||||
"title_bar.background": "{{colors.surface.dark.hex}}",
|
||||
"title_bar.inactive_background": "{{colors.surface_dim.dark.hex}}",
|
||||
"toolbar.background": "{{colors.surface_container_low.dark.hex}}",
|
||||
"tab_bar.background": "{{colors.surface_container.dark.hex}}",
|
||||
"tab.inactive_backgorround": "{{colors.surface_container_low.dark.hex}}",
|
||||
"tab.active_background": "{{colors.surface_container_high.dark.hex}}",
|
||||
"search.match_background": "{{colors.tertiary_container.dark.hex}}80",
|
||||
"panel.background": "{{colors.surface_container_low.dark.hex}}",
|
||||
"panel.focused_border": "{{colors.primary.dark.hex}}",
|
||||
"pane.focused_border": "{{colors.primary.dark.hex}}",
|
||||
"scrollbar.thumb.background": "{{colors.on_surface_variant.dark.hex}}80",
|
||||
"scrollbar.thumb.hover_background": "{{colors.on_surface_variant.dark.hex}}c0",
|
||||
"scrollbar.thumb.border": "{{colors.outline_variant.dark.hex}}40",
|
||||
"scrollbar.track.background": "{{colors.surface_container.dark.hex}}",
|
||||
"scrollbar.track.border": "{{colors.outline_variant.dark.hex}}20",
|
||||
"editor.foreground": "{{colors.on_surface.dark.hex}}",
|
||||
"editor.background": "{{colors.surface_container_low.dark.hex}}",
|
||||
"editor.gutter.background": "{{colors.surface_container_low.dark.hex}}",
|
||||
"editor.subheader.background": "{{colors.surface_container.dark.hex}}",
|
||||
"editor.indent_guide": "{{colors.outline_variant.dark.hex}}60",
|
||||
"editor.indent_guide_active": "{{colors.outline.dark.hex}}",
|
||||
"editor.active_line.background": "{{colors.surface_container_high.dark.hex}}80",
|
||||
"editor.highlighted_line.background": "{{colors.surface_container_high.dark.hex}}60",
|
||||
"editor.line_number": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"editor.active_line_number": "{{colors.primary.dark.hex}}",
|
||||
"editor.invisible": "{{colors.outline_variant.dark.hex}}80",
|
||||
"editor.wrap_guide": "{{colors.outline_variant.dark.hex}}40",
|
||||
"editor.active_wrap_guide": "{{colors.outline.dark.hex}}80",
|
||||
"editor.document_highlight.read_background": "{{colors.primary_container.dark.hex}}60",
|
||||
"editor.document_highlight.write_background": "{{colors.secondary_container.dark.hex}}80",
|
||||
"terminal.background": "{{colors.surface_container_low.dark.hex}}",
|
||||
"terminal.foreground": "{{colors.on_surface.dark.hex}}",
|
||||
"terminal.bright_foreground": "{{colors.on_surface.dark.hex}}",
|
||||
"terminal.dim_foreground": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"terminal.ansi.black": "{{colors.surface_dim.dark.hex}}",
|
||||
"terminal.ansi.bright_black": "{{colors.surface_container_high.dark.hex}}",
|
||||
"terminal.ansi.dim_black": "{{colors.surface.dark.hex}}",
|
||||
"terminal.ansi.red": "{{colors.error.dark.hex}}",
|
||||
"terminal.ansi.bright_red": "{{colors.error.dark.hex}}",
|
||||
"terminal.ansi.dim_red": "{{colors.on_error_container.dark.hex}}",
|
||||
"terminal.ansi.green": "{{colors.tertiary.dark.hex}}",
|
||||
"terminal.ansi.bright_green": "{{colors.tertiary.dark.hex}}",
|
||||
"terminal.ansi.dim_green": "{{colors.on_tertiary_container.dark.hex}}",
|
||||
"terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.dark.hex}}",
|
||||
"terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.dark.hex}}",
|
||||
"terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.dark.hex}}",
|
||||
"terminal.ansi.blue": "{{colors.primary.dark.hex}}",
|
||||
"terminal.ansi.bright_blue": "{{colors.primary.dark.hex}}",
|
||||
"terminal.ansi.dim_blue": "{{colors.on_primary_container.dark.hex}}",
|
||||
"terminal.ansi.magenta": "{{colors.secondary.dark.hex}}",
|
||||
"terminal.ansi.bright_magenta": "{{colors.secondary.dark.hex}}",
|
||||
"terminal.ansi.dim_magenta": "{{colors.on_secondary_container.dark.hex}}",
|
||||
"terminal.ansi.cyan": "{{colors.primary_fixed_dim.dark.hex}}",
|
||||
"terminal.ansi.bright_cyan": "{{colors.primary_fixed.dark.hex}}",
|
||||
"terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.dark.hex}}",
|
||||
"terminal.ansi.white": "{{colors.on_surface.dark.hex}}",
|
||||
"terminal.ansi.bright_white": "{{colors.on_surface.dark.hex}}",
|
||||
"terminal.ansi.dim_white": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"link_text.hover": "{{colors.primary.dark.hex}}",
|
||||
"conflict": "{{colors.error.dark.hex}}",
|
||||
"conflict.background": "{{colors.error_container.dark.hex}}80",
|
||||
"conflict.border": "{{colors.on_error_container.dark.hex}}",
|
||||
"created": "{{colors.tertiary.dark.hex}}",
|
||||
"created.background": "{{colors.tertiary_container.dark.hex}}80",
|
||||
"created.border": "{{colors.on_tertiary_container.dark.hex}}",
|
||||
"deleted": "{{colors.error.dark.hex}}",
|
||||
"deleted.background": "{{colors.error_container.dark.hex}}80",
|
||||
"deleted.border": "{{colors.on_error_container.dark.hex}}",
|
||||
"error": "{{colors.error.dark.hex}}",
|
||||
"error.background": "{{colors.error_container.dark.hex}}",
|
||||
"error.border": "{{colors.on_error_container.dark.hex}}",
|
||||
"hidden": "{{colors.outline_variant.dark.hex}}",
|
||||
"hidden.border": "{{colors.outline_variant.dark.hex}}60",
|
||||
"hint": "{{colors.primary.dark.hex}}",
|
||||
"hint.background": "{{colors.primary_container.dark.hex}}80",
|
||||
"hint.border": "{{colors.on_primary_container.dark.hex}}",
|
||||
"ignored": "{{colors.on_surface_variant.dark.hex}}60",
|
||||
"ignored.background": "{{colors.surface_variant.dark.hex}}40",
|
||||
"ignored.border": "{{colors.outline_variant.dark.hex}}40",
|
||||
"info": "{{colors.primary.dark.hex}}",
|
||||
"info.background": "{{colors.primary_container.dark.hex}}80",
|
||||
"info.border": "{{colors.on_primary_container.dark.hex}}",
|
||||
"modified": "{{colors.secondary.dark.hex}}",
|
||||
"modified.background": "{{colors.secondary_container.dark.hex}}80",
|
||||
"modified.border": "{{colors.on_secondary_container.dark.hex}}",
|
||||
"predictive": "{{colors.on_surface_variant.dark.hex}}80",
|
||||
"predictive.border": "{{colors.outline.dark.hex}}",
|
||||
"predictive.background": "{{colors.surface_container_highest.dark.hex}}80",
|
||||
"renamed": "{{colors.secondary.dark.hex}}",
|
||||
"renamed.border": "{{colors.on_secondary_container.dark.hex}}",
|
||||
"renamed.background": "{{colors.secondary_container.dark.hex}}80",
|
||||
"success": "{{colors.tertiary.dark.hex}}",
|
||||
"success.background": "{{colors.tertiary_container.dark.hex}}80",
|
||||
"success.border": "{{colors.on_tertiary_container.dark.hex}}",
|
||||
"unreachable": "{{colors.on_surface_variant.dark.hex}}60",
|
||||
"unreachable.background": "{{colors.surface_variant.dark.hex}}40",
|
||||
"unreachable.border": "{{colors.outline_variant.dark.hex}}60",
|
||||
"warning": "{{colors.tertiary_fixed_dim.dark.hex}}",
|
||||
"warning.background": "{{colors.tertiary_container.dark.hex}}80",
|
||||
"warning.border": "{{colors.on_tertiary_container.dark.hex}}",
|
||||
"players": [
|
||||
{
|
||||
"cursor": "{{colors.primary.dark.hex}}",
|
||||
"background": "{{colors.primary_container.dark.hex}}80",
|
||||
"selection": "{{colors.primary_container.dark.hex}}60"
|
||||
},
|
||||
{
|
||||
"cursor": "{{colors.secondary.dark.hex}}",
|
||||
"background": "{{colors.secondary_container.dark.hex}}80",
|
||||
"selection": "{{colors.secondary_container.dark.hex}}60"
|
||||
}
|
||||
],
|
||||
"syntax": {
|
||||
"boolean": {
|
||||
"color": "{{colors.tertiary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"comment": {
|
||||
"color": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"comment.doc": {
|
||||
"color": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"constant": {
|
||||
"color": "{{colors.tertiary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"constructor": {
|
||||
"color": "{{colors.secondary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis": {
|
||||
"color": "{{colors.primary.dark.hex}}",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis.strong": {
|
||||
"color": "{{colors.primary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": 700
|
||||
},
|
||||
"function": {
|
||||
"color": "{{colors.primary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"keyword": {
|
||||
"color": "{{colors.secondary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"number": {
|
||||
"color": "{{colors.tertiary_fixed.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"operator": {
|
||||
"color": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"property": {
|
||||
"color": "{{colors.on_surface.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation": {
|
||||
"color": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.bracket": {
|
||||
"color": "{{colors.secondary_fixed.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.delimiter": {
|
||||
"color": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.list_marker": {
|
||||
"color": "{{colors.on_surface_variant.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.special": {
|
||||
"color": "{{colors.secondary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string": {
|
||||
"color": "{{colors.tertiary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.escape": {
|
||||
"color": "{{colors.tertiary_fixed_dim.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.regex": {
|
||||
"color": "{{colors.tertiary_fixed.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special": {
|
||||
"color": "{{colors.on_tertiary_container.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special.symbol": {
|
||||
"color": "{{colors.tertiary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"tag": {
|
||||
"color": "{{colors.secondary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"text.literal": {
|
||||
"color": "{{colors.tertiary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"type": {
|
||||
"color": "{{colors.primary_fixed.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable": {
|
||||
"color": "{{colors.on_surface.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable.special": {
|
||||
"color": "{{colors.primary.dark.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Noctalia Light",
|
||||
"appearance": "light",
|
||||
"style": {
|
||||
"accents": [
|
||||
"{{colors.primary.light.hex}}",
|
||||
"{{colors.secondary.light.hex}}",
|
||||
"{{colors.tertiary.light.hex}}"
|
||||
],
|
||||
"background.appearance": "opaque",
|
||||
"border": "{{colors.outline_variant.light.hex}}",
|
||||
"border.variant": "{{colors.outline.light.hex}}",
|
||||
"border.focused": "{{colors.primary.light.hex}}",
|
||||
"border.selected": "{{colors.primary.light.hex}}",
|
||||
"border.transparent": "{{colors.outline_variant.light.hex}}40",
|
||||
"border.disabled": "{{colors.outline_variant.light.hex}}60",
|
||||
"elevated_surface.background": "{{colors.surface_container_high.light.hex}}",
|
||||
"surface.background": "{{colors.surface.light.hex}}",
|
||||
"background": "{{colors.background.light.hex}}",
|
||||
"element.background": "{{colors.surface_container.light.hex}}",
|
||||
"element.hover": "{{colors.surface_container_high.light.hex}}",
|
||||
"element.active": "{{colors.surface_container_highest.light.hex}}",
|
||||
"element.selected": "{{colors.secondary_container.light.hex}}",
|
||||
"element.disabled": "{{colors.surface_variant.light.hex}}",
|
||||
"drop_target.background": "{{colors.primary_container.light.hex}}80",
|
||||
"ghost_element.background": null,
|
||||
"ghost_element.hover": "{{colors.surface_container.light.hex}}80",
|
||||
"ghost_element.active": "{{colors.surface_container_high.light.hex}}",
|
||||
"ghost_element.selected": "{{colors.secondary_container.light.hex}}80",
|
||||
"ghost_element.disabled": "{{colors.surface_variant.light.hex}}60",
|
||||
"text": "{{colors.on_surface.light.hex}}",
|
||||
"text.muted": "{{colors.on_surface_variant.light.hex}}",
|
||||
"text.placeholder": "{{colors.on_surface_variant.light.hex}}99",
|
||||
"text.disabled": "{{colors.on_surface.light.hex}}60",
|
||||
"text.accent": "{{colors.primary.light.hex}}",
|
||||
"icon": "{{colors.on_surface.light.hex}}",
|
||||
"icon.muted": "{{colors.on_surface_variant.light.hex}}",
|
||||
"icon.disabled": "{{colors.on_surface.light.hex}}60",
|
||||
"icon.placeholder": "{{colors.on_surface_variant.light.hex}}80",
|
||||
"icon.accent": "{{colors.primary.light.hex}}",
|
||||
"status_bar.background": "{{colors.surface.light.hex}}",
|
||||
"title_bar.background": "{{colors.surface.light.hex}}",
|
||||
"title_bar.inactive_background": "{{colors.surface_dim.light.hex}}",
|
||||
"toolbar.background": "{{colors.surface_container_low.light.hex}}",
|
||||
"tab_bar.background": "{{colors.surface_container.light.hex}}",
|
||||
"tab.inactive_backgorround": "{{colors.surface_container_low.light.hex}}",
|
||||
"tab.active_background": "{{colors.surface_container_high.light.hex}}",
|
||||
"search.match_background": "{{colors.tertiary_container.light.hex}}80",
|
||||
"panel.background": "{{colors.surface_container_low.light.hex}}",
|
||||
"panel.focused_border": "{{colors.primary.light.hex}}",
|
||||
"pane.focused_border": "{{colors.primary.light.hex}}",
|
||||
"scrollbar.thumb.background": "{{colors.on_surface_variant.light.hex}}80",
|
||||
"scrollbar.thumb.hover_background": "{{colors.on_surface_variant.light.hex}}c0",
|
||||
"scrollbar.thumb.border": "{{colors.outline_variant.light.hex}}40",
|
||||
"scrollbar.track.background": "{{colors.surface_container.light.hex}}",
|
||||
"scrollbar.track.border": "{{colors.outline_variant.light.hex}}20",
|
||||
"editor.foreground": "{{colors.on_surface.light.hex}}",
|
||||
"editor.background": "{{colors.surface_container_low.light.hex}}",
|
||||
"editor.gutter.background": "{{colors.surface_container_low.light.hex}}",
|
||||
"editor.subheader.background": "{{colors.surface_container.light.hex}}",
|
||||
"editor.indent_guide": "{{colors.outline_variant.light.hex}}60",
|
||||
"editor.indent_guide_active": "{{colors.outline.light.hex}}",
|
||||
"editor.active_line.background": "{{colors.surface_container_high.light.hex}}80",
|
||||
"editor.highlighted_line.background": "{{colors.surface_container_high.light.hex}}60",
|
||||
"editor.line_number": "{{colors.on_surface_variant.light.hex}}",
|
||||
"editor.active_line_number": "{{colors.primary.light.hex}}",
|
||||
"editor.invisible": "{{colors.outline_variant.light.hex}}80",
|
||||
"editor.wrap_guide": "{{colors.outline_variant.light.hex}}40",
|
||||
"editor.active_wrap_guide": "{{colors.outline.light.hex}}80",
|
||||
"editor.document_highlight.read_background": "{{colors.primary_container.light.hex}}60",
|
||||
"editor.document_highlight.write_background": "{{colors.secondary_container.light.hex}}80",
|
||||
"terminal.background": "{{colors.surface_container_low.light.hex}}",
|
||||
"terminal.foreground": "{{colors.on_surface.light.hex}}",
|
||||
"terminal.bright_foreground": "{{colors.on_surface.light.hex}}",
|
||||
"terminal.dim_foreground": "{{colors.on_surface_variant.light.hex}}",
|
||||
"terminal.ansi.black": "{{colors.surface_dim.light.hex}}",
|
||||
"terminal.ansi.bright_black": "{{colors.surface_container_high.light.hex}}",
|
||||
"terminal.ansi.dim_black": "{{colors.surface.light.hex}}",
|
||||
"terminal.ansi.red": "{{colors.error.light.hex}}",
|
||||
"terminal.ansi.bright_red": "{{colors.error.light.hex}}",
|
||||
"terminal.ansi.dim_red": "{{colors.on_error_container.light.hex}}",
|
||||
"terminal.ansi.green": "{{colors.tertiary.light.hex}}",
|
||||
"terminal.ansi.bright_green": "{{colors.tertiary.light.hex}}",
|
||||
"terminal.ansi.dim_green": "{{colors.on_tertiary_container.light.hex}}",
|
||||
"terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.light.hex}}",
|
||||
"terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.light.hex}}",
|
||||
"terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.light.hex}}",
|
||||
"terminal.ansi.blue": "{{colors.primary.light.hex}}",
|
||||
"terminal.ansi.bright_blue": "{{colors.primary.light.hex}}",
|
||||
"terminal.ansi.dim_blue": "{{colors.on_primary_container.light.hex}}",
|
||||
"terminal.ansi.magenta": "{{colors.secondary.light.hex}}",
|
||||
"terminal.ansi.bright_magenta": "{{colors.secondary.light.hex}}",
|
||||
"terminal.ansi.dim_magenta": "{{colors.on_secondary_container.light.hex}}",
|
||||
"terminal.ansi.cyan": "{{colors.primary_fixed_dim.light.hex}}",
|
||||
"terminal.ansi.bright_cyan": "{{colors.primary_fixed.light.hex}}",
|
||||
"terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.light.hex}}",
|
||||
"terminal.ansi.white": "{{colors.on_surface.light.hex}}",
|
||||
"terminal.ansi.bright_white": "{{colors.on_surface.light.hex}}",
|
||||
"terminal.ansi.dim_white": "{{colors.on_surface_variant.light.hex}}",
|
||||
"link_text.hover": "{{colors.primary.light.hex}}",
|
||||
"conflict": "{{colors.error.light.hex}}",
|
||||
"conflict.background": "{{colors.error_container.light.hex}}80",
|
||||
"conflict.border": "{{colors.on_error_container.light.hex}}",
|
||||
"created": "{{colors.tertiary.light.hex}}",
|
||||
"created.background": "{{colors.tertiary_container.light.hex}}80",
|
||||
"created.border": "{{colors.on_tertiary_container.light.hex}}",
|
||||
"deleted": "{{colors.error.light.hex}}",
|
||||
"deleted.background": "{{colors.error_container.light.hex}}80",
|
||||
"deleted.border": "{{colors.on_error_container.light.hex}}",
|
||||
"error": "{{colors.error.light.hex}}",
|
||||
"error.background": "{{colors.error_container.light.hex}}",
|
||||
"error.border": "{{colors.on_error_container.light.hex}}",
|
||||
"hidden": "{{colors.outline_variant.light.hex}}",
|
||||
"hidden.border": "{{colors.outline_variant.light.hex}}60",
|
||||
"hint": "{{colors.primary.light.hex}}",
|
||||
"hint.background": "{{colors.primary_container.light.hex}}80",
|
||||
"hint.border": "{{colors.on_primary_container.light.hex}}",
|
||||
"ignored": "{{colors.on_surface_variant.light.hex}}60",
|
||||
"ignored.background": "{{colors.surface_variant.light.hex}}40",
|
||||
"ignored.border": "{{colors.outline_variant.light.hex}}40",
|
||||
"info": "{{colors.primary.light.hex}}",
|
||||
"info.background": "{{colors.primary_container.light.hex}}80",
|
||||
"info.border": "{{colors.on_primary_container.light.hex}}",
|
||||
"modified": "{{colors.secondary.light.hex}}",
|
||||
"modified.background": "{{colors.secondary_container.light.hex}}80",
|
||||
"modified.border": "{{colors.on_secondary_container.light.hex}}",
|
||||
"predictive": "{{colors.on_surface_variant.light.hex}}80",
|
||||
"predictive.border": "{{colors.outline.light.hex}}",
|
||||
"predictive.background": "{{colors.surface_container_highest.light.hex}}80",
|
||||
"renamed": "{{colors.secondary.light.hex}}",
|
||||
"renamed.border": "{{colors.on_secondary_container.light.hex}}",
|
||||
"renamed.background": "{{colors.secondary_container.light.hex}}80",
|
||||
"success": "{{colors.tertiary.light.hex}}",
|
||||
"success.background": "{{colors.tertiary_container.light.hex}}80",
|
||||
"success.border": "{{colors.on_tertiary_container.light.hex}}",
|
||||
"unreachable": "{{colors.on_surface_variant.light.hex}}60",
|
||||
"unreachable.background": "{{colors.surface_variant.light.hex}}40",
|
||||
"unreachable.border": "{{colors.outline_variant.light.hex}}60",
|
||||
"warning": "{{colors.tertiary_fixed_dim.light.hex}}",
|
||||
"warning.background": "{{colors.tertiary_container.light.hex}}80",
|
||||
"warning.border": "{{colors.on_tertiary_container.light.hex}}",
|
||||
"players": [
|
||||
{
|
||||
"cursor": "{{colors.primary.light.hex}}",
|
||||
"background": "{{colors.primary_container.light.hex}}80",
|
||||
"selection": "{{colors.primary_container.light.hex}}60"
|
||||
},
|
||||
{
|
||||
"cursor": "{{colors.secondary.light.hex}}",
|
||||
"background": "{{colors.secondary_container.light.hex}}80",
|
||||
"selection": "{{colors.secondary_container.light.hex}}60"
|
||||
}
|
||||
],
|
||||
"syntax": {
|
||||
"boolean": {
|
||||
"color": "{{colors.tertiary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"comment": {
|
||||
"color": "{{colors.on_surface_variant.light.hex}}",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"comment.doc": {
|
||||
"color": "{{colors.on_surface_variant.light.hex}}",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"constant": {
|
||||
"color": "{{colors.tertiary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"constructor": {
|
||||
"color": "{{colors.secondary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis": {
|
||||
"color": "{{colors.primary.light.hex}}",
|
||||
"font_style": "italic",
|
||||
"font_weight": null
|
||||
},
|
||||
"emphasis.strong": {
|
||||
"color": "{{colors.primary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": 700
|
||||
},
|
||||
"function": {
|
||||
"color": "{{colors.primary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"keyword": {
|
||||
"color": "{{colors.secondary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"number": {
|
||||
"color": "{{colors.tertiary_fixed.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"operator": {
|
||||
"color": "{{colors.on_surface_variant.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"property": {
|
||||
"color": "{{colors.on_surface.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation": {
|
||||
"color": "{{colors.on_surface_variant.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.bracket": {
|
||||
"color": "{{colors.secondary_fixed.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.delimiter": {
|
||||
"color": "{{colors.on_surface_variant.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.list_marker": {
|
||||
"color": "{{colors.on_surface_variant.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"punctuation.special": {
|
||||
"color": "{{colors.secondary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string": {
|
||||
"color": "{{colors.tertiary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.escape": {
|
||||
"color": "{{colors.tertiary_fixed_dim.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.regex": {
|
||||
"color": "{{colors.tertiary_fixed.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special": {
|
||||
"color": "{{colors.on_tertiary_container.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"string.special.symbol": {
|
||||
"color": "{{colors.tertiary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"tag": {
|
||||
"color": "{{colors.secondary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"text.literal": {
|
||||
"color": "{{colors.tertiary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"type": {
|
||||
"color": "{{colors.primary_fixed.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable": {
|
||||
"color": "{{colors.on_surface.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
},
|
||||
"variable.special": {
|
||||
"color": "{{colors.primary.light.hex}}",
|
||||
"font_style": null,
|
||||
"font_weight": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Hintergrund-Transparenz der Statusleiste anpassen.",
|
||||
"label": "Hintergrund-Transparenz"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Deckkraft der Widget-Hintergründe festlegen, wenn Kapsel angezeigt wird.",
|
||||
"label": "Kapsel-Deckkraft"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Widget-Hintergründe anzeigen.",
|
||||
"label": "Kapsel anzeigen"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Dies verhindert, dass Paneele an der Stange befestigt werden können.",
|
||||
"label": "Transparenter Hintergrund"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Schreibe {Dateipfad}. Flavor muss manuell aktiviert werden.",
|
||||
"description-missing": "Benötigt die Installation von {app}"
|
||||
},
|
||||
"zed": {
|
||||
"description": "Schreibt {filepath} und lädt neu",
|
||||
"description-missing": "Erfordert die Installation von {app}"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Hintergrund-Transparenz des Starters anpassen.",
|
||||
"label": "Hintergrund-Transparenz"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Zeige eine Vorschau des Inhalts der Zwischenablage an, wenn der Befehl >clip verwendet wird.",
|
||||
"label": "Clip-Vorschau aktivieren"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Festplattennutzung"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Warnung: Dies aktiviert Ihre NVIDIA-GPU, was die Akkulaufzeit von Laptops mit Hybridgrafik erheblich beeinträchtigen kann.",
|
||||
"label": "NVIDIA GPU-Überwachung aktivieren"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Konfigurieren Sie das Verhalten und Aussehen des Systemmonitors.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Deckkraft des gedimmten Desktops zurücksetzen"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Hintergrunddeckkraft für alle Panels festlegen (Launcher, Kontrollzentrum, Einstellungen usw.).",
|
||||
"description": "Lege die Hintergrundtransparenz für alle Panels fest (Leiste, Starter, Einstellungen, usw.).",
|
||||
"label": "Panel-Hintergrunddeckkraft"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Adjust the background opacity of the bar.",
|
||||
"label": "Background opacity"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Set the opacity level for widget backgrounds when capsule is shown.",
|
||||
"label": "Capsule opacity"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Show widget backgrounds.",
|
||||
"label": "Show capsule"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "This will prevent panels to attach to the bar.",
|
||||
"label": "Transparent background"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Write {filepath}. Flavor needs to be activated manually.",
|
||||
"description-missing": "Requires {app} to be installed"
|
||||
},
|
||||
"zed": {
|
||||
"description": "Write {filepath} and reload",
|
||||
"description-missing": "Requires {app} to be installed"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1633,10 +1637,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Adjust the background opacity of the launcher.",
|
||||
"label": "Background opacity"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Show a preview of the clipboard content when using the >clip command.",
|
||||
"label": "Enable clip preview"
|
||||
@@ -2172,6 +2172,10 @@
|
||||
"disk-section": {
|
||||
"label": "Disk usage"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Warning: This will wake up your NVIDIA GPU, which may significantly impact battery life on laptops with hybrid graphics.",
|
||||
"label": "Enable NVIDIA GPU monitoring"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configure the system monitor behavior and appearance.",
|
||||
@@ -2247,7 +2251,7 @@
|
||||
"reset": "Reset dimmed desktop opacity"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Set the background opacity for all panels (launcher, control center, settings, etc.).",
|
||||
"description": "Set the background opacity for all panels (bar, launcher, settings, etc...).",
|
||||
"label": "Panel background opacity"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Ajusta la opacidad del fondo de la barra.",
|
||||
"label": "Opacidad del fondo"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Establecer el nivel de opacidad para los fondos de los widgets cuando se muestra la cápsula.",
|
||||
"label": "Opacidad de la cápsula"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Mostrar fondos de los widgets.",
|
||||
"label": "Mostrar cápsula"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Esto evitará que los paneles se adhieran a la barra.",
|
||||
"label": "Fondo transparente"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Escriba en {filepath}. El sabor debe activarse manualmente.",
|
||||
"description-missing": "Requiere que {app} esté instalada."
|
||||
},
|
||||
"zed": {
|
||||
"description": "Escribir {filepath} y recargar",
|
||||
"description-missing": "Requiere que {app} esté instalado"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Ajusta la opacidad del fondo del lanzador.",
|
||||
"label": "Opacidad del fondo"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Muestra una vista previa del contenido del portapapeles al usar el comando >clip.",
|
||||
"label": "Activar vista previa del portapapeles"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Uso de disco"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Advertencia: Esto activará tu GPU NVIDIA, lo que podría afectar significativamente la duración de la batería en portátiles con gráficos híbridos.",
|
||||
"label": "Habilitar la monitorización de la GPU NVIDIA"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configurar el comportamiento y la apariencia del Monitor del sistema.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Restablecer la opacidad del escritorio atenuado"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Establecer la opacidad de fondo para todos los paneles (Launcher, Centro de control, Configuración, etc.).",
|
||||
"description": "Establecer la opacidad del fondo para todos los paneles (barra, lanzador, ajustes, etc...).",
|
||||
"label": "Opacidad de fondo del panel"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Ajustez l'opacité de l'arrière-plan de la barre.",
|
||||
"label": "Opacité de l'arrière-plan"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Définir le niveau d'opacité des arrière-plans des widgets quand la capsule est affichée.",
|
||||
"label": "Opacité de la capsule"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Afficher les arrière-plans des widgets.",
|
||||
"label": "Afficher la capsule"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Cela empêchera les panneaux de se fixer à la barre.",
|
||||
"label": "Fond transparent"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Écrire dans {filepath}. La saveur doit être activée manuellement.",
|
||||
"description-missing": "Nécessite l'installation de {app}"
|
||||
},
|
||||
"zed": {
|
||||
"description": "Écrire {filepath}. Le thème Comfy doit être installé et activé manuellement.",
|
||||
"description-missing": "Nécessite l'installation de {app}"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Ajustez l'opacité de l'arrière-plan du lanceur.",
|
||||
"label": "Opacité de l'arrière-plan"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Afficher un aperçu du contenu du presse-papiers lors de l'utilisation de la commande >clip.",
|
||||
"label": "Activer l'aperçu du presse-papiers"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Utilisation disque"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Attention : Ceci va activer votre GPU NVIDIA, ce qui peut avoir un impact significatif sur l'autonomie de la batterie des ordinateurs portables dotés de cartes graphiques hybrides.",
|
||||
"label": "Activer la surveillance du GPU NVIDIA"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configurer le comportement et l'apparence du Moniteur Système.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Réinitialiser l'opacité du bureau atténué"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Définir l'opacité de fond pour tous les panneaux (Lanceur, Centre de contrôle, Paramètres, etc.).",
|
||||
"description": "Définir l'opacité de l'arrière-plan pour tous les panneaux (barre, lanceur, paramètres, etc.).",
|
||||
"label": "Opacité de fond des panneaux"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "バーの背景の不透明度を調整します。",
|
||||
"label": "背景の不透明度"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "カプセル表示時のウィジェット背景の不透明度を設定します。",
|
||||
"label": "カプセルの不透明度"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "ウィジェットの背景を表示します。",
|
||||
"label": "カプセルを表示"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "これにより、パネルがバーに取り付けられるのを防ぎます。",
|
||||
"label": "透明な背景"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "{filepath} を書き込みます。風味は手動で有効にする必要があります。",
|
||||
"description-missing": "{app} がインストールされている必要があります。"
|
||||
},
|
||||
"zed": {
|
||||
"description": "{filepath} を書き込み、リロードします。",
|
||||
"description-missing": "{app} のインストールが必要です。"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "ランチャーの背景の不透明度を調整します。",
|
||||
"label": "背景の不透明度"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": ">clip コマンド使用時に、クリップボードの内容をプレビュー表示します。",
|
||||
"label": "クリップボードのプレビューを有効化"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "ストレージ使用量"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "警告:これにより NVIDIA GPU が起動し、ハイブリッド グラフィックスを搭載したラップトップのバッテリー寿命に大きな影響を与える可能性があります。",
|
||||
"label": "NVIDIA GPU モニタリングを有効にする"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "システムモニターの動作と外観を設定します。",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "デスクトップを暗くした際の不透明度をリセット"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "すべてのパネル(ランチャー、コントロールセンター、設定など)の背景の不透明度を設定します。",
|
||||
"description": "すべてのパネル(バー、ランチャー、設定など)の背景の不透明度を設定します。",
|
||||
"label": "パネル背景の不透明度"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Pas de achtergronddekking van de balk aan.",
|
||||
"label": "Achtergronddekking"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Stel het doorzichtigheidsniveau in voor widget-achtergronden wanneer capsule wordt getoond.",
|
||||
"label": "Capsule-doorzichtigheid"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Widget-achtergronden tonen.",
|
||||
"label": "Capsules tonen"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Dit voorkomt dat panelen aan de balk worden bevestigd.",
|
||||
"label": "Transparante achtergrond"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Schrijf {filepath}. Smaak moet handmatig worden geactiveerd.",
|
||||
"description-missing": "Vereist dat {app} is geïnstalleerd."
|
||||
},
|
||||
"zed": {
|
||||
"description": "Schrijf {filepath} en herlaad.",
|
||||
"description-missing": "Vereist dat {app} is geïnstalleerd."
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Pas de achtergronddekking van de launcher aan.",
|
||||
"label": "Achtergronddekking"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Toon een voorbeeld van de inhoud van het klembord bij gebruik van het >clip-commando.",
|
||||
"label": "Klembordvoorbeeld inschakelen"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Schijfgebruik"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Waarschuwing: Dit zal uw NVIDIA GPU activeren, wat een aanzienlijke impact kan hebben op de batterijduur van laptops met hybride grafische kaarten.",
|
||||
"label": "NVIDIA GPU-monitoring inschakelen"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configureer het gedrag en de weergave van de Systeemmonitor.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Doorzichtigheid van gedimde desktop resetten"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Stel de achtergronddoorzichtigheid in voor alle panelen (Launcher, Control Center, Instellingen, enz.).",
|
||||
"description": "Stel de achtergronddoorzichtigheid in voor alle panelen (balk, launcher, instellingen, enz...).",
|
||||
"label": "Paneel achtergronddoorzichtigheid"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Ajuste a opacidade do fundo da barra.",
|
||||
"label": "Opacidade do fundo"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Define o nível de opacidade para fundos dos widgets quando a cápsula é mostrada.",
|
||||
"label": "Opacidade da cápsula"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Mostra o fundo dos widgets.",
|
||||
"label": "Mostrar cápsula"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Isto impedirá que os painéis se fixem à barra.",
|
||||
"label": "Fundo transparente"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Escreva em {filepath}. O sabor precisa ser ativado manualmente.",
|
||||
"description-missing": "Requer que o {app} esteja instalado."
|
||||
},
|
||||
"zed": {
|
||||
"description": "Escrever {filepath} e recarregar",
|
||||
"description-missing": "Requer que o {app} esteja instalado"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Ajuste a opacidade do fundo do lançador.",
|
||||
"label": "Opacidade do fundo"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Mostra uma pré-visualização do conteúdo da área de transferência ao usar o comando >clip.",
|
||||
"label": "Ativar pré-visualização da área de transferência"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Uso do disco"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Atenção: Isto irá ativar sua GPU NVIDIA, o que pode impactar significativamente a duração da bateria em laptops com gráficos híbridos.",
|
||||
"label": "Ativar o monitoramento da GPU NVIDIA"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Configure o comportamento e a aparência do Monitor do Sistema.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Redefinir opacidade da área de trabalho escurecida"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Definir a opacidade de fundo para todos os painéis (Launcher, Centro de Controle, Configurações, etc.).",
|
||||
"description": "Definir a opacidade do fundo para todos os painéis (barra, iniciador, configurações, etc...).",
|
||||
"label": "Opacidade de fundo do painel"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Настройка непрозрачности фона панели.",
|
||||
"label": "Непрозрачность фона"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Установить уровень непрозрачности для фона виджетов, когда капсула отображается.",
|
||||
"label": "Непрозрачность капсулы"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Показывать фон виджетов.",
|
||||
"label": "Показывать капсулу"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Это предотвратит прикрепление панелей к планке.",
|
||||
"label": "Прозрачный фон"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Записать {filepath}. Вкус необходимо активировать вручную.",
|
||||
"description-missing": "Требуется установка {app}"
|
||||
},
|
||||
"zed": {
|
||||
"description": "Записать {filepath} и перезагрузить",
|
||||
"description-missing": "Требуется установка {app}"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Настройка непрозрачности фона запуска.",
|
||||
"label": "Непрозрачность фона"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Показывать предварительный просмотр содержимого буфера обмена при использовании команды >clip.",
|
||||
"label": "Включить предварительный просмотр буфера обмена"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Использование диска"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Внимание: Это разбудит ваш графический процессор NVIDIA, что может значительно повлиять на время работы от аккумулятора на ноутбуках с гибридной графикой.",
|
||||
"label": "Включить мониторинг GPU NVIDIA"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Настроить поведение и внешний вид системного монитора.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Сбросить непрозрачность затемненного рабочего стола"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Установить прозрачность фона для всех панелей (Launcher, Центр управления, Настройки и т.д.).",
|
||||
"description": "Установить прозрачность фона для всех панелей (верхней панели, панели запуска, настроек и т. д.).",
|
||||
"label": "Прозрачность фона панелей"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Araç çubuğu arka plan opaklığını ayarlayın.",
|
||||
"label": "Arka plan opaklığı"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Kapsül gösterildiğinde araç takımı arka planlarının saydamlık seviyesini ayarla.",
|
||||
"label": "Kapsül saydamlığı"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Araç takımı arka planlarını göster.",
|
||||
"label": "Kapsülü göster"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Bu, panellerin çubuğa takılmasını önleyecektir.",
|
||||
"label": "Şeffaf arka plan"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "{filepath} dosyasına yaz. Temanın manuel etkinleştirilmesi gerekir.",
|
||||
"description-missing": "Kurulum için {app} gereklidir"
|
||||
},
|
||||
"zed": {
|
||||
"description": "{filepath} dosyasına yaz ve yeniden yükle",
|
||||
"description-missing": "Kurulum için {app} gereklidir"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Başlatıcının arka plan opaklığını ayarlayın.",
|
||||
"label": "Arka plan opaklığı"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": ">clip komutu kullanılırken panodaki içeriğin önizlemesini gösterir.",
|
||||
"label": "Panoyu önizlemeyi etkinleştir"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Disk Kullanımı"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Uyarı: Bu, NVIDIA GPU'nuzu uyandıracak ve bu da hibrit grafiklere sahip dizüstü bilgisayarlarda pil ömrünü önemli ölçüde etkileyebilir.",
|
||||
"label": "NVIDIA GPU izlemeyi etkinleştir"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Sistem İzleyicisinin davranışını ve görünümünü yapılandırın.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Karartılmış masaüstü opaklığını sıfırla"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Tüm paneller için arka plan opaklığını ayarlayın (Başlatıcı, Kontrol Merkezi, Ayarlar vb.).",
|
||||
"description": "Tüm panellerin (çubuk, başlatıcı, ayarlar vb.) arka plan opaklığını ayarlayın.",
|
||||
"label": "Panel arka plan opaklığı"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "Налаштуйте непрозорість фону панелі.",
|
||||
"label": "Непрозорість фону"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "Встановити рівень непрозорості для фону віджетів, коли показано капсулу.",
|
||||
"label": "Непрозорість капсули"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "Показувати фон віджетів.",
|
||||
"label": "Показувати капсулу"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "Це запобіжить прикріпленню панелей до планки.",
|
||||
"label": "Прозорий фон"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "Записати {filepath}. Смак потрібно активувати вручну.",
|
||||
"description-missing": "Потрібно встановити {app}"
|
||||
},
|
||||
"zed": {
|
||||
"description": "Записати {filepath} та перезавантажити",
|
||||
"description-missing": "Потрібна установка {app}"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "Налаштуйте непрозорість фону лаунчера.",
|
||||
"label": "Непрозорість фону"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "Показувати попередній перегляд вмісту буфера обміну при використанні команди >clip.",
|
||||
"label": "Попередній перегляд буфера обміну"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "Використання диска"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "Увага: Це розбудить ваш графічний процесор NVIDIA, що може значно вплинути на час роботи акумулятора на ноутбуках з гібридною графікою.",
|
||||
"label": "Увімкнути моніторинг GPU NVIDIA"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "Налаштуйте поведінку та зовнішній вигляд Системного монітора.",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "Скинути непрозорість приглушеного робочого столу"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "Встановити прозорість фону для всіх панелей (Launcher, Центр керування, Налаштування тощо).",
|
||||
"description": "Встановити прозорість фону для всіх панелей (панель задач, панель запуску, налаштування тощо...).",
|
||||
"label": "Прозорість фону панелей"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -981,10 +981,6 @@
|
||||
},
|
||||
"bar": {
|
||||
"appearance": {
|
||||
"background-opacity": {
|
||||
"description": "调整状态栏的背景不透明度。",
|
||||
"label": "背景不透明度"
|
||||
},
|
||||
"capsule-opacity": {
|
||||
"description": "设置显示胶囊时小部件背景的不透明度。",
|
||||
"label": "胶囊不透明度"
|
||||
@@ -1018,6 +1014,10 @@
|
||||
"show-capsule": {
|
||||
"description": "为每个小部件添加背景。",
|
||||
"label": "显示组件背景"
|
||||
},
|
||||
"transparent": {
|
||||
"description": "这将阻止面板连接到栏上。",
|
||||
"label": "透明背景"
|
||||
}
|
||||
},
|
||||
"monitors": {
|
||||
@@ -1189,6 +1189,10 @@
|
||||
"yazi": {
|
||||
"description": "写入 {filepath}。需要手动激活风味。",
|
||||
"description-missing": "需要安装{app}"
|
||||
},
|
||||
"zed": {
|
||||
"description": "写入 {filepath} 并重新加载",
|
||||
"description-missing": "需要安装 {app}"
|
||||
}
|
||||
},
|
||||
"section": {
|
||||
@@ -1544,10 +1548,6 @@
|
||||
},
|
||||
"launcher": {
|
||||
"settings": {
|
||||
"background-opacity": {
|
||||
"description": "调整启动器的背景不透明度。",
|
||||
"label": "背景不透明度"
|
||||
},
|
||||
"clip-preview": {
|
||||
"description": "在使用 >clip 命令时显示剪贴板内容的预览。",
|
||||
"label": "启用剪贴板预览"
|
||||
@@ -2083,6 +2083,10 @@
|
||||
"disk-section": {
|
||||
"label": "磁盘使用率"
|
||||
},
|
||||
"enable-nvidia-gpu": {
|
||||
"description": "警告:这将唤醒您的 NVIDIA GPU,这可能会显著影响配备混合显卡的笔记本电脑的电池续航时间。",
|
||||
"label": "启用 NVIDIA GPU 监控"
|
||||
},
|
||||
"general": {
|
||||
"section": {
|
||||
"description": "配置系统监视器的行为和外观。",
|
||||
@@ -2158,7 +2162,7 @@
|
||||
"reset": "重置变暗桌面不透明度"
|
||||
},
|
||||
"panel-background-opacity": {
|
||||
"description": "设置所有面板的背景不透明度(启动器、控制中心、设置等)。",
|
||||
"description": "设置所有面板(栏、启动器、设置等)的背景不透明度。",
|
||||
"label": "面板背景不透明度"
|
||||
},
|
||||
"panels-attached-to-bar": {
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
"settingsVersion": 0,
|
||||
"bar": {
|
||||
"position": "top",
|
||||
"backgroundOpacity": 1,
|
||||
"monitors": [],
|
||||
"density": "default",
|
||||
"showCapsule": true,
|
||||
"capsuleOpacity": 1,
|
||||
"transparent": false,
|
||||
"floating": false,
|
||||
"marginVertical": 0.25,
|
||||
"marginHorizontal": 0.25,
|
||||
@@ -65,7 +65,7 @@
|
||||
},
|
||||
"general": {
|
||||
"avatarImage": "",
|
||||
"dimmerOpacity": 0.6,
|
||||
"dimmerOpacity": 0.2,
|
||||
"showScreenCorners": false,
|
||||
"forceBlackScreenCorners": false,
|
||||
"scaleRatio": 1,
|
||||
@@ -92,7 +92,7 @@
|
||||
"fontDefaultScale": 1,
|
||||
"fontFixedScale": 1,
|
||||
"tooltipsEnabled": true,
|
||||
"panelBackgroundOpacity": 1,
|
||||
"panelBackgroundOpacity": 0.85,
|
||||
"panelsAttachedToBar": true,
|
||||
"settingsPanelMode": "attached"
|
||||
},
|
||||
@@ -248,6 +248,7 @@
|
||||
"cpuPollingInterval": 3000,
|
||||
"tempPollingInterval": 3000,
|
||||
"gpuPollingInterval": 3000,
|
||||
"enableNvidiaGpu": false,
|
||||
"memPollingInterval": 3000,
|
||||
"diskPollingInterval": 3000,
|
||||
"networkPollingInterval": 3000,
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
import QtQuick
|
||||
|
||||
QtObject {
|
||||
id: root
|
||||
|
||||
// Migrate bar.backgroundOpacity to ui.panelBackgroundOpacity
|
||||
function migrate(adapter, logger, rawJson) {
|
||||
logger.i("Settings", "Migrating settings to v29");
|
||||
|
||||
// Check rawJson for old property (adapter doesn't expose removed properties)
|
||||
if (rawJson?.bar?.backgroundOpacity !== undefined) {
|
||||
adapter.ui.panelBackgroundOpacity = Math.max(0.4, rawJson.bar.backgroundOpacity);
|
||||
adapter.bar.transparent = (rawJson.bar.backgroundOpacity < 0.1);
|
||||
logger.i("Settings", "Migrated bar.backgroundOpacity to ui.panelBackgroundOpacity: " + adapter.ui.panelBackgroundOpacity);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -8,10 +8,12 @@ QtObject {
|
||||
// Map of version number to migration component
|
||||
readonly property var migrations: ({
|
||||
27: migration27Component,
|
||||
28: migration28Component
|
||||
28: migration28Component,
|
||||
29: migration29Component
|
||||
})
|
||||
|
||||
// Migration components
|
||||
property Component migration27Component: Migration27 {}
|
||||
property Component migration28Component: Migration28 {}
|
||||
property Component migration29Component: Migration29 {}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ Singleton {
|
||||
- Default cache directory: ~/.cache/noctalia
|
||||
*/
|
||||
readonly property alias data: adapter // Used to access via Settings.data.xxx.yyy
|
||||
readonly property int settingsVersion: 28
|
||||
readonly property int settingsVersion: 29
|
||||
readonly property bool isDebug: Quickshell.env("NOCTALIA_DEBUG") === "1"
|
||||
readonly property string shellName: "noctalia"
|
||||
readonly property string configDir: Quickshell.env("NOCTALIA_CONFIG_DIR") || (Quickshell.env("XDG_CONFIG_HOME") || Quickshell.env("HOME") + "/.config") + "/" + shellName + "/"
|
||||
@@ -156,11 +156,11 @@ Singleton {
|
||||
// bar
|
||||
property JsonObject bar: JsonObject {
|
||||
property string position: "top" // "top", "bottom", "left", or "right"
|
||||
property real backgroundOpacity: 1.0
|
||||
property list<string> monitors: [] // holds bar visibility per monitor
|
||||
property string density: "default" // "compact", "default", "comfortable"
|
||||
property bool showCapsule: true
|
||||
property real capsuleOpacity: 1.0
|
||||
property bool transparent: false
|
||||
|
||||
// Floating bar settings
|
||||
property bool floating: false
|
||||
@@ -230,7 +230,7 @@ Singleton {
|
||||
// general
|
||||
property JsonObject general: JsonObject {
|
||||
property string avatarImage: ""
|
||||
property real dimmerOpacity: 0.6
|
||||
property real dimmerOpacity: 0.2
|
||||
property bool showScreenCorners: false
|
||||
property bool forceBlackScreenCorners: false
|
||||
property real scaleRatio: 1.0
|
||||
@@ -259,7 +259,7 @@ Singleton {
|
||||
property real fontDefaultScale: 1.0
|
||||
property real fontFixedScale: 1.0
|
||||
property bool tooltipsEnabled: true
|
||||
property real panelBackgroundOpacity: 1.0
|
||||
property real panelBackgroundOpacity: 0.85
|
||||
property bool panelsAttachedToBar: true
|
||||
property string settingsPanelMode: "attached" // "centered", "attached", "window"
|
||||
}
|
||||
@@ -434,6 +434,7 @@ Singleton {
|
||||
property int cpuPollingInterval: 3000
|
||||
property int tempPollingInterval: 3000
|
||||
property int gpuPollingInterval: 3000
|
||||
property bool enableNvidiaGpu: false // Opt-in: nvidia-smi wakes dGPU on laptops, draining battery
|
||||
property int memPollingInterval: 3000
|
||||
property int diskPollingInterval: 3000
|
||||
property int networkPollingInterval: 3000
|
||||
@@ -585,6 +586,7 @@ Singleton {
|
||||
property bool yazi: false
|
||||
property bool emacs: false
|
||||
property bool niri: false
|
||||
property bool zed: false
|
||||
property bool enableUserTemplates: false
|
||||
}
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ Loader {
|
||||
anchors.fill: parent
|
||||
visible: Settings.data.general.showScreenCorners
|
||||
|
||||
property color cornerColor: Settings.data.general.forceBlackScreenCorners ? Color.black : Qt.alpha(Color.mSurface, Settings.data.bar.backgroundOpacity)
|
||||
property color cornerColor: Settings.data.general.forceBlackScreenCorners ? Color.black : Color.mSurface
|
||||
property real cornerRadius: Style.screenRadius
|
||||
property real cornerSize: Style.screenRadius
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Item {
|
||||
// Reference to MainScreen (for panel access)
|
||||
required property var windowRoot
|
||||
|
||||
readonly property color panelBackgroundColor: Qt.alpha(Color.mSurface, Settings.data.ui.panelBackgroundOpacity)
|
||||
readonly property color panelBackgroundColor: Color.mSurface
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
@@ -34,6 +34,9 @@ Item {
|
||||
// This caches the Shape to a GPU texture, reducing GPU tessellation overhead
|
||||
layer.enabled: true
|
||||
|
||||
// Apply opacity to all backgrounds
|
||||
opacity: Settings.data.ui.panelBackgroundOpacity
|
||||
|
||||
// The unified Shape container
|
||||
Shape {
|
||||
id: backgroundsShape
|
||||
@@ -55,7 +58,7 @@ Item {
|
||||
bar: root.bar
|
||||
shapeContainer: backgroundsShape
|
||||
windowRoot: root.windowRoot
|
||||
backgroundColor: Qt.alpha(Color.mSurface, Settings.data.bar.backgroundOpacity)
|
||||
backgroundColor: Settings.data.bar.transparent ? Color.transparent : panelBackgroundColor
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -718,7 +718,7 @@ Item {
|
||||
return Settings.data.ui.panelsAttachedToBar || root.forceAttachToBar;
|
||||
}
|
||||
readonly property bool allowAttachToBar: {
|
||||
if (!(Settings.data.ui.panelsAttachedToBar || root.forceAttachToBar) || Settings.data.bar.backgroundOpacity < 1.0) {
|
||||
if (!(Settings.data.ui.panelsAttachedToBar || root.forceAttachToBar) || Settings.data.bar.transparent) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -840,7 +840,7 @@ SmartPanel {
|
||||
}
|
||||
}
|
||||
|
||||
width: resultsList.width - Style.marginS - resultsList.scrollBarTotalWidth
|
||||
width: resultsList.width - Style.marginS
|
||||
implicitHeight: entryHeight
|
||||
radius: Style.radiusM
|
||||
color: entry.isSelected ? Color.mHover : Color.mSurface
|
||||
|
||||
@@ -341,11 +341,18 @@ Item {
|
||||
// Sidebar
|
||||
Rectangle {
|
||||
id: sidebar
|
||||
|
||||
readonly property bool panelVeryTransparent: Settings.data.ui.panelBackgroundOpacity <= 0.75
|
||||
|
||||
clip: true
|
||||
Layout.preferredWidth: root.sidebarExpanded ? 200 * Style.uiScaleRatio : (sidebarToggle.width + (sidebarList.verticalScrollBarActive ? sidebarList.scrollBarTotalWidth : 0))
|
||||
Layout.preferredWidth: root.sidebarExpanded ? 200 * Style.uiScaleRatio : sidebarToggle.width + (panelVeryTransparent ? Style.marginM * 2 : 0)
|
||||
Layout.fillHeight: true
|
||||
Layout.alignment: Qt.AlignTop
|
||||
color: Color.transparent
|
||||
|
||||
radius: sidebar.panelVeryTransparent ? Style.radiusM : 0
|
||||
color: sidebar.panelVeryTransparent ? Color.mSurfaceVariant : Color.transparent
|
||||
border.width: sidebar.panelVeryTransparent ? Style.borderS : 0
|
||||
border.color: sidebar.panelVeryTransparent ? Color.mOutline : Color.transparent
|
||||
|
||||
Behavior on Layout.preferredWidth {
|
||||
NumberAnimation {
|
||||
@@ -357,6 +364,7 @@ Item {
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: Style.marginS
|
||||
anchors.margins: sidebar.panelVeryTransparent ? Style.marginM : 0
|
||||
|
||||
// Sidebar toggle button
|
||||
Item {
|
||||
@@ -426,7 +434,7 @@ Item {
|
||||
|
||||
delegate: Rectangle {
|
||||
id: tabItem
|
||||
width: sidebarList.verticalScrollBarActive ? sidebarList.width - sidebarList.scrollBarWidth - Style.marginXS : sidebarList.width
|
||||
width: sidebarList.verticalScrollBarActive ? sidebarList.width - Style.marginXS : sidebarList.width
|
||||
height: tabEntryRow.implicitHeight + Style.marginS * 2
|
||||
radius: Style.radiusS
|
||||
color: selected ? Color.mPrimary : (tabItem.hovering ? Color.mHover : Color.transparent)
|
||||
|
||||
@@ -82,6 +82,14 @@ ColumnLayout {
|
||||
onSelected: key => Settings.data.bar.density = key
|
||||
}
|
||||
|
||||
NToggle {
|
||||
Layout.fillWidth: true
|
||||
label: I18n.tr("settings.bar.appearance.transparent.label")
|
||||
description: I18n.tr("settings.bar.appearance.transparent.description")
|
||||
checked: Settings.data.bar.transparent
|
||||
onToggled: checked => Settings.data.bar.transparent = checked
|
||||
}
|
||||
|
||||
NToggle {
|
||||
Layout.fillWidth: true
|
||||
label: I18n.tr("settings.bar.appearance.show-capsule.label")
|
||||
@@ -187,26 +195,6 @@ ColumnLayout {
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
spacing: Style.marginXXS
|
||||
Layout.fillWidth: true
|
||||
|
||||
NLabel {
|
||||
label: I18n.tr("settings.bar.appearance.background-opacity.label")
|
||||
description: I18n.tr("settings.bar.appearance.background-opacity.description")
|
||||
}
|
||||
|
||||
NValueSlider {
|
||||
Layout.fillWidth: true
|
||||
from: 0
|
||||
to: 1
|
||||
stepSize: 0.01
|
||||
value: Settings.data.bar.backgroundOpacity
|
||||
onMoved: value => Settings.data.bar.backgroundOpacity = value
|
||||
text: Math.floor(Settings.data.bar.backgroundOpacity * 100) + "%"
|
||||
}
|
||||
}
|
||||
|
||||
NDivider {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Style.marginL
|
||||
|
||||
@@ -896,6 +896,23 @@ ColumnLayout {
|
||||
}
|
||||
}
|
||||
|
||||
NCheckbox {
|
||||
label: "Zeditor"
|
||||
description: ProgramCheckerService.zedAvailable ? I18n.tr("settings.color-scheme.templates.programs.zed.description", {
|
||||
"filepath": "~/.config/zed/themes/noctalia.json"
|
||||
}) : I18n.tr("settings.color-scheme.templates.programs.zed.description-missing", {
|
||||
"app": "zed"
|
||||
})
|
||||
checked: Settings.data.templates.zed
|
||||
enabled: ProgramCheckerService.zedAvailable
|
||||
onToggled: checked => {
|
||||
if (ProgramCheckerService.zedAvailable) {
|
||||
Settings.data.templates.zed = checked;
|
||||
AppThemeService.generate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NCheckbox {
|
||||
label: "Emacs"
|
||||
description: ProgramCheckerService.emacsAvailable ? I18n.tr("settings.color-scheme.templates.programs.emacs.description") : I18n.tr("settings.color-scheme.templates.programs.emacs.description-missing", {
|
||||
|
||||
@@ -18,6 +18,15 @@ ColumnLayout {
|
||||
description: I18n.tr("settings.system-monitor.general.section.description")
|
||||
}
|
||||
|
||||
NToggle {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Style.marginM
|
||||
label: I18n.tr("settings.system-monitor.enable-nvidia-gpu.label")
|
||||
description: I18n.tr("settings.system-monitor.enable-nvidia-gpu.description")
|
||||
checked: Settings.data.systemMonitor.enableNvidiaGpu
|
||||
onToggled: checked => Settings.data.systemMonitor.enableNvidiaGpu = checked
|
||||
}
|
||||
|
||||
// Colors Section
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
|
||||
@@ -18,34 +18,6 @@ ColumnLayout {
|
||||
description: I18n.tr("settings.user-interface.section.description")
|
||||
}
|
||||
|
||||
NToggle {
|
||||
label: I18n.tr("settings.user-interface.tooltips.label")
|
||||
description: I18n.tr("settings.user-interface.tooltips.description")
|
||||
checked: Settings.data.ui.tooltipsEnabled
|
||||
onToggled: checked => Settings.data.ui.tooltipsEnabled = checked
|
||||
}
|
||||
|
||||
// Dim desktop opacity
|
||||
ColumnLayout {
|
||||
spacing: Style.marginXXS
|
||||
Layout.fillWidth: true
|
||||
|
||||
NLabel {
|
||||
label: I18n.tr("settings.user-interface.dimmer-opacity.label")
|
||||
description: I18n.tr("settings.user-interface.dimmer-opacity.description")
|
||||
}
|
||||
|
||||
NValueSlider {
|
||||
Layout.fillWidth: true
|
||||
from: 0
|
||||
to: 1
|
||||
stepSize: 0.01
|
||||
value: Settings.data.general.dimmerOpacity
|
||||
onMoved: value => Settings.data.general.dimmerOpacity = value
|
||||
text: Math.floor(Settings.data.general.dimmerOpacity * 100) + "%"
|
||||
}
|
||||
}
|
||||
|
||||
// Panels attached to bar and screen edges
|
||||
NToggle {
|
||||
label: I18n.tr("settings.user-interface.panels-attached-to-bar.label")
|
||||
@@ -54,6 +26,14 @@ ColumnLayout {
|
||||
onToggled: checked => Settings.data.ui.panelsAttachedToBar = checked
|
||||
}
|
||||
|
||||
NToggle {
|
||||
visible: (Quickshell.screens.length > 1)
|
||||
label: I18n.tr("settings.user-interface.allow-panels-without-bar.label")
|
||||
description: I18n.tr("settings.user-interface.allow-panels-without-bar.description")
|
||||
checked: Settings.data.general.allowPanelsOnScreenWithoutBar
|
||||
onToggled: checked => Settings.data.general.allowPanelsOnScreenWithoutBar = checked
|
||||
}
|
||||
|
||||
// Settings panel display mode
|
||||
NComboBox {
|
||||
label: I18n.tr("settings.user-interface.settings-panel-mode.label")
|
||||
@@ -77,6 +57,61 @@ ColumnLayout {
|
||||
onSelected: key => Settings.data.ui.settingsPanelMode = key
|
||||
}
|
||||
|
||||
// Panel Background Opacity
|
||||
ColumnLayout {
|
||||
spacing: Style.marginXXS
|
||||
Layout.fillWidth: true
|
||||
|
||||
NLabel {
|
||||
label: I18n.tr("settings.user-interface.panel-background-opacity.label")
|
||||
description: I18n.tr("settings.user-interface.panel-background-opacity.description")
|
||||
}
|
||||
|
||||
NValueSlider {
|
||||
Layout.fillWidth: true
|
||||
from: 0.4
|
||||
to: 1
|
||||
stepSize: 0.01
|
||||
value: Settings.data.ui.panelBackgroundOpacity
|
||||
onMoved: value => Settings.data.ui.panelBackgroundOpacity = value
|
||||
text: Math.floor(Settings.data.ui.panelBackgroundOpacity * 100) + "%"
|
||||
}
|
||||
}
|
||||
|
||||
// Dim desktop opacity
|
||||
ColumnLayout {
|
||||
spacing: Style.marginXXS
|
||||
Layout.fillWidth: true
|
||||
|
||||
NLabel {
|
||||
label: I18n.tr("settings.user-interface.dimmer-opacity.label")
|
||||
description: I18n.tr("settings.user-interface.dimmer-opacity.description")
|
||||
}
|
||||
|
||||
NValueSlider {
|
||||
Layout.fillWidth: true
|
||||
from: 0
|
||||
to: 1
|
||||
stepSize: 0.01
|
||||
value: Settings.data.general.dimmerOpacity
|
||||
onMoved: value => Settings.data.general.dimmerOpacity = value
|
||||
text: Math.floor(Settings.data.general.dimmerOpacity * 100) + "%"
|
||||
}
|
||||
}
|
||||
|
||||
NDivider {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Style.marginL
|
||||
Layout.bottomMargin: Style.marginL
|
||||
}
|
||||
|
||||
NToggle {
|
||||
label: I18n.tr("settings.user-interface.tooltips.label")
|
||||
description: I18n.tr("settings.user-interface.tooltips.description")
|
||||
checked: Settings.data.ui.tooltipsEnabled
|
||||
onToggled: checked => Settings.data.ui.tooltipsEnabled = checked
|
||||
}
|
||||
|
||||
NToggle {
|
||||
label: I18n.tr("settings.user-interface.shadows.label")
|
||||
description: I18n.tr("settings.user-interface.shadows.description")
|
||||
@@ -149,35 +184,6 @@ ColumnLayout {
|
||||
}
|
||||
}
|
||||
|
||||
// Panel Background Opacity
|
||||
ColumnLayout {
|
||||
spacing: Style.marginXXS
|
||||
Layout.fillWidth: true
|
||||
|
||||
NLabel {
|
||||
label: I18n.tr("settings.user-interface.panel-background-opacity.label")
|
||||
description: I18n.tr("settings.user-interface.panel-background-opacity.description")
|
||||
}
|
||||
|
||||
NValueSlider {
|
||||
Layout.fillWidth: true
|
||||
from: 0
|
||||
to: 1
|
||||
stepSize: 0.01
|
||||
value: Settings.data.ui.panelBackgroundOpacity
|
||||
onMoved: value => Settings.data.ui.panelBackgroundOpacity = value
|
||||
text: Math.floor(Settings.data.ui.panelBackgroundOpacity * 100) + "%"
|
||||
}
|
||||
}
|
||||
|
||||
NToggle {
|
||||
visible: (Quickshell.screens.length > 1)
|
||||
label: I18n.tr("settings.user-interface.allow-panels-without-bar.label")
|
||||
description: I18n.tr("settings.user-interface.allow-panels-without-bar.description")
|
||||
checked: Settings.data.general.allowPanelsOnScreenWithoutBar
|
||||
onToggled: checked => Settings.data.general.allowPanelsOnScreenWithoutBar = checked
|
||||
}
|
||||
|
||||
NDivider {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Style.marginL
|
||||
|
||||
@@ -430,27 +430,6 @@ ColumnLayout {
|
||||
Layout.bottomMargin: Style.marginS
|
||||
}
|
||||
|
||||
// Bar Background Opacity
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: Style.marginM
|
||||
NLabel {
|
||||
label: I18n.tr("settings.bar.appearance.background-opacity.label")
|
||||
description: I18n.tr("settings.bar.appearance.background-opacity.description")
|
||||
}
|
||||
NValueSlider {
|
||||
Layout.fillWidth: true
|
||||
from: 0
|
||||
to: 1
|
||||
stepSize: 0.01
|
||||
value: Settings.data.bar.backgroundOpacity
|
||||
onMoved: function (value) {
|
||||
Settings.data.bar.backgroundOpacity = value;
|
||||
}
|
||||
text: Math.floor(Settings.data.bar.backgroundOpacity * 100) + "%"
|
||||
}
|
||||
}
|
||||
|
||||
// Divider
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
|
||||
@@ -14,6 +14,7 @@ Singleton {
|
||||
property bool isNiri: false
|
||||
property bool isSway: false
|
||||
property bool isMango: false
|
||||
property bool isLabwc: false
|
||||
|
||||
// Generic workspace and window data
|
||||
property ListModel workspaces: ListModel {}
|
||||
@@ -57,6 +58,7 @@ Singleton {
|
||||
const niriSocket = Quickshell.env("NIRI_SOCKET");
|
||||
const swaySock = Quickshell.env("SWAYSOCK");
|
||||
const currentDesktop = Quickshell.env("XDG_CURRENT_DESKTOP");
|
||||
const labwcPid = Quickshell.env("LABWC_PID");
|
||||
|
||||
// Check for MangoWC using XDG_CURRENT_DESKTOP environment variable
|
||||
// MangoWC sets XDG_CURRENT_DESKTOP=mango
|
||||
@@ -65,24 +67,36 @@ Singleton {
|
||||
isNiri = false;
|
||||
isSway = false;
|
||||
isMango = true;
|
||||
isLabwc = false;
|
||||
backendLoader.sourceComponent = mangoComponent;
|
||||
} else if (labwcPid && labwcPid.length > 0) {
|
||||
isHyprland = false;
|
||||
isNiri = false;
|
||||
isSway = false;
|
||||
isMango = false;
|
||||
isLabwc = true;
|
||||
backendLoader.sourceComponent = labwcComponent;
|
||||
Logger.i("CompositorService", "Detected LabWC with PID: " + labwcPid);
|
||||
} else if (niriSocket && niriSocket.length > 0) {
|
||||
isHyprland = false;
|
||||
isNiri = true;
|
||||
isSway = false;
|
||||
isMango = false;
|
||||
isLabwc = false;
|
||||
backendLoader.sourceComponent = niriComponent;
|
||||
} else if (hyprlandSignature && hyprlandSignature.length > 0) {
|
||||
isHyprland = true;
|
||||
isNiri = false;
|
||||
isSway = false;
|
||||
isMango = false;
|
||||
isLabwc = false;
|
||||
backendLoader.sourceComponent = hyprlandComponent;
|
||||
} else if (swaySock && swaySock.length > 0) {
|
||||
isHyprland = false;
|
||||
isNiri = false;
|
||||
isSway = true;
|
||||
isMango = false;
|
||||
isLabwc = false;
|
||||
backendLoader.sourceComponent = swayComponent;
|
||||
} else {
|
||||
// Always fallback to Niri
|
||||
@@ -90,6 +104,7 @@ Singleton {
|
||||
isNiri = true;
|
||||
isSway = false;
|
||||
isMango = false;
|
||||
isLabwc = false;
|
||||
backendLoader.sourceComponent = niriComponent;
|
||||
}
|
||||
}
|
||||
@@ -155,6 +170,14 @@ Singleton {
|
||||
}
|
||||
}
|
||||
|
||||
// Labwc backend component
|
||||
Component {
|
||||
id: labwcComponent
|
||||
LabwcService {
|
||||
id: labwcBackend
|
||||
}
|
||||
}
|
||||
|
||||
function setupBackendConnections() {
|
||||
if (!backend)
|
||||
return;
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import Quickshell.Io
|
||||
import Quickshell.Wayland
|
||||
import qs.Commons
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property ListModel workspaces: ListModel {}
|
||||
property var windows: []
|
||||
property int focusedWindowIndex: -1
|
||||
property var trackedToplevels: ({})
|
||||
|
||||
signal workspaceChanged
|
||||
signal activeWindowChanged
|
||||
signal windowListChanged
|
||||
signal displayScalesChanged
|
||||
|
||||
function initialize() {
|
||||
updateWindows();
|
||||
Logger.i("LabwcService", "Service started");
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: ToplevelManager.toplevels
|
||||
function onValuesChanged() {
|
||||
updateWindows();
|
||||
}
|
||||
}
|
||||
|
||||
function connectToToplevel(toplevel) {
|
||||
if (!toplevel || !toplevel.address)
|
||||
return;
|
||||
|
||||
toplevel.activatedChanged.connect(() => {
|
||||
Qt.callLater(onToplevelActivationChanged);
|
||||
});
|
||||
|
||||
toplevel.titleChanged.connect(() => {
|
||||
Qt.callLater(updateWindows);
|
||||
});
|
||||
}
|
||||
|
||||
function onToplevelActivationChanged() {
|
||||
updateWindows();
|
||||
activeWindowChanged();
|
||||
}
|
||||
|
||||
function updateWindows() {
|
||||
const newWindows = [];
|
||||
const toplevels = ToplevelManager.toplevels?.values || [];
|
||||
const newTracked = {};
|
||||
|
||||
let focusedIdx = -1;
|
||||
let idx = 0;
|
||||
|
||||
for (const toplevel of toplevels) {
|
||||
if (!toplevel)
|
||||
continue;
|
||||
|
||||
const addr = toplevel.address || "";
|
||||
if (addr && !trackedToplevels[addr]) {
|
||||
connectToToplevel(toplevel);
|
||||
}
|
||||
if (addr) {
|
||||
newTracked[addr] = true;
|
||||
}
|
||||
|
||||
newWindows.push({
|
||||
"id": addr,
|
||||
"appId": toplevel.appId || "",
|
||||
"title": toplevel.title || "",
|
||||
"workspaceId": 1,
|
||||
"isFocused": toplevel.activated || false,
|
||||
"toplevel": toplevel
|
||||
});
|
||||
|
||||
if (toplevel.activated) {
|
||||
focusedIdx = idx;
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
|
||||
trackedToplevels = newTracked;
|
||||
windows = newWindows;
|
||||
focusedWindowIndex = focusedIdx;
|
||||
|
||||
windowListChanged();
|
||||
}
|
||||
|
||||
function focusWindow(window) {
|
||||
if (window.toplevel && typeof window.toplevel.activate === "function") {
|
||||
window.toplevel.activate();
|
||||
}
|
||||
}
|
||||
|
||||
function closeWindow(window) {
|
||||
if (window.toplevel && typeof window.toplevel.close === "function") {
|
||||
window.toplevel.close();
|
||||
}
|
||||
}
|
||||
|
||||
function switchToWorkspace(workspace) {
|
||||
Logger.w("LabwcService", "Workspace switching not supported via ToplevelManager");
|
||||
}
|
||||
|
||||
function logout() {
|
||||
Logger.w("LabwcService", "Logout not directly supported");
|
||||
}
|
||||
|
||||
function queryDisplayScales() {
|
||||
Logger.w("LabwcService", "Display scale queries not supported via ToplevelManager");
|
||||
}
|
||||
}
|
||||
@@ -31,6 +31,7 @@ Singleton {
|
||||
property bool cavaAvailable: false
|
||||
property bool yaziAvailable: false
|
||||
property bool emacsAvailable: false
|
||||
property bool zedAvailable: false
|
||||
property bool niriAvailable: false
|
||||
|
||||
// Discord client auto-detection
|
||||
@@ -190,6 +191,7 @@ Singleton {
|
||||
"telegramAvailable": ["sh", "-c", "command -v telegram-desktop >/dev/null 2>&1 || command -v Telegram >/dev/null 2>&1 || (command -v flatpak >/dev/null 2>&1 && flatpak list --app | grep -q 'org.telegram.desktop')"],
|
||||
"cavaAvailable": ["which", "cava"],
|
||||
"yaziAvailable": ["which", "yazi"],
|
||||
"zedAvailable": ["which", "zeditor"],
|
||||
"emacsAvailable": ["sh", "-c", "test -d \"$HOME/.config/doom\" || test -d \"$HOME/.emacs.d\""],
|
||||
"niriAvailable": ["which", "niri"]
|
||||
})
|
||||
|
||||
@@ -50,7 +50,8 @@ Singleton {
|
||||
|
||||
// GPU temperature detection
|
||||
// On dual-GPU systems, we prioritize discrete GPUs over integrated GPUs
|
||||
// Priority: NVIDIA > AMD dGPU > Intel Arc > AMD iGPU
|
||||
// Priority: NVIDIA (opt-in) > AMD dGPU > Intel Arc > AMD iGPU
|
||||
// Note: NVIDIA requires opt-in because nvidia-smi wakes the dGPU on laptops, draining battery
|
||||
readonly property var supportedTempGpuSensorNames: ["amdgpu", "xe"]
|
||||
property string gpuTempHwmonPath: ""
|
||||
property var foundGpuSensors: [] // [{hwmonPath, type, hasDedicatedVram}]
|
||||
@@ -67,6 +68,29 @@ Singleton {
|
||||
gpuTempNameReader.checkNext();
|
||||
}
|
||||
|
||||
// Re-run GPU detection when NVIDIA opt-in setting changes
|
||||
Connections {
|
||||
target: Settings.data.systemMonitor
|
||||
function onEnableNvidiaGpuChanged() {
|
||||
Logger.i("SystemStat", "NVIDIA opt-in setting changed, re-detecting GPUs");
|
||||
restartGpuDetection();
|
||||
}
|
||||
}
|
||||
|
||||
function restartGpuDetection() {
|
||||
// Reset GPU state
|
||||
root.gpuAvailable = false;
|
||||
root.gpuType = "";
|
||||
root.gpuTempHwmonPath = "";
|
||||
root.gpuTemp = 0;
|
||||
root.foundGpuSensors = [];
|
||||
root.gpuVramCheckIndex = 0;
|
||||
|
||||
// Restart GPU detection
|
||||
gpuTempNameReader.currentIndex = 0;
|
||||
gpuTempNameReader.checkNext();
|
||||
}
|
||||
|
||||
// --------------------------------------------
|
||||
// Timer for CPU usage
|
||||
Timer {
|
||||
@@ -295,9 +319,17 @@ Singleton {
|
||||
|
||||
function checkNext() {
|
||||
if (currentIndex >= 16) {
|
||||
// Finished scanning all hwmon entries, now check for NVIDIA
|
||||
Logger.d("SystemStat", `Found ${root.foundGpuSensors.length} sysfs GPU sensor(s), checking for nvidia-smi`);
|
||||
nvidiaSmiCheck.running = true;
|
||||
// Finished scanning all hwmon entries
|
||||
// Only check nvidia-smi if user has explicitly enabled NVIDIA monitoring (opt-in)
|
||||
// because nvidia-smi wakes up the dGPU on laptops, draining battery
|
||||
if (Settings.data.systemMonitor.enableNvidiaGpu) {
|
||||
Logger.d("SystemStat", `Found ${root.foundGpuSensors.length} sysfs GPU sensor(s), checking nvidia-smi (opt-in enabled)`);
|
||||
nvidiaSmiCheck.running = true;
|
||||
} else {
|
||||
Logger.d("SystemStat", `Found ${root.foundGpuSensors.length} sysfs GPU sensor(s), skipping nvidia-smi (opt-in disabled)`);
|
||||
root.gpuVramCheckIndex = 0;
|
||||
checkNextGpuVram();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -202,6 +202,17 @@ Singleton {
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "zed",
|
||||
"name": "Zeditor",
|
||||
"category": "applications",
|
||||
"input": "zed.json",
|
||||
"outputs": [
|
||||
{
|
||||
"path": "~/.config/zed/themes/noctalia.json"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "spicetify",
|
||||
"name": "Spicetify",
|
||||
|
||||
@@ -215,7 +215,8 @@ Singleton {
|
||||
"blacklist": [],
|
||||
"colorizeIcons": false,
|
||||
"pinned": [],
|
||||
"drawerEnabled": true
|
||||
"drawerEnabled": true,
|
||||
"hidePassive": false
|
||||
},
|
||||
"VPN": {
|
||||
"allowUserSettings": true,
|
||||
|
||||
@@ -29,7 +29,6 @@ Item {
|
||||
return false;
|
||||
return gridView.contentHeight > gridView.height;
|
||||
}
|
||||
readonly property real scrollBarWidth: verticalScrollBarActive ? handleWidth : 0
|
||||
|
||||
// Forward GridView properties
|
||||
property alias model: gridView.model
|
||||
|
||||
@@ -19,9 +19,6 @@ Item {
|
||||
return false;
|
||||
return listView.contentHeight > listView.height;
|
||||
}
|
||||
readonly property real scrollBarWidth: verticalScrollBarActive ? handleWidth : 0
|
||||
readonly property real scrollBarSpacing: verticalScrollBarActive ? 4 : 0
|
||||
readonly property real scrollBarTotalWidth: verticalScrollBarActive ? (handleWidth + 4) : 0
|
||||
|
||||
// Forward ListView properties
|
||||
property alias model: listView.model
|
||||
@@ -115,13 +112,12 @@ Item {
|
||||
id: listView
|
||||
anchors.fill: parent
|
||||
|
||||
anchors.rightMargin: root.verticalScrollBarActive ? root.handleWidth + 4 : 0
|
||||
clip: true
|
||||
boundsBehavior: Flickable.StopAtBounds
|
||||
|
||||
ScrollBar.vertical: ScrollBar {
|
||||
parent: root // Position relative to root Item, not listView
|
||||
x: listView.mirrored ? 0 : root.width - width
|
||||
parent: listView
|
||||
x: listView.mirrored ? 0 : listView.width - width
|
||||
y: 0
|
||||
height: listView.height
|
||||
policy: root.verticalPolicy
|
||||
|
||||
@@ -202,7 +202,7 @@ RowLayout {
|
||||
id: defaultDelegate
|
||||
ItemDelegate {
|
||||
id: delegateRoot
|
||||
width: listView.width - listView.scrollBarTotalWidth
|
||||
width: listView.width
|
||||
leftPadding: Style.marginM
|
||||
rightPadding: Style.marginM
|
||||
topPadding: Style.marginS
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
nixpkgs,
|
||||
...
|
||||
}: let
|
||||
eachSystem = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
|
||||
eachSystem = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.linux;
|
||||
pkgsFor = eachSystem (system: nixpkgs.legacyPackages.${system}.appendOverlays [self.overlays.default]);
|
||||
in {
|
||||
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
|
||||
|
||||
Reference in New Issue
Block a user