hyprland/module: restore missing modules in info listing

parent 6a86d9d1
......@@ -405,6 +405,29 @@ func (m *HyprlandManager) GetModulesList(filter string) []HyprModule {
for _, name := range m.UserModules {
if !seen[name] {
allModules = append(allModules, name)
seen[name] = true
}
}
// Модули из source-строк конфига (файл удалён, но строка осталась)
userPrefix := "~" + strings.TrimPrefix(m.GetModuleDir(true), m.Home) + "/"
sysPrefix := m.GetModuleDir(false) + "/"
for _, src := range m.Sources {
var name string
switch {
case strings.HasPrefix(src.Path, userPrefix) && strings.HasSuffix(src.Path, ".conf"):
name = strings.TrimSuffix(strings.TrimPrefix(src.Path, userPrefix), ".conf")
case strings.HasPrefix(src.Path, sysPrefix) && strings.HasSuffix(src.Path, ".conf"):
name = strings.TrimSuffix(strings.TrimPrefix(src.Path, sysPrefix), ".conf")
default:
continue
}
if strings.Contains(name, "/") {
continue
}
if !seen[name] {
allModules = append(allModules, name)
seen[name] = true
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment