Help us shape the future of Go! Take the 2026 Go Developer Survey

goui-legacy

module
v0.2.1 Latest Latest
Warning

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

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

README

goui-legacy — a fork of GOUI v0.2.0 for old Windows

This repository is golang-gui/goui v0.2.0 plus five compatibility patches that let it start and draw on Windows 7 SP1 and on Windows 10 before 1607, where upstream aborts. The patches, the measured HRESULTs behind them and the verification status per system are in LEGACY-PATCHES.md. Nothing else was touched; upstream LICENSE and copyright notice are unchanged.

  • main keeps the upstream module path, so consumers keep their imports and use a directory replace.
  • module-path-rename declares github.com/forbe/goui-legacy and rewrites every internal import, so consumers can require it over the network.

Everything below is the original upstream README.


GOUI

Build lightweight, modern desktop apps in Go—no GCC required

中文

GOUI is a native GUI framework written entirely in Go. Build both your interface and application logic in Go, without a browser engine or a C/C++ build toolchain.

The current version provides the foundations and controls needed for small desktop applications; public APIs are still evolving.

Project Purpose
goui-sourceview Code editor extension with syntax highlighting, completion, bracket matching, and find/replace.
applesdk Pure Go macOS SDK bindings for services including StoreKit, iCloud, and CloudKit.

Try the demo

The demo brings together controls, text editing, layouts, data views, detachable tabs, overlays, graphics, animations, and system integration. Switch between light/dark appearances, accent colors, and eight UI languages.

Platform Demo download
Windows x64 Download EXE
macOS Apple Silicon Download .app ZIP
Linux x64 / X11 Download executable

See the v0.1.0 release notes and SHA-256 checksums. On Linux, run chmod +x goui-demo-v0.1.0-linux-amd64 before launching it. On macOS, extract and open GOUI Demo.app; the bundle is Developer ID signed and Apple-notarized, with the notarization ticket stapled.

Windows

GOUI Demo on Windows

macOS

GOUI Demo on macOS

Linux

GOUI Demo on Linux

To run the current source from the repository root:

CGO_ENABLED=0 go run ./example/demo

Why GOUI?

  • No cgo, no GCC. Build with CGO_ENABLED=0 using the Go toolchain, including cross-compilation for supported targets. Native APIs are bound at runtime; building your application does not require a C/C++ compiler.
  • One binary, one app. Embed icons and other assets with Go's embed package. Windows executables and Linux binaries can run directly; macOS can wrap the executable in an .app for application identity, icons, and signing.
  • Modern appearance, native integration. A consistent Modern stylesheet with light/dark modes and accent colors, paired with native window chrome, fonts, text layout, IME, clipboard, and file dialogs.
  • AI-friendly. Semantic snapshots describe the widget tree. The gui/dev adapter supports inspecting windows and popovers, dispatching input, and committing text for debugging and AI automation.

Single-binary delivery does not mean there are no system dependencies. GOUI loads native system libraries at runtime. See platforms and dependencies for requirements.

Standing on the shoulders of giants

GOUI learns from mature frameworks rather than inventing every mechanism:

GTK4 for widgets and event controllers, Flutter for constraint-based layout, Qt and Avalonia for desktop integration, and SwiftUI for declarative composition. The result remains Go-shaped, not an imitation of any one framework.

Rendering builds on native Direct2D/DirectWrite, Core Text, and Pango/Cairo, alongside the project's NanoVG Go fork. SVG support uses the project's oksvg fork. GOUI keeps these foundations behind clear platform, widget, and declarative layers.

Size and memory

GOUI is a lightweight native GUI framework. Actual executable size and runtime memory usage depend on the application and rendering backend.

Executable size

Built with Go 1.25.8, CGO_ENABLED=0, -trimpath, and -ldflags="-s -w", with -H=windowsgui also set on Windows.

Target Minimal app Demo
Windows amd64 4.58 MiB 8.56 MiB
macOS arm64 4.75 MiB 8.26 MiB
Linux amd64 4.46 MiB 8.43 MiB

The full demo includes its logo, SVG icons, eight-language resources, and nine feature pages. Windows includes generated icon and version resources. These figures are from development builds, not published release artifacts; .app metadata, installer/archive overhead, and system libraries are not included.

Process memory usage
Application RSS PSS
Minimal app 58.8 MiB 28.6 MiB
Demo 78.5 MiB 46.2 MiB

