ui/

directory
v0.1.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2026 License: MIT

README

ui

English | 简体中文

Collection of interface modules. Like native/, each subdirectory is a module with a single responsibility.

Module What it does Dependencies
core Foundation: Widget interface, callback, thread rules (Update) None
theme Color, size, font None
locale Frame text, switch between Chinese and English None
base Component behavior, excluding appearance: keyboard navigation, initial jump, multi-select, open state None
el GPUI style: view + chain style element + flexbox core, theme, locale
kit Components: buttons, forms, tables, overlays, application shells, charts base, el, core, theme, locale
window Window: Open, Main, shortcut keys, screenshots core, theme
markdown Markdown rendering, optimized for AI streaming output el, core, theme, locale

See Architecture for module boundaries and dependency graphs. For the minimal form of application, see Quick Start.

internal/ saves frame lock, editing status, text drawing, image loading and interfaceless testing tools, and cannot be directly referenced by external applications.

Directories

Path Synopsis
Package base holds the behavior of Keel's components without their look: keyboard navigation over a list, type-to-find, multi-selection with ranges, and open/closed state.
Package base holds the behavior of Keel's components without their look: keyboard navigation over a list, type-to-find, multi-selection with ranges, and open/closed state.
Package core is the foundation every UI module builds on: what a Widget is, how a component runs a user callback, and how other goroutines change the UI.
Package core is the foundation every UI module builds on: what a Widget is, how a component runs a user callback, and how other goroutines change the UI.
Package highlight colors source code in CodeEditor, TextView and Markdown code blocks.
Package highlight colors source code in CodeEditor, TextView and Markdown code blocks.
internal
editorstyle
Package editorstyle supplies the shared input appearance for widget and el.
Package editorstyle supplies the shared input appearance for widget and el.
imageload
Package imageload loads images off the UI thread and draws them with a placeholder until they arrive.
Package imageload loads images off the UI thread and draws them with a placeholder until they arrive.
inputcontent
Package inputcontent keeps editable text and atomic references together.
Package inputcontent keeps editable text and atomic references together.
loop
Package loop owns the state shared by every window: one lock that serializes rendering and callbacks, a queue of updates from other goroutines, and the windows to redraw.
Package loop owns the state shared by every window: one lock that serializes rendering and callbacks, a queue of updates from other goroutines, and the windows to redraw.
uitest
Package uitest drives UI code without a window: it lays it out through a real Gio input router, so tests click and type as the platform would.
Package uitest drives UI code without a window: it lays it out through a real Gio input router, so tests click and type as the platform would.
Package kit provides components built on ui/el.
Package kit provides components built on ui/el.
Package locale holds the text Keel itself shows or reports to agents: button captions such as 确定 and 复制, accessible names such as 关闭, placeholders and counts.
Package locale holds the text Keel itself shows or reports to agents: button captions such as 确定 and 复制, accessible names such as 关闭, placeholders and counts.
Package markdown renders Markdown as ui/el elements, built for AI chat: text that streams in a few characters at a time.
Package markdown renders Markdown as ui/el elements, built for AI chat: text that streams in a few characters at a time.
Package netimage lets Keel load images from http and https URLs.
Package netimage lets Keel load images from http and https URLs.
Package plot provides scales, data layouts and immediate-mode chart drawing.
Package plot provides scales, data layouts and immediate-mode chart drawing.
Package theme holds the colors, text sizes and fonts every UI module reads.
Package theme holds the colors, text sizes and fonts every UI module reads.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL