zmax-gui-core is the embeddable webview surface behind zmax-gui, the native desktop wrapper around the zmax CLI editor (a Helix fork). It owns the GUI layer — a MacVim-style menu bar, ⌘-key shortcuts, Open / Save-As / Help dialogs, and drag-and-drop — built entirely from zgui-core widgets and bridged to the editor by writing into the embedded PTY. No native menus or dialogs, no IPC of its own, so the standalone app and every embedding host serve the exact same GUI code. Created by MenkeTechnologies.
Embeddable
A host provides a terminal pane running the zmax PTY, then calls window.ZmaxMenu.mount(shell) to add the menu bar, shortcuts and dialogs, and ZmaxMenu.settingsExtra(panel) to fold the editor toggles into its own settings panel.
All zgui-core
Every control is a zgui-core widget — ZGui.menubar + ZGui.contextMenu for the menu bar, ZGui.modal + ZGui.tree for Open / Save-As, ZGui.fileDrag for drag-and-drop. No hand-rolled chrome.
PTY bridge
Menu actions are translated to editor commands written straight into the PTY (ESC-disambiguated ex-commands and keystrokes), so the GUI drives the unmodified CLI editor with no editor-side coupling.
What it does
menu / shortcut / dialog → bridge writes into the zmax PTY → the editor acts → the terminal renders — the GUI never owns editor state, only feeds it.
The OS-access primitives (list_dir, fullscreen, blur) are thin Tauri commands supplied by the host; everything user-facing is a zgui-core widget. See the engineering report for the action map and the PTY-bridge details.
Quick start (embedding host)
// host has mounted ZGui.appShell and a terminal pane running the zmax PTY window.ZmaxMenu.mount(shell); // menu bar + ⌘-shortcuts + dialogs + drag-drop window.ZmaxMenu.settingsExtra(settingsEl); // editor language picker + toggles into the host's settings
More
See the engineering report for the menu/action map, the PTY-bridge protocol, and the zgui-core widget inventory. Source lives at github.com/MenkeTechnologies/zmax-gui-core; the umbrella stack is MenkeTechnologiesMeta.