RSS includes resident shared-library pages; PSS apportions shared pages between processes. The figures are summed from Linux /proc/<pid>/smaps and are provided for reference; results on other platforms may differ.

What you can build with today

  • Controls: buttons, labels, images/icons, text inputs, multi-line text views, menus, dropdowns, check/radio/toggle buttons, switches, and linear/circular progress indicators.
  • Layout and data: horizontal/vertical boxes, wrapping, baseline alignment, scrolling, overlays, split views, virtualized lists, tree views, and tables with custom cells, sortable headers, and resizable columns.
  • Workspaces: tabs with close requests and context menus, drag reordering, transfers between windows, and detaching into new windows.
  • Input: Unicode editing, CJK IME, selection, undo/redo, clipboard, shortcuts, Tab focus navigation, and drag and drop within and across applications.
  • Appearance: Modern light/dark styles, accent and semantic colors, SVG and style-aware icons, HiDPI, transparency, shadows, and custom widget painting.
  • Application facilities: timers on the GUI thread, frame-driven numeric animation, system settings, eight-language framework resources, file dialogs and access credentials, and opening URLs/files through system handlers.

Core controls live in gui, with declarative bindings in ui. Additional controls live in widgets, with their declarative bindings in widgets/ui.

Build with an AI coding assistant

The GOUI application development Skill guides your AI through GOUI APIs, state, layout, styles, resources, building, and debugging. To install it, tell your AI:

Install the GOUI application development skill following https://github.com/golang-gui/goui/blob/main/skills/INSTALL.md.

The AI follows the installation instructions using its tool's native skill mechanism; no GOUI-specific Agent adapter or manual file copying is required. Tools without Skill support can read the guide directly, but this is not a native installation. Installing the Skill does not install or upgrade your application's GOUI dependency.

For code editor integration and customization, use the SourceView application development Skill, maintained in the SourceView repository with its own installation guide.

For reusable components and custom controls, see Custom Widget and View for composing, extending, and implementing both layers.

Quick start

Requires Go 1.24 or newer and a supported desktop environment. Create a module and add GOUI:

mkdir hello-goui
cd hello-goui
go mod init example.com/hello-goui
go get github.com/golang-gui/goui@latest

Save as main.go:

package main

import (
    "fmt"
    "log"

    "github.com/golang-gui/goui/theme/modern"
    "github.com/golang-gui/goui/ui"
)

func main() {
    count := ui.MakeState(0)
    err := ui.Run("com.example.Hello", func(app ui.App) ui.RootView {
        return ui.Root().
            StyleSheet(modern.FromSettings(app.Settings())). // Use the Modern theme
            Windows(
                ui.Window("main").
                    Title("Hello GOUI").
                    Size(480, 240).
                    Content(
                        ui.VBox(
                            ui.Label(fmt.Sprintf("Clicked %d times", count.Get())),
                            ui.Button("Click me").OnClick(func() {
                                // Prefer Update to count.Set(count.Get() + 1):
                                count.Update(func(old int) int {
                                    return old + 1
                                })
                            }),
                        ).Spacing(12).Padding(20),
                    ),
            )
    })
    if err != nil {
        log.Fatal(err)
    }
}

Build and run on your current platform:

CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o hello-goui .
./hello-goui

On Windows PowerShell, use $env:CGO_ENABLED='0', then run:

go build -trimpath -ldflags="-s -w -H=windowsgui" -o hello-goui.exe ..

Views are ordinary Go values. State.Set and State.Update request a coalesced rebuild. System settings changes also rebuild this example, updating its Modern stylesheet. For larger applications, compose views with functions or custom view types, or implement widgets using gui.WidgetBase.

Platforms and dependencies

Platform / current release target Window system Drawing backends Text layout
Windows / amd64 Win32 Direct2D, OpenGL, Software DirectWrite
macOS / arm64 AppKit OpenGL, Software Core Text
Linux / amd64 X11 OpenGL, Software Pango / Cairo

On Windows and macOS, native frameworks are supplied by the operating system. On Linux, the current backend needs an X11 display server; Wayland sessions need XWayland, and window behavior still needs validation on the target desktop. Runtime libraries include X11/Xext/Xrender/Xrandr/Xcursor, GL/GLX, GLib/GIO, Fontconfig, and Pango/Cairo. Settings integration and native file dialogs use GTK. No development headers or C compiler are needed. Linux Integrated decoration additionally needs a compositor; otherwise GOUI can fall back to native decoration.

