Hi, long-time Kakoune user, first time posting here.
I’ve been working on Kasane, an independent frontend for Kakoune that communicates via kak -ui json. It’s not an official Kakoune project — it depends on Kakoune and does not work without it.
Why I built this
I love Kakoune’s editing model, but I wanted richer UI extensibility. Currently, building UI-level plugins often means relying on tmux, window managers, or shell scripts — which introduces environment dependencies and performance overhead. I wanted a frontend that provides a proper UI foundation for plugins, without losing anything from the standard Kakoune experience.
Drop-in compatible
Your kakrc, keybindings, and plugins (kak-lsp, fzf.kak, etc.) all work as-is. No configuration changes needed.
alias kak=kasane
Rendering runs at ~49 μs per frame at 80×24, so there should be no perceptible overhead.
WASM plugin system
Kasane provides a plugin API where plugins can contribute UI elements, transform existing elements, add line annotations, and create overlays. Plugins are built as WASM components — portable and sandboxed.
Plugins can spawn and communicate with external processes via streaming I/O — the bundled fuzzy finder coordinates fd and fzf this way. This opens the door to linter integration, REPLs, and other tool-driven workflows.
Plugins can also declare their own surfaces (independent screen regions) and manipulate the workspace layout — splitting panes, adding tabs, docking panels, or creating floating windows. The UI foundation is designed so that features like these are built as plugins rather than requiring core changes.
A few bundled plugins ship as examples: cursor line highlight, color preview, selection badge, and fuzzy finder.
GPU backend
An optional GPU backend (wgpu + glyphon) is available with --features gui. Native font rendering, smooth animations — worth a try if you’re curious.

Also enabled by default
- Flicker-free rendering (double-buffered + synchronized updates)
- Correct Unicode width calculation (CJK, emoji)
- System clipboard integration (no xclip/xsel dependency)
- True 24-bit color
Links
- GitHub: GitHub - Yus314/kasane: Drop-in Kakoune frontend with an extensible UI foundation · GitHub
- Getting started ·
- Requires Kakoune 2024.12.09 or later
I’d love any feedback — bug reports, feature requests, ideas for plugins you’d want to build, or even just casual impressions. Issues, PRs, and comments here are all very welcome.
