Merge branch 'main' into system_monitor_high_pressure_highlight

This commit is contained in:
Lemmy
2025-11-14 14:03:56 -05:00
committed by GitHub
32 changed files with 1422 additions and 213 deletions
@@ -259,11 +259,6 @@ SmartPanel {
"label": "settings.screen-recorder.title",
"icon": "settings-screen-recorder",
"source": screenRecorderTab
}, {
"id": SettingsPanel.Tab.SessionMenu,
"label": "settings.session-menu.title",
"icon": "settings-session-menu",
"source": sessionMenuTab
}, {
"id": SettingsPanel.Tab.SystemMonitor,
"label": "settings.system-monitor.title",
+43 -10
View File
@@ -677,6 +677,8 @@ ColumnLayout {
enabled: ProgramCheckerService.availableDiscordClients.length > 0
opacity: ProgramCheckerService.availableDiscordClients.length > 0 ? 1.0 : 0.6
onToggled: checked => {
// Set unified discord property
Settings.data.templates.discord = checked
// Enable/disable all detected Discord clients
for (var i = 0; i < ProgramCheckerService.availableDiscordClients.length; i++) {
var client = ProgramCheckerService.availableDiscordClients[i]
@@ -740,19 +742,50 @@ ColumnLayout {
}
}
// Code clients - single toggle with dynamic description
NCheckbox {
id: codeToggle
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
description: {
if (ProgramCheckerService.availableCodeClients.length === 0) {
return I18n.tr("settings.color-scheme.templates.programs.code.description-missing")
} else {
// Show detected clients
var clientInfo = []
for (var i = 0; i < ProgramCheckerService.availableCodeClients.length; i++) {
var client = ProgramCheckerService.availableCodeClients[i]
// Capitalize first letter and format nicely
var clientName = client.name === "code" ? "VSCode" : "VSCodium"
clientInfo.push(clientName)
}
return "Detected: " + clientInfo.join(", ")
}
}
Layout.fillWidth: true
Layout.preferredWidth: -1
checked: {
// Check if any Code client template is enabled
var anyEnabled = false
for (var i = 0; i < ProgramCheckerService.availableCodeClients.length; i++) {
var client = ProgramCheckerService.availableCodeClients[i]
if (Settings.data.templates["code_" + client.name]) {
anyEnabled = true
break
}
}
return anyEnabled
}
enabled: ProgramCheckerService.availableCodeClients.length > 0
opacity: ProgramCheckerService.availableCodeClients.length > 0 ? 1.0 : 0.6
onToggled: checked => {
if (ProgramCheckerService.codeAvailable) {
Settings.data.templates.code = checked
// Set unified code property
Settings.data.templates.code = checked
// Enable/disable all detected Code clients
for (var i = 0; i < ProgramCheckerService.availableCodeClients.length; i++) {
var client = ProgramCheckerService.availableCodeClients[i]
Settings.data.templates["code_" + client.name] = checked
}
if (ProgramCheckerService.availableCodeClients.length > 0) {
AppThemeService.generate()
}
}
+1 -1
View File
@@ -33,7 +33,7 @@ ColumnLayout {
NTextInputButton {
label: I18n.tr("settings.general.profile.picture.label", {
"user": Quickshell.env("USER" || "User")
"user": HostService.displayName
})
description: I18n.tr("settings.general.profile.picture.description")
text: Settings.data.general.avatarImage