You can select a drawing backend with GOUI_PLAT_PAINTER=software or opengl; Windows also accepts direct2d. See the demo guide for platform details.

Build and package

Ordinary go build is sufficient to build an application. The optional cmd/goui tool handles platform resources and packaging from goui.toml: Windows icon/version resources, macOS Info.plist/ICNS/.app and explicit signing, and Linux desktop/icon resources. These steps do not require GCC; macOS signing uses the platform's codesign tool.

For example, build the demo and its platform resources:

CGO_ENABLED=0 go run ./cmd/goui build -config example/demo/goui.toml -ldflags="-s -w"

Environment variables

These are usually unnecessary. Set them before launching the application for startup configuration, debugging, or compatibility checks. Restart the application after changing them; they are not runtime switching interfaces.

Variable Purpose and values Default behavior
GOUI_PLAT_SCALE Overrides the logical-unit-to-physical-pixel scale; fractional values such as 1, 1.5, and 2 are supported Uses the platform's system scale; an unset, unparseable, or non-positive value does not override it
GOUI_PLAT_PAINTER Selects a drawing backend: opengl, software; Windows also accepts direct2d Uses the platform's default backend and initialization fallback policy

GOUI_PLAT_SCALE=2 means 1 DIP maps to 2 physical pixels. It does not change the operating system's display settings or replace HiDPI testing on real devices.

Backend names are lowercase. An unset or unrecognized name uses the default:

  • Windows: Direct2D by default, falling back to OpenGL and then Software if initialization fails.

    Specifying direct2d follows the same sequence; explicitly selecting opengl does not fall back and returns an error if initialization fails.

  • Linux / macOS: OpenGL by default, falling back to Software if initialization fails. Specifying opengl follows the same policy.

  • Specifying software selects software rendering directly. These fallbacks occur during backend initialization, not automatically while the app is running.

Linux / X11 also recognizes these compatibility variables:

Variable Purpose
GDK_SCALE Sets a scale such as 1 or 2; precedence is GOUI_PLAT_SCALE > GDK_SCALE > desktop DPI settings
XCURSOR_THEME Selects an installed cursor theme, overriding the desktop cursor theme setting
XCURSOR_SIZE Sets the cursor size in positive integer pixels, such as 24 or 32, overriding the desktop cursor size setting

For example, launch the software-rendered demo at 2x from the repository root using Bash:

CGO_ENABLED=0 GOUI_PLAT_PAINTER=software GOUI_PLAT_SCALE=2 go run ./example/demo

Windows PowerShell:

$env:CGO_ENABLED = '0'
$env:GOUI_PLAT_PAINTER = 'direct2d'
$env:GOUI_PLAT_SCALE = '1.5'
go run ./example/demo

Variables in the Bash example apply only to that command; those in the PowerShell example remain set in the current terminal session. To restore automatic selection, remove the relevant variables and restart the application. For example, in PowerShell: Remove-Item Env:GOUI_PLAT_PAINTER, Env:GOUI_PLAT_SCALE -ErrorAction SilentlyContinue.

Optional development tools

GOUI_DEV_ADDR is the listening address for the gui/dev development adapter, not a platform rendering setting. First add import _ "github.com/golang-gui/goui/gui/dev" to the application, then set the variable to enable the service. It does not start unless the package is imported and the variable is set. For an application that already imports the package:

GOUI_DEV_ADDR=127.0.0.1:8888 ./your-app

The service provides semantic snapshots, input event dispatch, and text submission. Use it only for local development; enabling it in production is not recommended.

A small, layered design

ui        Declarative views and explicit update coordination
gui       Widgets, layout, painting, events, focus, signals, and snapshots
platform  Native windows, event loops, input, drawing, and typography

Use only the layers you need. animation, layout, style, icon, and mlang provide focused capabilities; gui/dev is an opt-in debugging adapter. GOUI aims to be a practical GUI toolkit, not a browser or an all-purpose platform SDK.

Roadmap

  • Add touch input and gestures while keeping mouse/keyboard use first-class.
  • Support more platforms, architectures, and window systems.
  • Add more purpose-built controls and reusable application components.
  • Keep optimizing performance and memory use, backed by reproducible measurements.

License and acknowledgements

GOUI is MIT licensed. Dependencies retain their own licenses.

The logo retains attribution to the Go gopher by Renee French (CC BY 4.0).

