Explorer Shell Integration
Purpose
Expose DevCentr create/open flows from the OS file manager. On Windows 11, prefer the compact modern menu via IExplorerCommand and a sparse package. Fall back to a classic HKCU cascading menu when modern registration is unavailable (older OS, missing DLL, unsigned package). On Linux, emit DES-EMA files plus adapters for Dolphin, Nemo, Thunar, and Nautilus.
Menu shape
DevCentr
├─ New File…
├─ New Project…
├─ New Installer Project…
├─ New Installer CI pipeline…
├─ Install in-place (add to PATH)
└─ Open folder in DevCentr
Installer actions require easy-installer on PATH (https://github.com/dev-centr/easy-installer).
CI pipeline mode scaffolds ci-runner.sdl and emits workflows only (no local package build).
Windows — modern (preferred)
-
Mechanism: COM DLL implementing
IExplorerCommand(app/shell/explorer_command/) registered withwindows.fileExplorerContextMenusin a sparseAppxManifest.xml. -
Item types:
DirectoryandDirectory\Background. -
Identity: package name
DevCentr.ShellExtension, publisherCN=DevCentr Local. -
Build:
pwsh app/shell/explorer_command/build.ps1(MSVC). Seeapp/shell/README.adoc. -
Installer: tries modern first when OS build ≥ 22000 and the host DLL is present.
Windows — classic (fallback)
-
Scope: Current user (
HKCU\Software\Classes\Directory\shell\DevCentrandDirectory\Background\shell\DevCentr). -
Mechanism: Empty
SubCommands+ nestedshell\…\commandkeys (cascading menu; under Show more options on Windows 11).
Linux
Canonical actions live in modules.shell_integration.actions. Install writes:
-
DES-EMA —
~/.local/share/file-manager/actions/devcentr-.desktop(shared lookup path; consumers rare today — see HCI Nerdz *File manager actions) -
Dolphin — service menus under
kio/servicemenusandkservices6/ServiceMenus -
Nemo —
~/.local/share/nemo/actions/*.nemo_action -
Thunar — marked block in
~/.config/Thunar/uca.xml -
Nautilus — scripts under
nautilus/scripts/DevCentr/
Commands
All backends invoke the DevCentr executable:
-
--mode=new-file --path=… -
--mode=new-project --path=… -
--mode=new-installer --path=… -
--mode=emit-ci --path=… -
--mode=inplace-path --path=… -
--mode=open --path=…
Installer API
-
Module:
modules.shell_integration.explorer_menu -
installExplorerMenu/uninstallExplorerMenu/explorerMenuBackend/explorerMenuStatusText -
UI: Appearance → File manager menu → Install / Remove
Related
-
Content Create — New File dialog, ecosystem filters, CLI modes
-
HCI Nerdz — File manager actions (DES-EMA revival)