zmax-gui-core is the embeddable webview surface behind zmax-gui, the native desktop wrapper around the zmax CLI IDE. 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 IDE 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 IDE 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 IDE commands written straight into the PTY (ESC-disambiguated ex-commands and keystrokes), so the GUI drives the unmodified CLI IDE with no IDE-side coupling.
What it does
menu / shortcut / dialog → bridge writes into the zmax PTY → the IDE acts → the terminal renders — the GUI never owns IDE 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); // IDE 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.