A modern and highly configurable leader-key driven command overlay for Windows.
Glyph is a small productivity layer for Windows: press the Glyph key to open an overlay, then type short sequences to trigger actions.
It’s designed to be:
- Discoverable: the overlay shows available next keys.
- Fast: short, mnemonic sequences (leader-key style).
- Context-aware: global bindings + per-application layers.
- Customizable: edit keymaps in the GUI (YAML optional for power users) and switch JSON themes live.
- Leader-key overlay with label breadcrumbs (e.g.,
Glyph > Text > Copy). - Key sequences with nested layers (tree of bindings).
- Per-app bindings via
apps:and shared app groups viagroups:. - Actions:
action: built-in action idsend: send a key chord (e.g.Ctrl+Shift+T)type: type textexec: launch a program (execArgs,execCwdsupported)steps: chain multiple actions together
- Named key tokens as single steps (Tab, Enter, Esc, Space, arrows, function keys, Win, Ctrl/Shift/Alt, left/right variants).
- Themes: JSON-based themes in
%APPDATA%\Glyph\themes\with live selection from the Settings UI. - Self-contained releases for Windows (no separate .NET install required).
winget install HasNate618.GlyphThen run Glyph from the terminal using glyph if you installed via winget (requires admin).
Otherwise run Glyph.App.exe from the terminal or launch it from the Start menu.
- Download a release zip (self-contained) from GitHub Releases.
- Unzip anywhere.
- Run
Glyph.App.exe.
- Glyph runs with a tray icon. Double-click opens the GUI; right-click shows actions (Open GUI, open config/log folders, reload theme, About, Exit).
- The Settings GUI lets you change the theme, redefine the glyph key (default: F12), and open the Keymap Editor to manage bindings visually. Settings are stored in
%APPDATA%\Glyph\config.json.
- Settings:
%APPDATA%\Glyph\config.json - Keymaps (managed by the Keymap Editor):
%APPDATA%\Glyph\keymaps.yaml - Themes directory:
%APPDATA%\Glyph\themes\(*.json) - Theme selection: stored in
%APPDATA%\Glyph\config.json(fieldBaseTheme)
On first run, a default %APPDATA%\Glyph\keymaps.yaml is created. While developing from source, the template comes from src/Glyph.App/Config/default_keymaps.yaml.
- Built-in themes are embedded in the app and extracted to
%APPDATA%\Glyph\themes\on first run. - To add your own theme: drop a
*.jsonfile into%APPDATA%\Glyph\themes\and select it in the Settings GUI (selection is saved to%APPDATA%\Glyph\config.json). - For quick switching from keymaps, you can bind the action id
setTheme:<ThemeId>.
Open Settings → Keymaps → Open Keymap Editor to create and edit bindings visually. The editor writes to %APPDATA%\Glyph\keymaps.yaml for you, so you can focus on the structure instead of the file format.
In the editor you can:
- Add new key sequences and nested layers.
- Assign actions like
action,type,send,exec, or multi-stepsteps. - Define per-application bindings and shared groups (for browsers, terminals, etc.).
- Use named key tokens (Win, Enter, arrows, function keys) as single steps.
- Reload keymaps at runtime (default binding: glyph →
,→r).
- Named key tokens (Win, Enter, arrows, function keys) appear as single keycaps in the overlay.
- Per-app bindings apply when a matching process is focused; shared groups let you reuse bindings across related apps.
- For a practical test map, see: src/Glyph.App/Config/example_keymaps_tokens.yaml
- Start here: docs/README.md
- Contribution guidelines: CONTRIBUTING.md
- Original vision/notes: plan.md
- CI builds self-contained zips for Windows x64 and Windows arm64.
- Local publish helper:
scripts/publish.ps1. - Release notes/instructions: docs/release.md
dotnet build Glyph.sln -c Debug
dotnet run --project src/Glyph.App/Glyph.App.csproj -c DebugMIT. See LICENSE.