vscode: app theming, courtesy of TUI!

https://github.com/tuibird/
This commit is contained in:
ItsLemmy
2025-10-30 20:06:52 -04:00
parent f42bcef239
commit 129609ec2c
13 changed files with 2061 additions and 3 deletions
File diff suppressed because it is too large Load Diff
+4
View File
@@ -608,6 +608,10 @@
"pywalfox": {
"description": "Schreibt {filepath} und führt pywalfox update aus",
"description-missing": "Erfordert die Installation von {app}"
},
"code": {
"description": "Schreibe {Dateipfad}. Das Hyprluna-Theme muss manuell installiert und aktiviert werden.",
"description-missing": "Benötigt die Installation von {app}"
}
},
"misc": {
+5 -1
View File
@@ -606,12 +606,16 @@
"description-missing": "Requires {app} to be installed"
},
"discord": {
"description": "Write {filepath} for {client}",
"description": "Write {filepath} for {client}. Hyprluna theme needs to be activated manually.",
"description-missing": "No Discord client detected. Install vencord, vesktop, webcord, armcord, equibop, lightcord, or dorion."
},
"pywalfox": {
"description": "Write {filepath} and run pywalfox update",
"description-missing": "Requires {app} to be installed"
},
"code": {
"description": "Write {filepath}. Hyprluna theme needs to be installed and activated manually.",
"description-missing": "Requires {app} to be installed"
}
},
"misc": {
+4
View File
@@ -608,6 +608,10 @@
"pywalfox": {
"description": "Escribir {filepath} y ejecutar pywalfox update",
"description-missing": "Requiere que {app} esté instalado"
},
"code": {
"description": "Escribe {filepath}. El tema Hyprluna debe ser instalado y activado manualmente.",
"description-missing": "Requiere que {app} esté instalado/a."
}
},
"misc": {
+4
View File
@@ -608,6 +608,10 @@
"pywalfox": {
"description": "Écrire ~/.cache/wal/colors.json et exécuter pywalfox update",
"description-missing": "Nécessite que le paquet pywalfox soit installé"
},
"code": {
"description": "Écrire {filepath}. Le thème Hyprluna doit être installé et activé manuellement.",
"description-missing": "Nécessite l'installation de {app}"
}
},
"misc": {
+4
View File
@@ -570,6 +570,10 @@
"pywalfox": {
"description": "Escrever {filepath} e executar pywalfox update",
"description-missing": "Requer que o {app} esteja instalado"
},
"code": {
"description": "Escreva em {filepath}. O tema Hyprluna precisa ser instalado e ativado manualmente.",
"description-missing": "Requer que o {app} esteja instalado."
}
},
"misc": {
+4
View File
@@ -608,6 +608,10 @@
"pywalfox": {
"description": "写入 {filepath} 并运行 pywalfox update",
"description-missing": "需要安装 {app}"
},
"code": {
"description": "写入 {filepath}。Hyprluna 主题需要手动安装和激活。",
"description-missing": "需要安装 {app}"
}
},
"misc": {
-1
View File
@@ -16,7 +16,6 @@ Singleton {
property var translations: ({})
property var fallbackTranslations: ({})
// Signals for reactive updates
signal languageChanged(string newLanguage)
signal translationsLoaded
+1
View File
@@ -393,6 +393,7 @@ Singleton {
property bool pywalfox: false
property bool vicinae: false
property bool walker: false
property bool code: false
property bool enableUserTemplates: false
}
+18
View File
@@ -701,6 +701,24 @@ ColumnLayout {
}
}
}
NCheckbox {
label: "Code"
description: ProgramCheckerService.codeAvailable ? I18n.tr("settings.color-scheme.templates.programs.code.description", {
"filepath": "~/.vscode/extensions/hyprluna.hyprluna-theme-1.0.2/themes/hyprluna.json"
}) : I18n.tr("settings.color-scheme.templates.programs.code.description-missing", {
"app": "code"
})
checked: Settings.data.templates.code
enabled: ProgramCheckerService.codeAvailable
opacity: ProgramCheckerService.codeAvailable ? 1.0 : 0.6
onToggled: checked => {
if (ProgramCheckerService.codeAvailable) {
Settings.data.templates.code = checked
AppThemeService.generate()
}
}
}
}
// Miscellaneous
+6
View File
@@ -117,6 +117,12 @@ Singleton {
}],
"postProcess": () => `${colorsApplyScript} walker\n`,
"strict": true
},
"code": {
"input": "code.json",
"outputs": [{
"path": "~/.vscode/extensions/hyprluna.hyprluna-theme-1.0.2/themes/hyprluna.json"
}]
}
})
+7
View File
@@ -225,6 +225,13 @@ Singleton {
}],
"input": "vesktop.css",
"requiresThemesFolder": true
}, {
"name": "code",
"templates": [{
"version": "code",
"output": "~/.vscode/extensions/hyprluna.hyprluna-theme-1.0.2/themes/hyprluna.json"
}],
"input": "code.json"
}]
// --------------------------------
+3 -1
View File
@@ -21,6 +21,7 @@ Singleton {
property bool gpuScreenRecorderAvailable: false
property bool wlsunsetAvailable: false
property bool app2unitAvailable: false
property bool codeAvailable: false
// Discord client auto-detection
property var availableDiscordClients: []
@@ -103,7 +104,8 @@ Singleton {
"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"]
"wlsunsetAvailable": ["which", "wlsunset"],
"codeAvailable": ["which", "code"]
})
// Internal tracking