Directories

Path Synopsis
Package animation provides frame-driven value transitions.
Package animation provides frame-driven value transitions.
cmd
goui command
Command goui builds binaries and prepares platform application resources.
Command goui builds binaries and prepares platform application resources.
core
bits
Package bits provides small, allocation-free bit-set helpers built on Go's fixed-width integer types.
Package bits provides small, allocation-free bit-set helpers built on Go's fixed-width integer types.
colors
Package colors provides small, dependency-free helpers for working with image/color values: equality, and later standard color constants and hex parsing.
Package colors provides small, dependency-free helpers for working with image/color values: equality, and later standard color constants and hex parsing.
optional
Package optional provides a small generic container that distinguishes "a value is present" from "no value", so a zero value (0, "", nil, ...) can be told apart from an unset one.
Package optional provides a small generic container that distinguishes "a value is present" from "no value", so a zero value (0, "", nil, ...) can be told apart from an unset one.
example
demo command
GOUI 控件与功能展厅,使用 ui 与 widgets/ui 的公开接口。
GOUI 控件与功能展厅,使用 ui 与 widgets/ui 的公开接口。
demo/resource
Package resource contains display text and initial samples, not IDs or user edits.
Package resource contains display text and initial samples, not IDs or user edits.
modern command
Modern 样式展示。
Modern 样式展示。
gui
Package gui implements GOUI's imperative widget kernel.
Package gui implements GOUI's imperative widget kernel.
dev
Package dev is GOUI's opt-in local development protocol server, for tools and AI agents that inspect snapshots, dispatch platform events and commit text.
Package dev is GOUI's opt-in local development protocol server, for tools and AI agents that inspect snapshots, dispatch platform events and commit text.
textedit
Package textedit provides plain-text documents, edit history, preedit projections, paragraph height indexes and Cluster-based editing geometry.
Package textedit provides plain-text documents, edit history, preedit projections, paragraph height indexes and Cluster-based editing geometry.
Package icon provides reusable implementations of gui.IconSource.
Package icon provides reusable implementations of gui.IconSource.
draw
Package draw adapts offscreen Software drawing to gui.IconSource.
Package draw adapts offscreen Software drawing to gui.IconSource.
svg
Package svg supplies static SVG implementations of gui.IconSource.
Package svg supplies static SVG implementations of gui.IconSource.
internal
identity
Package identity provides reference checks for declarative adapters.
Package identity provides reference checks for declarative adapters.
resource
Package resource contains framework-owned presentation text, not application content, stable semantic identifiers, diagnostics or native system dialogs.
Package resource contains framework-owned presentation text, not application content, stable semantic identifiers, diagnostics or native system dialogs.
Package mlang provides language-aware text resources independent of GUI widgets.
Package mlang provides language-aware text resources independent of GUI widgets.
Package platform provides low-level bindings for windows, event loops, graphics, typography, and other operating-system services.
Package platform provides low-level bindings for windows, event loops, graphics, typography, and other operating-system services.
dragdrop
Package dragdrop contains the portable facts exchanged by native drag and drop backends.
Package dragdrop contains the portable facts exchanged by native drag and drop backends.
graphics/internal/boxshadow
Package boxshadow contains the backend-independent geometry and opacity semantics for graphics.BoxShadow.
Package boxshadow contains the backend-independent geometry and opacity semantics for graphics.BoxShadow.
graphics/internal/offscreen
Package offscreen holds the common allocation contract for image rendering.
Package offscreen holds the common allocation contract for image rendering.
graphics/internal/pixelsnap
Package pixelsnap aligns axis-aligned UI primitives to the device pixel grid.
Package pixelsnap aligns axis-aligned UI primitives to the device pixel grid.
graphics/test command
internal/desktopopen
Package desktopopen contains shared input rules for desktop open requests.
Package desktopopen contains shared input rules for desktop open requests.
internal/fileaccess
Package fileaccess implements desktop path access and private credential encoding shared by native dialog backends.
Package fileaccess implements desktop path access and private credential encoding shared by native dialog backends.
internal/workarea
Package workarea contains geometry shared by native desktop observations.
Package workarea contains geometry shared by native desktop observations.
typography/internal/typographytest
Package typographytest contains shared native typography test fixtures.
Package typographytest contains shared native typography test fixtures.
tests
window/graphics/alpha command
预乘颜色窗口验证
预乘颜色窗口验证
window/gui/animation command
帧信号与数值动画窗口验收。
帧信号与数值动画窗口验收。
window/gui/border_box command
BorderBox 自绘窗口边框验收,不使用 DevServer。
BorderBox 自绘窗口边框验收,不使用 DevServer。
window/gui/dev command
DevServer 引用、文本及 Popover 窗口验证。
DevServer 引用、文本及 Popover 窗口验证。
window/gui/drag_handoff command
栏内拖动交给原生 DnD 的独立窗口验证;不使用 DevServer。
栏内拖动交给原生 DnD 的独立窗口验证;不使用 DevServer。
window/gui/dragdrop command
GUI Drag and Drop 窗口验证;不使用 DevServer。
GUI Drag and Drop 窗口验证;不使用 DevServer。
window/gui/file_access command
文件访问凭据验收,使用公开 GUI 接口,不依赖 DevServer。
文件访问凭据验收,使用公开 GUI 接口,不依赖 DevServer。
window/gui/integrated_layout command
Linux Integrated 四边布局避让验证。
Linux Integrated 四边布局避让验证。
window/gui/interactions command
上下文菜单、公开树行组合、拖放观察与自动滚动的原生窗口验收。
上下文菜单、公开树行组合、拖放观察与自动滚动的原生窗口验收。
window/gui/menu_pointer command
Menu pointer/keyboard highlight regression.
Menu pointer/keyboard highlight regression.
window/gui/render_widget command
RenderWidget 窗口验证;不使用 DevServer。
RenderWidget 窗口验证;不使用 DevServer。
window/gui/scroll_layout command
ScrollView 方向与布局窗口验收。
ScrollView 方向与布局窗口验收。
window/gui/tab_navigation command
Tab 焦点导航与 FocusVisible 窗口验证,不使用 DevServer。
Tab 焦点导航与 FocusVisible 窗口验证,不使用 DevServer。
window/gui/taskbar command
SkipTaskbar 窗口验收,不使用 DevServer。
SkipTaskbar 窗口验收,不使用 DevServer。
window/gui/textplaceholder command
TextInput/TextView 占位提示窗口验证。
TextInput/TextView 占位提示窗口验证。
window/gui/textview command
TextView 窗口验证(C 切片,逐项记录实际通过与未执行的场景)。
TextView 窗口验证(C 切片,逐项记录实际通过与未执行的场景)。
window/platform/clipboard command
原生剪贴板结果回归,必须显式运行,不由 go test 启动。
原生剪贴板结果回归,必须显式运行,不由 go test 启动。
window/platform/clipboard/owner command
X11 剪贴板外部所有者,只在独立、可丢弃的 X server 中启动。
X11 剪贴板外部所有者,只在独立、可丢弃的 X server 中启动。
window/platform/message_reentry command
Windows 消息绑定的 Go -> Win32 -> Go 重入回归,不使用 DevServer。
Windows 消息绑定的 Go -> Win32 -> Go 重入回归,不使用 DevServer。
window/platform/modifiers command
左右修饰键原生事件回归。
左右修饰键原生事件回归。
window/platform/window_chrome command
Windows Native/Integrated/None 客户区尺寸与顶部圆角验证。
Windows Native/Integrated/None 客户区尺寸与顶部圆角验证。
window/platform/window_position command
macOS 普通窗口默认位置验收,不使用 DevServer。
macOS 普通窗口默认位置验收,不使用 DevServer。
window/tools/packaging command
构建资源与应用打包的真实桌面验收,不依赖 DevServer。
构建资源与应用打包的真实桌面验收,不依赖 DevServer。
window/ui/animation command
声明式动画窗口验收。
声明式动画窗口验收。
window/ui/dragdrop command
声明式 Drag and Drop 窗口验证;不使用 DevServer。
声明式 Drag and Drop 窗口验证;不使用 DevServer。
window/ui/enabled command
Widget 禁用、父子状态、焦点、文字输入与声明式恢复验收;不依赖 DevServer。
Widget 禁用、父子状态、焦点、文字输入与声明式恢复验收;不依赖 DevServer。
window/ui/icon command
Icon 窗口验证:样式驱动的矢量/自定义绘制,通过 Software 生成并缓存位图,不使用 DevServer。
Icon 窗口验证:样式驱动的矢量/自定义绘制,通过 Software 生成并缓存位图,不使用 DevServer。
window/ui/mlang command
多语言资源、命令式翻译与声明式自动协调验收;不依赖 DevServer。
多语言资源、命令式翻译与声明式自动协调验收;不依赖 DevServer。
window/ui/mlang/resource
Package resource is this example's text and prepared icon bundle.
Package resource is this example's text and prepared icon bundle.
window/ui/shortcuts command
快捷键与键盘布局窗口验证。
快捷键与键盘布局窗口验证。
window/ui/svgicon command
SVG Icon 窗口验证(不使用 DevServer)。
SVG Icon 窗口验证(不使用 DevServer)。
window/ui/textediting command
UI 文本编辑窗口验证:共享多行模型、独立单行编辑和声明式重建。
UI 文本编辑窗口验证:共享多行模型、独立单行编辑和声明式重建。
window/ui/themes command
默认 Basic 与可选 Modern 样式窗口验收,不依赖 DevServer。
默认 Basic 与可选 Modern 样式窗口验收,不依赖 DevServer。
window/ui/window_center command
窗口初始居中与声明式创建选项验收,不使用 DevServer。
窗口初始居中与声明式创建选项验收,不使用 DevServer。
window/ui/wrap command
WrapBox 桌面验证(无 DevServer 依赖)。
WrapBox 桌面验证(无 DevServer 依赖)。
window/widgets/check_button command
CheckButton 三态、互斥组、按钮式外观与声明协调窗口验收,不依赖 DevServer。
CheckButton 三态、互斥组、按钮式外观与声明协调窗口验收,不依赖 DevServer。
window/widgets/drop_down command
DropDown 原生浮窗、真实内容、键鼠选择和声明式协调验收,不依赖 DevServer。
DropDown 原生浮窗、真实内容、键鼠选择和声明式协调验收,不依赖 DevServer。
window/widgets/progress_bar command
ProgressBar 命令式窗口验收,不依赖 DevServer。
ProgressBar 命令式窗口验收,不依赖 DevServer。
window/widgets/split_view command
SplitView 两区/嵌套布局与输入验收,不使用 DevServer。
SplitView 两区/嵌套布局与输入验收,不使用 DevServer。
window/widgets/switch command
Switch 两态、点击/拖动、短动画及声明协调窗口验收,不依赖 DevServer。
Switch 两态、点击/拖动、短动画及声明协调窗口验收,不依赖 DevServer。
window/widgets/tab_detach command
TabView 拖出创建新窗口验收,不使用 DevServer。
TabView 拖出创建新窗口验收,不使用 DevServer。
window/widgets/tab_transfer command
TabView 跨窗口页面移交验收,不使用 DevServer。
TabView 跨窗口页面移交验收,不使用 DevServer。
window/widgets/table command
TableView 多列记录、虚拟化、声明协调与现代外观验收,不使用 DevServer。
TableView 多列记录、虚拟化、声明协调与现代外观验收,不使用 DevServer。
window/widgets/tabs command
TabBar/TabView 基础交互与外观窗口验证,不使用 DevServer。
TabBar/TabView 基础交互与外观窗口验证,不使用 DevServer。
window/widgets/tree_view command
TreeView 模型、虚拟化、键盘交互和声明绑定验收,不使用 DevServer。
TreeView 模型、虚拟化、键盘交互和声明绑定验收,不使用 DevServer。
window/widgets/ui_progress_bar command
ProgressBar 声明式窗口验收,不依赖 DevServer。
ProgressBar 声明式窗口验收,不依赖 DevServer。
window/widgets/ui_tab_transfer command
UI TabView 跨窗口子树移交验收,不使用 DevServer。
UI TabView 跨窗口子树移交验收,不使用 DevServer。
theme
basic
Package basic provides the fallback appearance for GOUI widgets.
Package basic provides the fallback appearance for GOUI widgets.
modern
Package modern builds an explicitly enabled, platform-independent stylesheet.
Package modern builds an explicitly enabled, platform-independent stylesheet.
Package ui implements GOUI's declarative view layer.
Package ui implements GOUI's declarative view layer.
Package widgets contains composite controls built on the gui Widget kernel.
Package widgets contains composite controls built on the gui Widget kernel.
style
Package style preserves the legacy widget fallback rule entry point.
Package style preserves the legacy widget fallback rule entry point.
ui
Package ui adapts composite widgets to GOUI's declarative View layer.
Package ui adapts composite widgets to GOUI's declarative View layer.

Jump to

Keyboard shortcuts

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