Skip to content
@go-widgets

go-widgets

go-widgets

go-widgets

Pure-Go widget toolkits, byte-buffer first. No cgo, no JS, no DOM — the same widget code paints a framebuffer, a terminal, a browser canvas or a real native window.

The toolkit, and what draws it

A widget set that owns its pixels: the same widget code reaches a framebuffer, a terminal cell grid, a browser canvas or an SVG.

Repo What it is
toolkit Pure-Go widget toolkit for wasmdesk native apps (RGBA-buffer renderer, themed, no JS/DOM)
painter Prototype: pluggable Painter interface — same widget code renders into a pixel buffer (WUI/GUI) or a terminal cell grid (TUI) or SVG.
skin Declarative theme + layout + interaction-state engine for go-widgets/toolkit (the Edje analogue): parts, per-state visuals and signal-driven transitions in a…
svg Pure-Go widget helper: turn any toolkit RGBA render into a portable SVG (base64 PNG inside a scaling wrapper).
tui Pure-Go terminal-cell widget toolkit: ~34 cell-native widgets + interactive tui.App (raw mode, alt-screen, focus), syntax-highlighted TextEditor. Same…
webcanvas Pure-Go (CGO=0) browser harness for go-widgets: blit an RGBA framebuffer into a and route DOM pointer and keyboard events into a widget scene

Where an application runs

One program, several hosts. Each back-end answers the same contract, so an app does not learn which one it got.

Repo What it is
window Pure-Go, CGO-free windowing: six interchangeable back-ends behind one Open/Run — X11, Wayland, macOS Cocoa, Windows Win32, Android and wasmbox
application Cross-platform application lifecycle for go-widgets: window run loop + system tray + ready hook, CGO-free
desktop Native pure-Go desktop-shell demo composing the go-freedesktop + go-widgets stack (dock, launcher, app menu, MIME open-with, file grid, notifications).
android Pure-Go, CGO-free Android back-end for go-widgets: a real APK whose whole UI is painted by a CGO_ENABLED=0 Go process.
tray Cross-platform system-tray (menu-bar) widget for go-widgets: menus, submenus, checkboxes — CGO=0 (purego/syscall/DBus backends)

MVVM, and the analysers that keep it

State lives in observables and reaches widgets through bindings — and two analysers make that mandatory rather than advisory.

Repo What it is
mvvm Dependency-free MVVM layer for the go-widgets ecosystem: Observable, Command, ObservableList + backend-agnostic bindings
mvvmtk MVVM↔toolkit binding glue: wire go-widgets/mvvm observables & commands to go-widgets/toolkit widgets in one call
mvvmlint go/analysis analyzer that makes MVVM usage mandatory for go-widgets apps
bricolint go/analysis analyzer that guards the no-hand-drawn-UI rule: no painter primitives in app code, no per-frame throwaway widgets

Data, assets and demos

Repo What it is
data Headless data spine for go-widgets: typed records + validation, sort/filter/group/page/aggregate, and a pluggable Memory/gRPC proxy with byte-identical views.
gallery Wasm live demo of go-widgets/toolkit — every widget family rendered into a browser canvas.
isoicons Reusable isometric icon packs (cloudnative PNG + AWS SVG) for the go-widgets/toolkit isometric-diagram widget. Pure Go, CGO=0, wasm-clean.
app-template A minimal, MVVM-compliant go-widgets browser-wasm app template: state in go-widgets/mvvm, bound via go-widgets/mvvmtk, gated by go-widgets/mvvmlint.

Popular repositories Loading

  1. toolkit toolkit Public

    Pure-Go widget toolkit for wasmdesk native apps (RGBA-buffer renderer, themed, no JS/DOM)

    Go

  2. go-widgets.github.io go-widgets.github.io Public

    Landing page for the go-widgets org — pure-Go widget toolkits, byte-buffer first.

    HTML

  3. svg svg Public

    Pure-Go widget helper: turn any toolkit RGBA render into a portable SVG (base64 PNG inside a scaling wrapper).

    Go

  4. tui tui Public

    Pure-Go terminal-cell widget toolkit: ~34 cell-native widgets + interactive tui.App (raw mode, alt-screen, focus), syntax-highlighted TextEditor. Same painter.Painter seam as the pixel backend. CGO…

    Go

  5. gallery gallery Public

    Wasm live demo of go-widgets/toolkit — every widget family rendered into a browser canvas.

    Go

  6. painter painter Public

    Prototype: pluggable Painter interface — same widget code renders into a pixel buffer (WUI/GUI) or a terminal cell grid (TUI) or SVG.

    Go

Repositories

Showing 10 of 23 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…