Hide first-party panels/overlays from bar-settings catalog
omarchy.bar-settings and omarchy.image-picker are shell infrastructure — the customizer and image picker themselves. Listing them in 'Other plugins' with move/remove arrows is misleading: removing the panel plugin doesn't disable anything (it's summoned on demand via IPC), and adding them never made sense. Dropped them from shell-defaults.json's plugins[] and from the inline builtinShellConfig fallback. normalizeDraft and availableToAdd now skip manifests with __isFirstParty so existing user shell.json files self-heal on next load.
This commit is contained in:
@@ -71,10 +71,7 @@ Item {
|
||||
]
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
{ id: "omarchy.bar-settings" },
|
||||
{ id: "omarchy.image-picker" }
|
||||
]
|
||||
plugins: []
|
||||
})
|
||||
|
||||
property var defaultConfig: builtinShellConfig
|
||||
@@ -171,7 +168,15 @@ Item {
|
||||
},
|
||||
plugins: plugins
|
||||
.map(normalizeLayoutEntry)
|
||||
.filter(function(e) { return !!e })
|
||||
.filter(function(e) {
|
||||
if (!e) return false
|
||||
// Drop first-party panel/overlay/menu plugins from the user's
|
||||
// plugins[] — they're shell infrastructure, summon-on-demand,
|
||||
// and don't belong in user-editable lists.
|
||||
var manifest = root.pluginRegistry ? root.pluginRegistry.installedPlugins[e.id] : null
|
||||
if (manifest && manifest.__isFirstParty) return false
|
||||
return true
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -418,11 +423,12 @@ Item {
|
||||
elsewhere: allowsMultiple && !!existingInBar[id] && !existsHere,
|
||||
isNoctalia: widgetIsNoctaliaPlugin(id) })
|
||||
} else {
|
||||
// Plugins section: accept anything that has a manifest in the
|
||||
// registry (plugins[] holds non-bar plugins — panel/overlay/menu/
|
||||
// service — keyed by manifest id).
|
||||
var hasManifest = !!(root.pluginRegistry && root.pluginRegistry.installedPlugins[id])
|
||||
if (!hasManifest) continue
|
||||
// Plugins section: accept third-party plugins with any non-bar kind.
|
||||
// First-party panels/overlays (bar-settings, image-picker) are
|
||||
// shell infrastructure and don't belong in user-editable lists.
|
||||
var manifest = root.pluginRegistry ? root.pluginRegistry.installedPlugins[id] : null
|
||||
if (!manifest) continue
|
||||
if (manifest.__isFirstParty) continue
|
||||
if (existingInPlugins[id]) continue
|
||||
result.push({ id: id, name: widgetName(id), description: widgetDescription(id), elsewhere: false,
|
||||
isNoctalia: widgetIsNoctaliaPlugin(id) })
|
||||
|
||||
Reference in New Issue
Block a user