Blog GitHub

Cross-platform
Immediate Mode
GUI framework for Go

Interactive demos

Balls & Buckets

Drag-and-drop balls into lettered buckets.

Kanban

Drag cards between lanes.

Theme

Themed controls and scroll regions.

Style spans

Inline text styling with Span.

Layout

Flexbox-like row/column playground.

Animate size

Layout size easing vs snap.

Custom widgets

Buttons

ProcessButtonEvents with Material, Win98, and XP skins.

Toggles

Toggle skins on the same press model as checkboxes.

Checkboxes

Custom checkbox chrome via ProcessButtonEvents.

Radios

Mutually exclusive options with Material and Luna skins.

Sliders

ProcessSlider with Apple, Material, and XP handles.

Segmented

ProcessSegmentEvents — modern pill and iOS 7 styles.

Text inputs

ProcessTextInput with Material and Luna field chrome.

Scrollbars

ScrollBarExt skins and the default overlay bar.

Icon fonts

Third-party icon font registered with UseFontBytes.

Example programs

markdown_viewer

Fast Markdown reader with GFM tables, code blocks, quick-open, and OS dark mode.

git_history

Commit log and stacked unified diffs, with fast search for logs and diffs.

haystack

Find-in-files, very fast & implemented in pure Go.

process_monitor

A cross-platform task manager: macOS, Linux, Windows.

dir_weight

A disk-usage visualizer with a background scan queue.

piano

A playable keyboard with a few synth voices — works well on desktop and mobile (multi-touch).

fontviewer

Quickly visualize all system fonts at a glance. Helps you quickly choose a font.

icons

A filterable gallery of the bundled icon fonts.

see_pprof

Visualizes profiling data from .pprof files in a GUI app; without launching a web server.

see_exe

See which bundled packages are taking space in your statically linked Go executables.

hacker-news-reader

Hacker news feed and comment threads. Powered by the firebase hacker news API.