mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-28 23:42:51 -05:00
doctor: use network backend detector
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
|||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/config"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/config"
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/distros"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/distros"
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/brightness"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/brightness"
|
||||||
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/network"
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/tui"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/tui"
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/utils"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/utils"
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/version"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/version"
|
||||||
@@ -582,6 +583,29 @@ func checkI2CAvailability() checkResult {
|
|||||||
return checkResult{catOptionalFeatures, "I2C/DDC", statusOK, fmt.Sprintf("%d monitor(s) detected", len(devices)), "External monitor brightness control"}
|
return checkResult{catOptionalFeatures, "I2C/DDC", statusOK, fmt.Sprintf("%d monitor(s) detected", len(devices)), "External monitor brightness control"}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func detectNetworkBackend() string {
|
||||||
|
result, err := network.DetectNetworkStack()
|
||||||
|
if err != nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
switch result.Backend {
|
||||||
|
case network.BackendNetworkManager:
|
||||||
|
return "NetworkManager"
|
||||||
|
case network.BackendIwd:
|
||||||
|
return "iwd"
|
||||||
|
case network.BackendNetworkd:
|
||||||
|
if result.HasIwd {
|
||||||
|
return "iwd + systemd-networkd"
|
||||||
|
}
|
||||||
|
return "systemd-networkd"
|
||||||
|
case network.BackendConnMan:
|
||||||
|
return "ConnMan"
|
||||||
|
default:
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func checkOptionalDependencies() []checkResult {
|
func checkOptionalDependencies() []checkResult {
|
||||||
var results []checkResult
|
var results []checkResult
|
||||||
|
|
||||||
@@ -631,13 +655,24 @@ func checkOptionalDependencies() []checkResult {
|
|||||||
|
|
||||||
if found {
|
if found {
|
||||||
message := "Installed"
|
message := "Installed"
|
||||||
switch foundCmd {
|
details := d.desc
|
||||||
case "nmcli":
|
if d.name == "Network" {
|
||||||
message = "NetworkManager"
|
result, err := network.DetectNetworkStack()
|
||||||
case "iwctl":
|
if err == nil && result.Backend != network.BackendNone {
|
||||||
message = "iwd"
|
message = detectNetworkBackend() + " (active)"
|
||||||
|
if doctorVerbose {
|
||||||
|
details = result.ChosenReason
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch foundCmd {
|
||||||
|
case "nmcli":
|
||||||
|
message = "NetworkManager (installed)"
|
||||||
|
case "iwctl":
|
||||||
|
message = "iwd (installed)"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
results = append(results, checkResult{catOptionalFeatures, d.name, statusOK, message, d.desc})
|
results = append(results, checkResult{catOptionalFeatures, d.name, statusOK, message, details})
|
||||||
} else if d.important {
|
} else if d.important {
|
||||||
results = append(results, checkResult{catOptionalFeatures, d.name, statusWarn, "Missing", d.desc})
|
results = append(results, checkResult{catOptionalFeatures, d.name, statusWarn, "Missing", d.desc})
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user