NAME
zmenu - Fast native fuzzy menu for macOS, written in Zig directly against AppKit
SYNOPSIS
2023 - 2026; Zig, AppKit, Objective-C runtime, Unix sockets, Swift
github | product page
DESCRIPTION
dmenu-style fuzzy menu that drives AppKit from Zig through the Objective-C runtime. Items arrive on stdin or live over a versioned, length-prefixed JSON IPC socket via zmenuctl, are filtered with fuzzy matching and a Levenshtein fallback, and the selection prints to stdout. Startup latency is measured with benchmarks that send real keyboard events, and it serves as the UI for ComboSwitcher. Started in 2023 as GMenu, a Go version, and rewritten in Zig in 2026.
HIGHLIGHTS
- Pure-Zig AppKit app with hand-written Objective-C runtime bridging for views, table rows, and activation policy
- Cut median foreground handoff from 114.6 ms to 67.3 ms; launches that dropped keystrokes went from 10 of 10 to 0 of 10
- Versioned IPC protocol with length-prefixed JSON frames and forward-compatible unknown fields
- Repeatable visual regression, spawn, render, and startup benchmarks
MEDIA
SEE ALSO
* projects(7), all projects
* ari(7), the resume
* PDF Resume: Download Resume