Matugen: walker (wip)

This commit is contained in:
Ly-sec
2025-10-29 14:49:51 +01:00
parent e91537f93a
commit 4860dc07b2
13 changed files with 250 additions and 4 deletions
+188
View File
@@ -0,0 +1,188 @@
@define-color surface {{colors.surface_variant.default.hex}};
@define-color overlay {{colors.surface.default.hex}};
@define-color text {{colors.on_surface.default.hex}};
@define-color green {{colors.primary.default.hex}};
@define-color yellow {{colors.secondary.default.hex}};
@define-color red {{colors.error.default.hex}};
@define-color blue {{colors.primary.default.hex}};
@define-color outline {{colors.outline.default.hex}};
* {
all: unset;
}
.normal-icons {
-gtk-icon-size: 16px;
}
.large-icons {
-gtk-icon-size: 36px;
}
scrollbar {
opacity: 0;
}
.box-wrapper {
box-shadow:
0 19px 38px rgba(0, 0, 0, 0.3),
0 15px 12px rgba(0, 0, 0, 0.22);
background: @surface;
padding: 12px;
border-radius: 20px;
border: 2px solid @outline;
}
.preview-box,
.elephant-hint,
.placeholder {
color: @text;
}
.box {
background: @overlay;
padding: 20px;
border-radius: 20px;
border: 2px solid @outline;
}
.search-container {
border-radius: 10px;
border: 2px solid @outline;
}
.input placeholder {
opacity: 0.5;
}
.input {
background: @surface;
color: @text;
caret-color: @text;
padding: 10px;
}
.input:focus,
.input:active {
}
.content-container {
}
.placeholder {
}
.scroll {
}
.list {
color: @text;
}
child {
}
.item-box {
border-radius: 10px;
padding: 10px;
}
.item-quick-activation {
background: @blue;
border-radius: 10px;
padding: 10px;
color: @surface;
}
child:hover .item-box,
child:selected .item-box {
background: alpha(@blue, 0.4);
}
.item-text-box {
}
.item-subtext {
font-size: 12px;
opacity: 0.5;
}
.providerlist .item-subtext {
font-size: unset;
opacity: 0.75;
}
.item-image-text {
font-size: 28px;
}
.preview {
border-top: 1px solid @blue;
padding: 10px;
border-radius: 10px;
color: @text;
}
.calc .item-text {
font-size: 24px;
}
.calc .item-subtext {
}
.symbols .item-image {
font-size: 24px;
}
.todo.done .item-text-box {
opacity: 0.25;
}
.todo.urgent {
font-size: 24px;
}
.todo.active {
font-weight: bold;
}
.bluetooth.disconnected {
opacity: 0.5;
}
.preview .large-icons {
-gtk-icon-size: 64px;
}
.keybinds-wrapper {
border-top: 1px solid @blue;
font-size: 12px;
color: @blue;
}
.keybinds {
}
.keybind {
}
.keybind-bind {
font-weight: bold;
text-transform: lowercase;
}
.keybind-label {
}
.error {
padding: 10px;
background: @red;
color: @surface;
}
:not(.calc).current {
font-style: italic;
}
+4
View File
@@ -593,6 +593,10 @@
"description": "Schreibt {filepath} und lädt neu",
"description-missing": "Erfordert die Installation von {app}"
},
"walker": {
"description": "Schreibt {filepath}",
"description-missing": "Erfordert die Installation von {app}"
},
"discord": {
"description": "Schreibt {filepath} für {client}",
"description-missing": "Kein Discord-Client erkannt. Installieren Sie vencord, vesktop, webcord, armcord, equibop, lightcord oder dorion"
+4
View File
@@ -597,6 +597,10 @@
"description": "Write {filepath} and reload",
"description-missing": "Requires {app} to be installed"
},
"walker": {
"description": "Write {filepath}",
"description-missing": "Requires {app} to be installed"
},
"discord": {
"description": "Write {filepath} for {client}",
"description-missing": "No Discord client detected. Install vencord, vesktop, webcord, armcord, equibop, lightcord, or dorion."
+4
View File
@@ -593,6 +593,10 @@
"description": "Escribir {filepath} y recargar",
"description-missing": "Requiere que {app} esté instalado"
},
"walker": {
"description": "Escribir {filepath}",
"description-missing": "Requiere que {app} esté instalado"
},
"discord": {
"description": "Escribir {filepath} para {client}",
"description-missing": "No se detectó cliente de Discord. Instala vencord, vesktop, webcord, armcord, equibop, lightcord o dorion."
+4
View File
@@ -593,6 +593,10 @@
"description": "Écrire {filepath} et recharger",
"description-missing": "Nécessite que le lanceur {app} soit installé"
},
"walker": {
"description": "Écrire {filepath}",
"description-missing": "Nécessite que le lanceur {app} soit installé"
},
"discord": {
"description": "Écrire {filepath} pour {client}",
"description-missing": "Aucun client Discord détecté. Installez vencord, vesktop, webcord, armcord, equibop, lightcord ou dorion."
+4
View File
@@ -555,6 +555,10 @@
"description": "Escrever {filepath} e recarregar",
"description-missing": "Requer que o {app} esteja instalado"
},
"walker": {
"description": "Escrever {filepath}",
"description-missing": "Requer que o {app} esteja instalado"
},
"discord": {
"description": "Escrever {filepath} para {client}",
"description-missing": "Nenhum cliente Discord detectado. Instale vencord, vesktop, webcord, armcord, equibop, lightcord ou dorion."
+4
View File
@@ -593,6 +593,10 @@
"description": "写入 {filepath} 并重新加载",
"description-missing": "需要安装 {app}"
},
"walker": {
"description": "写入 {filepath}",
"description-missing": "需要安装 {app}"
},
"discord": {
"description": "为 {client} 写入 {filepath}",
"description-missing": "未检测到 Discord 客户端。请安装 vencord、vesktop、webcord、armcord、equibop、lightcord 或 dorion。"
+1
View File
@@ -249,6 +249,7 @@
"discord_dorion": false,
"pywalfox": false,
"vicinae": false,
"walker": false,
"enableUserTemplates": false
},
"nightLight": {
+1
View File
@@ -389,6 +389,7 @@ Singleton {
property bool discord_dorion: false
property bool pywalfox: false
property bool vicinae: false
property bool walker: false
property bool enableUserTemplates: false
}
+21 -4
View File
@@ -669,10 +669,10 @@ ColumnLayout {
NCheckbox {
label: "Vicinae"
description: ProgramCheckerService.vicinaeAvailable ? I18n.tr("settings.color-scheme.templates.programs.vicinae.description", {
"filepath": "~/.local/share/vicinae/themes/matugen.toml"
}) : I18n.tr("settings.color-scheme.templates.programs.vicinae.description-missing", {
"app": "vicinae"
})
"filepath": "~/.local/share/vicinae/themes/matugen.toml"
}) : I18n.tr("settings.color-scheme.templates.programs.vicinae.description-missing", {
"app": "vicinae"
})
checked: Settings.data.templates.vicinae
enabled: ProgramCheckerService.vicinaeAvailable
opacity: ProgramCheckerService.vicinaeAvailable ? 1.0 : 0.6
@@ -683,6 +683,23 @@ ColumnLayout {
}
}
}
// NCheckbox {
// label: "Walker"
// description: ProgramCheckerService.walkerAvailable ? I18n.tr("settings.color-scheme.templates.programs.walker.description", {
// "filepath": "~/.config/walker/style.css"
// }) : I18n.tr("settings.color-scheme.templates.programs.walker.description-missing", {
// "app": "walker"
// })
// checked: Settings.data.templates.walker
// enabled: ProgramCheckerService.walkerAvailable
// opacity: ProgramCheckerService.walkerAvailable ? 1.0 : 0.6
// onToggled: checked => {
// if (ProgramCheckerService.walkerAvailable) {
// Settings.data.templates.walker = checked
// AppThemeService.generate()
// }
// }
// }
}
// Miscellaneous
+6
View File
@@ -109,6 +109,12 @@ Singleton {
"path": "~/.local/share/vicinae/themes/matugen.toml"
}],
"postProcess": () => `cp -n ${Quickshell.shellDir}/Assets/noctalia.svg ~/.local/share/vicinae/themes/noctalia.svg && ${colorsApplyScript} vicinae\n`
},
"walker": {
"input": "walker.css",
"outputs": [{
"path": "~/.config/walker/themes/noctalia/style.css"
}]
}
})
+7
View File
@@ -160,6 +160,13 @@ Singleton {
}],
"input": "vicinae.toml",
"postHook": "cp -n " + Quickshell.shellDir + "/Assets/noctalia.svg ~/.local/share/vicinae/themes/noctalia.svg && " + AppThemeService.colorsApplyScript + " vicinae"
}, {
"name": "walker",
"templates": [{
"version": "walker",
"output": "~/.config/walker/themes/noctalia/style.css"
}],
"input": "walker.css"
}, {
"name": "pywalfox",
"templates": [{
+2
View File
@@ -17,6 +17,7 @@ Singleton {
property bool footAvailable: false
property bool fuzzelAvailable: false
property bool vicinaeAvailable: false
property bool walkerAvailable: false
property bool gpuScreenRecorderAvailable: false
property bool wlsunsetAvailable: false
property bool app2unitAvailable: false
@@ -99,6 +100,7 @@ Singleton {
"footAvailable": ["which", "foot"],
"fuzzelAvailable": ["which", "fuzzel"],
"vicinaeAvailable": ["which", "vicinae"],
"walkerAvailable": ["which", "walker"],
"app2unitAvailable": ["which", "app2unit"],
"gpuScreenRecorderAvailable": ["sh", "-c", "command -v gpu-screen-recorder >/dev/null 2>&1 || (command -v flatpak >/dev/null 2>&1 && flatpak list --app | grep -q 'com.dec05eba.gpu_screen_recorder')"],
"wlsunsetAvailable": ["which", "wlsunset"]