From 40b103d6d43c73b57bad9c621e7bf36cbeee8f7c Mon Sep 17 00:00:00 2001 From: LuckShiba Date: Sat, 3 Jan 2026 17:20:04 -0300 Subject: [PATCH] doctor: show useful env variables --- core/cmd/dms/commands_doctor.go | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/core/cmd/dms/commands_doctor.go b/core/cmd/dms/commands_doctor.go index fac9b9e9..57d3ef71 100644 --- a/core/cmd/dms/commands_doctor.go +++ b/core/cmd/dms/commands_doctor.go @@ -42,11 +42,12 @@ const ( catOptionalFeatures catConfigFiles catServices + catEnvironment ) var categoryNames = []string{ "System", "Versions", "Installation", "Compositor", - "Quickshell Features", "Optional Features", "Config Files", "Services", + "Quickshell Features", "Optional Features", "Config Files", "Services", "Environment", } type checkResult struct { @@ -71,6 +72,7 @@ func runDoctor(cmd *cobra.Command, args []string) { checkOptionalDependencies(), checkConfigurationFiles(), checkSystemdServices(), + checkEnvironmentVars(), ) printResults(results) @@ -154,6 +156,23 @@ func checkSystemInfo() []checkResult { return results } +func checkEnvironmentVars() []checkResult { + results := []checkResult{} + results = append(results, checkEnvVar("QT_QPA_PLATFORMTHEME")...) + results = append(results, checkEnvVar("QT_ICON_THEME")...) + return results +} + +func checkEnvVar(name string) []checkResult { + value := os.Getenv(name) + if value != "" { + return []checkResult{{catEnvironment, name, "info", value, ""}} + } else if doctorVerbose { + return []checkResult{{catEnvironment, name, "info", "Not set", ""}} + } + return nil +} + func readOSRelease() map[string]string { result := make(map[string]string) data, err := os.ReadFile("/etc/os-release") @@ -631,10 +650,12 @@ func printResultLine(r checkResult, styles tui.Styles) { } name := r.name - if len(name) > 18 { + nameLen := len(name) + if nameLen > 18 { name = name[:17] + "…" + nameLen = 18 } - dots := strings.Repeat("·", 19-len(name)) + dots := strings.Repeat("·", 19-nameLen) fmt.Printf(" %s %s %s %s\n", style.Render(icon), name, styles.Subtle.Render(dots), r.message)