Unify config into shell.json and add Noctalia plugin support

This commit is contained in:
Ryan Hughes
2026-05-14 02:21:48 -04:00
parent 5c0f5669c9
commit bcbe12b075
49 changed files with 2178 additions and 350 deletions
@@ -0,0 +1,34 @@
pragma Singleton
import QtQuick
// Noctalia compat shim. Plugins use this for context menus and to reach
// the host's panels. We forward into the omarchy-shell host where there's
// a matching surface, and log a warning for anything we don't ship in v1.
QtObject {
id: root
property var bar: null
property var shell: null
// Plugins call this on right-click with a Menu component. The Noctalia
// implementation parents the menu to the screen's overlay; we simply
// call `open()` on whatever the plugin passes — most plugin context menus
// are plain QtQuick `Menu` items that know how to show themselves.
function showContextMenu(menu, item, screen) {
if (!menu) return
if (typeof menu.popup === "function") menu.popup()
else if (typeof menu.open === "function") menu.open()
}
function closeContextMenu(screen) {
// No-op; the Menu / PopupWindow closes itself on outside click.
}
function openLauncherWithSearch(screen, prefix) {
console.warn("PanelService.openLauncherWithSearch is not supported in the Omarchy compat layer")
}
function getPanel(name, screen) {
return null
}
}