Directories
¶
| Path | Synopsis |
|---|---|
|
Package golet is a desktop application framework written in pure Go, without cgo.
|
Package golet is a desktop application framework written in pure Go, without cgo. |
|
audio
Package audio plays sound: effects decoded into memory, music streamed as it plays, and sound an app makes itself, mixed in Go and sent to the system's audio output:
|
Package audio plays sound: effects decoded into memory, music streamed as it plays, and sound an app makes itself, mixed in Go and sent to the system's audio output: |
|
audio/mp3
Package mp3 decodes MP3 files for package audio, with github.com/hajimehoshi/go-mp3.
|
Package mp3 decodes MP3 files for package audio, with github.com/hajimehoshi/go-mp3. |
|
audio/vorbis
Package vorbis decodes Ogg Vorbis files for package audio, with github.com/jfreymuth/oggvorbis.
|
Package vorbis decodes Ogg Vorbis files for package audio, with github.com/jfreymuth/oggvorbis. |
|
cmd/golet
command
Command golet is the Golet development tool: it scaffolds projects, generates the typed TypeScript client for bound Go services, runs apps in development and builds packaged production apps.
|
Command golet is the Golet development tool: it scaffolds projects, generates the typed TypeScript client for bound Go services, runs apps in development and builds packaged production apps. |
|
examples/blackhole
command
Black hole is a black hole and its accretion disk, drawn by shaders written in Go (package ui/shader) on the GPU: every pixel's ray of light is traced back through the hole's gravity, so the disk's far side shows above and below the shadow, the side turning toward the camera blazes brighter and bluer, and the stars behind smear into arcs around an Einstein ring.
|
Black hole is a black hole and its accretion disk, drawn by shaders written in Go (package ui/shader) on the GPU: every pixel's ray of light is traced back through the hole's gravity, so the disk's far side shows above and below the shadow, the side turning toward the camera blazes brighter and bluer, and the stars behind smear into arcs around an Einstein ring. |
|
examples/browser
command
Browser launches the optional CEF host and a local assistant workspace.
|
Browser launches the optional CEF host and a local assistant workspace. |
|
examples/chart-streaming
command
Chart-streaming draws three rolling waveforms of 15,000 samples each, 1,000 new samples a second, reduced to a few points per pixel column.
|
Chart-streaming draws three rolling waveforms of 15,000 samples each, 1,000 new samples a second, reduced to a few points per pixel column. |
|
examples/chat-glow
command
Chat-glow is an assistant's window, lit as Apple Intelligence lights its own: while the assistant works, the window's edges glow in flowing colors, the field to write in glows in its ring, and "Thinking…" shimmers; the assistant's orb, a glass sphere of drifting light, quickens as it thinks.
|
Chat-glow is an assistant's window, lit as Apple Intelligence lights its own: while the assistant works, the window's edges glow in flowing colors, the field to write in glows in its ring, and "Thinking…" shimmers; the assistant's orb, a glass sphere of drifting light, quickens as it thinks. |
|
examples/clipboard
command
Clipboard demonstrates one data model for copying and dragging a note.
|
Clipboard demonstrates one data model for copying and dragging a note. |
|
examples/code-editor
command
|
|
|
examples/confetti
command
Confetti throws confetti in native UI, as canvas-confetti does on a web page: bursts of squares, circles, stars, hearts and emoji that fly out, slow down, fall, tumble and fade.
|
Confetti throws confetti in native UI, as canvas-confetti does on a web page: bursts of squares, circles, stars, hearts and emoji that fly out, slow down, fall, tumble and fade. |
|
examples/counter-native
command
Counter-native is a counter in native UI: a window Golet draws itself from Go, with no web page.
|
Counter-native is a counter in native UI: a window Golet draws itself from Go, with no web page. |
|
examples/dashboard
command
|
|
|
examples/docs-demo
command
Docs-demo shows the previews of the pages of native UI's docs: the website builds it for browsers (website/docs-demo.ts) and shows a demo in a frame wherever a page of docs/ui has a comment
|
Docs-demo shows the previews of the pages of native UI's docs: the website builds it for browsers (website/docs-demo.ts) and shows a demo in a frame wherever a page of docs/ui has a comment |
|
examples/documents
command
Documents is a notes editor of Markdown and text files in native UI, built on golet.NewDocuments: the File menu, a window per note, autosave, recovery after a crash, the proxy icon and the edited dot on macOS, and notes changed by other apps.
|
Documents is a notes editor of Markdown and text files in native UI, built on golet.NewDocuments: the File menu, a window per note, autosave, recovery after a crash, the proxy icon and the edited dot on macOS, and notes changed by other apps. |
|
examples/drag-drop
command
Drag-drop exchanges notes, text, URLs and files between two native UI windows and other applications.
|
Drag-drop exchanges notes, text, URLs and files between two native UI windows and other applications. |
|
examples/effort-slider
command
Effort-slider redraws ozzy's "galaxy brain effort slider" demo (https://x.com/ozzyxs1a/status/2107523169649389677) in native UI: a card whose slider steps from Low to Max with a brain for a thumb, and past Max into Galaxy, where the brain bursts, the card shakes, the track fills with twinkling pixels and dotted rays stream out of the brain.
|
Effort-slider redraws ozzy's "galaxy brain effort slider" demo (https://x.com/ozzyxs1a/status/2107523169649389677) in native UI: a card whose slider steps from Low to Max with a brain for a thumb, and past Max into Galaxy, where the brain bursts, the card shakes, the track fills with twinkling pixels and dotted rays stream out of the brain. |
|
examples/embed-webview
command
Embed-webview shows web pages in a window of native UI: a sidebar of tabs, each a web view, under a toolbar whose menu, select, tooltip and dialog show over the page, as the badge over its corner does.
|
Embed-webview shows web pages in a window of native UI: a sidebar of tabs, each a web view, under a toolbar whose menu, select, tooltip and dialog show over the page, as the badge over its corner does. |
|
examples/farm
command
Farm is a little farming game in native UI: walk a farm with the keyboard, till the grass, plant seeds, water them and harvest what grows, through a camera that follows you, as days turn to night, with sound and music.
|
Farm is a little farming game in native UI: walk a farm with the keyboard, till the grass, plant seeds, water them and harvest what grows, through a camera that follows you, as days turn to night, with sound and music. |
|
examples/flyout
command
Flyout opens flyouts from a small window of native UI: a list of colors, a note to edit and an About box with the look of the system's popovers on macOS.
|
Flyout opens flyouts from a small window of native UI: a list of colors, a note to edit and an About box with the look of the system's popovers on macOS. |
|
examples/frameless
command
Frameless shows a window without native chrome: the page draws its own title bar, marks it draggable with `--app-region: drag` and drives the window through the built-in window.golet.window controls.
|
Frameless shows a window without native chrome: the page draws its own title bar, marks it draggable with `--app-region: drag` and drives the window through the built-in window.golet.window controls. |
|
examples/gallery
command
|
|
|
examples/hello
command
Hello is the smallest Golet app: one window and one Go method called from the page.
|
Hello is the smallest Golet app: one window and one Go method called from the page. |
|
examples/internal/editordemo
Code editor shows Golet's code editor and diff viewer: files of several languages to edit, with completions of the words of the file, hovers, diagnostics of TODO comments and the changes against the file as it was in the gutter; and the diff of those changes, side by side or unified, which edits the same buffer.
|
Code editor shows Golet's code editor and diff viewer: files of several languages to edit, with completions of the words of the file, hovers, diagnostics of TODO comments and the changes against the file as it was in the gutter; and the diff of those changes, side by side or unified, which edits the same buffer. |
|
examples/internal/gallerydemo
Gallery tours Golet's own user interface toolkit: a window drawn on the GPU from Go, without a web page.
|
Gallery tours Golet's own user interface toolkit: a window drawn on the GPU from Go, without a web page. |
|
examples/internal/loadingdemo
Loading shows the 29 loading indicators of the loading plugin, after loading.dev, in native UI, with their options: size, color, easing, the ends of their strokes, and a pause.
|
Loading shows the 29 loading indicators of the loading plugin, after loading.dev, in native UI, with their options: size, color, easing, the ends of their strokes, and a pause. |
|
examples/launcher
command
Launcher is an app launcher in the manner of Spotlight and Raycast, in native UI: Alt+Shift+Space shows a panel over every app, full-screen ones included, without taking the active app away; type to find an installed app, Up and Down to choose, Enter to open it, Escape to clear or close.
|
Launcher is an app launcher in the manner of Spotlight and Raycast, in native UI: Alt+Shift+Space shows a panel over every app, full-screen ones included, without taking the active app away; type to find an installed app, Up and Down to choose, Enter to open it, Escape to clear or close. |
|
examples/loading
command
|
|
|
examples/markdown-chat
command
Markdown-chat is a chat with a pretend language model whose replies stream in token by token as Markdown: markdown.Stream shows a reply while it comes, markdown.View once it is done, and the list follows the end until the user scrolls up.
|
Markdown-chat is a chat with a pretend language model whose replies stream in token by token as Markdown: markdown.Stream shows a reply while it comes, markdown.View once it is done, and the list follows the end until the user scrolls up. |
|
examples/mayoi
command
Mayoi is a little survivor game in native UI, a fan game after the anime BanG Dream! It's MyGO!!!!!, whose band Golet is named after.
|
Mayoi is a little survivor game in native UI, a fan game after the anime BanG Dream! It's MyGO!!!!!, whose band Golet is named after. |
|
examples/menubar-flyout
command
Menubar-flyout is a menu bar app whose icon opens a flyout, the panel of the app: below the icon of the macOS menu bar, in a popover of the system's, and above an icon of the Windows taskbar.
|
Menubar-flyout is a menu bar app whose icon opens a flyout, the panel of the app: below the icon of the macOS menu bar, in a popover of the system's, and above an icon of the Windows taskbar. |
|
examples/menubar-native
command
Menubar-native is a menu bar app whose icon opens a window of native UI.
|
Menubar-native is a menu bar app whose icon opens a window of native UI. |
|
examples/native
command
Native tours the desktop integration: application and context menus, a tray icon, dialogs, notifications, a global shortcut, the clipboard and dark mode.
|
Native tours the desktop integration: application and context menus, a tray icon, dialogs, notifications, a global shortcut, the clipboard and dark mode. |
|
examples/notes
command
Notes is a notes app in native UI: notes in a sidebar, each edited as rich text (package ui/richtext), with a toolbar of its formats, the Format menu, links, Markdown shortcuts and export, and the notes saved as JSON in the user's configuration directory.
|
Notes is a notes app in native UI: notes in a sidebar, each edited as rich text (package ui/richtext), with a toolbar of its formats, the Format menu, links, Markdown shortcuts and export, and the notes saved as JSON in the user's configuration directory. |
|
examples/piano
command
Piano is a piano in native UI that plays with package audio: click or drag across its keys, play it from the keyboard, or have it play a tune.
|
Piano is a piano in native UI that plays with package audio: click or drag across its keys, play it from the keyboard, or have it play a tune. |
|
examples/studio
command
|
|
|
examples/terminal
command
Terminal is a terminal app in native UI: the user's shell in a window, with the terminal plugin, which emulates it with Ghostty's libghostty-vt.
|
Terminal is a terminal app in native UI: the user's shell in a window, with the terminal plugin, which emulates it with Ghostty's libghostty-vt. |
|
examples/text-buffer
command
A large editable document backed by indexed text chunks.
|
A large editable document backed by indexed text chunks. |
|
examples/text-input
command
A custom text field built from Golet's text-input and layout primitives.
|
A custom text field built from Golet's text-input and layout primitives. |
|
examples/timeline
command
Timeline shows what a ui.Timeline is for: several tweens on one playhead, arranged and controlled together.
|
Timeline shows what a ui.Timeline is for: several tweens on one playhead, arranged and controlled together. |
|
examples/todo
command
Todo is a small but complete Golet app: typed services and events shared with a TypeScript frontend, persistence, dialogs, menus and multiple windows kept in sync.
|
Todo is a small but complete Golet app: typed services and events shared with a TypeScript frontend, persistence, dialogs, menus and multiple windows kept in sync. |
|
examples/vibrancy
command
Vibrancy shows a window in the style of a native macOS app, in native UI: a sidebar over a translucent material, under a hidden title bar whose window controls sit over the view, the traffic lights inset over the sidebar on macOS.
|
Vibrancy shows a window in the style of a native macOS app, in native UI: a sidebar over a translucent material, under a hidden title bar whose window controls sit over the view, the traffic lights inset over the sidebar on macOS. |
|
examples/wind
command
Wind is the texture behind the composer of the Claude desktop app's Code tab, redrawn in native UI: a field of monospaced characters that a wind lights in passing gusts, curling, streaked and thinning around the content, while each character steps through a set of its own.
|
Wind is the texture behind the composer of the Claude desktop app's Code tab, redrawn in native UI: a field of monospaced characters that a wind lights in passing gusts, curling, streaked and thinning around the content, while each character steps through a set of its own. |
|
i18n
Package i18n reads the languages people read and picks, of those an app is written in, the one that suits them best, and says an app's messages in it.
|
Package i18n reads the languages people read and picks, of those an app is written in, the one that suits them best, and says an app's messages in it. |
|
i18n/internal/gen
command
Command gen writes the data of the Unicode CLDR that package i18n uses, from a pinned release of cldr-json, as Go source: `go generate ./i18n` runs it.
|
Command gen writes the data of the Unicode CLDR that package i18n uses, from a pinned release of cldr-json, as Go source: `go generate ./i18n` runs it. |
|
internal/accelerator
Package accelerator parses Electron style keyboard accelerators such as "CmdOrCtrl+Shift+Z" into a platform neutral representation.
|
Package accelerator parses Electron style keyboard accelerators such as "CmdOrCtrl+Shift+Z" into a platform neutral representation. |
|
internal/bridge
Package bridge embeds the renderer runtime that Golet injects into pages.
|
Package bridge embeds the renderer runtime that Golet injects into pages. |
|
internal/darwin
Package darwin implements the macOS backend (AppKit + WKWebView) in pure Go: Objective-C is driven through the runtime with purego, no cgo.
|
Package darwin implements the macOS backend (AppKit + WKWebView) in pure Go: Objective-C is driven through the runtime with purego, no cgo. |
|
internal/diff
Package diff compares sequences: the lines of two texts, or the words of two lines.
|
Package diff compares sequences: the lines of two texts, or the words of two lines. |
|
internal/download
Package download fetches the files that Golet keeps in the user's cache: the native libraries plugins name in their golet-plugin.json, which the CLI and unpackaged programs download into <cache>/golet/natives/<sha256>/, and the tools the CLI runs, as NSIS.
|
Package download fetches the files that Golet keeps in the user's cache: the native libraries plugins name in their golet-plugin.json, which the CLI and unpackaged programs download into <cache>/golet/natives/<sha256>/, and the tools the CLI runs, as NSIS. |
|
internal/fake
Package fake is an in-memory platform.Backend for testing the public API without a GUI.
|
Package fake is an in-memory platform.Backend for testing the public API without a GUI. |
|
internal/gamut
Package gamut converts between sRGB, Display P3, Oklab and Oklch, and maps colors into a display's gamut as CSS Color 4 does.
|
Package gamut converts between sRGB, Display P3, Oklab and Oklch, and maps colors into a display's gamut as CSS Color 4 does. |
|
internal/gpu
Package gpu turns scenes into what the GPU renderers draw: one instanced quad per operation, for a shader that computes rounded rectangles, borders, gradients, stripes, shadows and atlas coverage itself, in batches that share a scissor rectangle and an image.
|
Package gpu turns scenes into what the GPU renderers draw: one instanced quad per operation, for a shader that computes rounded rectangles, borders, gradients, stripes, shadows and atlas coverage itself, in batches that share a scissor rectangle and an image. |
|
internal/gpu/d3d11
Package d3d11 draws scenes with Direct3D 11 into a window through a DXGI flip model swap chain, called through syscall like the rest of the Windows backend (no cgo).
|
Package d3d11 draws scenes with Direct3D 11 into a window through a DXGI flip model swap chain, called through syscall like the rest of the Windows backend (no cgo). |
|
internal/gpu/d3d11/device
Package device creates Direct3D 11 devices: the device of package d3d11's renderer, and that of the Windows backend, which shows the controls of windows with a material through DirectComposition without the renderer.
|
Package device creates Direct3D 11 devices: the device of package d3d11's renderer, and that of the Windows backend, which shows the controls of windows with a material through DirectComposition without the renderer. |
|
internal/gpu/gl
Package gl draws scenes with OpenGL 3.3, OpenGL ES 3.0 or WebGL 2 into the framebuffer bound when Render is called: the one GTK's GtkGLArea binds while it emits its render signal, or a canvas's (package web).
|
Package gl draws scenes with OpenGL 3.3, OpenGL ES 3.0 or WebGL 2 into the framebuffer bound when Render is called: the one GTK's GtkGLArea binds while it emits its render signal, or a canvas's (package web). |
|
internal/gpu/gputest
Package gputest has what the tests of the GPU renderers share: a scene that draws every kind of operation, and a comparison of what a renderer drew with what the CPU renderer draws, which the renderers must match.
|
Package gputest has what the tests of the GPU renderers share: a scene that draws every kind of operation, and a comparison of what a renderer drew with what the CPU renderer draws, which the renderers must match. |
|
internal/gpu/metal
Package metal draws scenes with Metal into a CAMetalLayer, called through the Objective-C runtime with purego like the rest of the macOS backend (no cgo).
|
Package metal draws scenes with Metal into a CAMetalLayer, called through the Objective-C runtime with purego like the rest of the macOS backend (no cgo). |
|
internal/i18ngen
Package i18ngen reads the catalogs of an app's messages, checks them, and writes their typed accessors: Go functions in the catalogs' directory, which embed and register them, and a TypeScript module that formats the same messages in pages with golet-runtime.
|
Package i18ngen reads the catalogs of an app's messages, checks them, and writes their typed accessors: Go functions in the catalogs' directory, which embed and register them, and a TypeScript module that formats the same messages in pages with golet-runtime. |
|
internal/i18nlink
Package i18nlink hands Golet's own strings (internal/l10n) what package i18n does not export: a library's catalog that does not link the formatting of the dates of messages, which i18n.NewLibraryCatalog does for the catalogs of libraries and apps.
|
Package i18nlink hands Golet's own strings (internal/l10n) what package i18n does not export: a library's catalog that does not link the formatting of the dates of messages, which i18n.NewLibraryCatalog does for the catalogs of libraries and apps. |
|
internal/idlemem
command
Command idlemem launches apps and reports how much memory each takes once idle, alone and with the processes it runs, its webview's: scripts/bench.ts measures release builds of examples/hello and examples/counter-native with it on every push to main.
|
Command idlemem launches apps and reports how much memory each takes once idle, alone and with the processes it runs, its webview's: scripts/bench.ts measures release builds of examples/hello and examples/counter-native with it on every push to main. |
|
internal/inputlatency
command
Command inputlatency measures how long input takes to show on screen in native UI on macOS: from when an event arrives to when the frame showing it reaches the display.
|
Command inputlatency measures how long input takes to show on screen in native UI on macOS: from when an event arrives to when the frame showing it reaches the display. |
|
internal/l10n
Package l10n holds Golet's own strings, those of the controls of package ui, of the code editor and the diff viewer, and of the roles of menus, in the languages Golet is translated to: a library's catalog (see i18n.NewLibraryCatalog) of the namespace golet, whose functions say them in the language the app shows.
|
Package l10n holds Golet's own strings, those of the controls of package ui, of the code editor and the diff viewer, and of the roles of menus, in the languages Golet is translated to: a library's catalog (see i18n.NewLibraryCatalog) of the namespace golet, whose functions say them in the language the app shows. |
|
internal/linux
Package linux implements the Linux backend (GTK 3 + WebKitGTK) in pure Go: the libraries are loaded at run time with purego, no cgo.
|
Package linux implements the Linux backend (GTK 3 + WebKitGTK) in pure Go: the libraries are loaded at run time with purego, no cgo. |
|
internal/nsis
Package nsis pins the NSIS that golet build downloads on Windows to make the installer, and installs it into the user's cache directory, where makensis runs as it does from an installation.
|
Package nsis pins the NSIS that golet build downloads on Windows to make the installer, and installs it into the user's cache directory, where makensis runs as it does from an installation. |
|
internal/platform
Package platform defines the contract between the public golet API and the native backends (WKWebView on macOS, WebKitGTK on Linux, WebView2 on Windows).
|
Package platform defines the contract between the public golet API and the native backends (WKWebView on macOS, WebKitGTK on Linux, WebView2 on Windows). |
|
internal/prefetch
command
Command prefetch downloads into the user's cache what this repository's tests otherwise download there while they run: the native libraries that the plugins name in their golet-plugin.json, for this platform, and on Windows the NSIS that golet build uses.
|
Command prefetch downloads into the user's cache what this repository's tests otherwise download there while they run: the native libraries that the plugins name in their golet-plugin.json, for this platform, and on Windows the NSIS that golet build uses. |
|
internal/raster
Package raster draws scenes in memory: the software renderer behind headless rendering, window captures and windows without a GPU renderer.
|
Package raster draws scenes in memory: the software renderer behind headless rendering, window captures and windows without a GPU renderer. |
|
internal/rope
Package rope stores text as a persistent tree of chunks of UTF-8: an AVL tree whose leaves own up to 4 KB of the text each, and whose nodes sum the bytes, runes, UTF-16 units and newlines below them, as Zed's rope sums its chunks.
|
Package rope stores text as a persistent tree of chunks of UTF-8: an AVL tree whose leaves own up to 4 KB of the text each, and whose nodes sum the bytes, runes, UTF-16 units and newlines below them, as Zed's rope sums its chunks. |
|
internal/scene
Package scene is the display list the ui package paints a frame into and the renderers draw: rounded rectangles with borders and gradients, box shadows, glyphs from a shared atlas, images, effects and clips, in paint order.
|
Package scene is the display list the ui package paints a frame into and the renderers draw: rounded rectangles with borders and gradients, box shadows, glyphs from a shared atlas, images, effects and clips, in paint order. |
|
internal/shader
Package shader compiles shaders written in Go's syntax into the intermediate representation of package shaderir, which its backends translate for each GPU renderer.
|
Package shader compiles shaders written in Go's syntax into the intermediate representation of package shaderir, which its backends translate for each GPU renderer. |
|
internal/shaderir
Package shaderir offers intermediate representation for shader programs, forked from Ebitengine with package shader (see its documentation).
|
Package shaderir offers intermediate representation for shader programs, forked from Ebitengine with package shader (see its documentation). |
|
internal/shaderir/interp
Package interp runs shaders on the CPU, for Golet's CPU renderer: it compiles a program of package shaderir into Go closures, which compute what the GPU renderers' code computes, within the rounding of their floats.
|
Package interp runs shaders on the CPU, for Golet's CPU renderer: it compiles a program of package shaderir into Go closures, which compute what the GPU renderers' code computes, within the rounding of their floats. |
|
internal/surface
Package surface connects the content of a window that Golet draws itself (package ui) to the window (package golet), without either importing the other's internals.
|
Package surface connects the content of a window that Golet draws itself (package ui) to the window (package golet), without either importing the other's internals. |
|
internal/svg
Package svg parses SVG documents and draws them into pixels, for the icons and pictures of package ui, in Go alone.
|
Package svg parses SVG documents and draws them into pixels, for the icons and pictures of package ui, in Go alone. |
|
internal/text
Package text lays out text and rasterizes glyphs with the system's own text stack: DirectWrite on Windows, Core Text on macOS and Pango with cairo on Linux.
|
Package text lays out text and rasterizes glyphs with the system's own text stack: DirectWrite on Windows, Core Text on macOS and Pango with cairo on Linux. |
|
internal/tsgen
Package tsgen generates a typed TypeScript client for Go services bound with golet.Bind and events declared with golet.NewEvent.
|
Package tsgen generates a typed TypeScript client for Go services bound with golet.Bind and events declared with golet.NewEvent. |
|
internal/tsgen/internal/fixture
Package fixture declares types used to test the TypeScript generator.
|
Package fixture declares types used to test the TypeScript generator. |
|
internal/uigen
command
Command uigen generates the checked public UI facade from the private renderer API.
|
Command uigen generates the checked public UI facade from the private renderer API. |
|
internal/uimigrate
Package uimigrate migrates source syntax to the UI's checked value API.
|
Package uimigrate migrates source syntax to the UI's checked value API. |
|
internal/uivet
Package uivet checks native UI build lifetimes using Go type information.
|
Package uivet checks native UI build lifetimes using Go type information. |
|
internal/unsupported
Package unsupported is the backend for platforms without a native implementation.
|
Package unsupported is the backend for platforms without a native implementation. |
|
internal/update
Package update holds what the updater of package golet and `golet build` share: the update manifest, signatures, versions, and the formats of archives and delta updates.
|
Package update holds what the updater of package golet and `golet build` share: the update manifest, signatures, versions, and the formats of archives and delta updates. |
|
internal/vec
Package vec rasterizes vector paths (lines, quadratic and cubic Bézier curves) into anti-aliased coverage masks, with the signed area accumulation of font-rs: every edge adds the area it covers to the cells it crosses, and a running sum along each row gives the coverage.
|
Package vec rasterizes vector paths (lines, quadratic and cubic Bézier curves) into anti-aliased coverage masks, with the signed area accumulation of font-rs: every edge adds the area it covers to the cells it crosses, and a running sum along each row gives the coverage. |
|
internal/wait
Package wait is how Golet's tests wait for what happens elsewhere: on the main thread, in another goroutine or process, in the window system or the file system.
|
Package wait is how Golet's tests wait for what happens elsewhere: on the main thread, in another goroutine or process, in the window system or the file system. |
|
internal/watchdriver
Package watchdriver runs the native file watchers of the backends on one goroutine each: the goroutine owns the system's handles, adds and removes targets between waits, and reports what the system tells it.
|
Package watchdriver runs the native file watchers of the backends on one goroutine each: the goroutine owns the system's handles, adds and removes targets between waits, and reports what the system tells it. |
|
internal/web
Package web is the backend for browsers (GOOS=js, GOARCH=wasm): windows showing content Golet draws itself (package ui) on canvases of the page, drawn with WebGL 2 by the GL renderer (package gl), or in memory where the browser has no WebGL 2.
|
Package web is the backend for browsers (GOOS=js, GOARCH=wasm): windows showing content Golet draws itself (package ui) on canvases of the page, drawn with WebGL 2 by the GL renderer (package gl), or in memory where the browser has no WebGL 2. |
|
internal/webview2
Package webview2 finds the Microsoft Edge WebView2 Runtime as WebView2Loader.dll does.
|
Package webview2 finds the Microsoft Edge WebView2 Runtime as WebView2Loader.dll does. |
|
internal/windows
Package windows implements the Golet backend for Windows: Win32 windows hosting WebView2, called through the syscall package (no cgo).
|
Package windows implements the Golet backend for Windows: Win32 windows hosting WebView2, called through the syscall package (no cgo). |
|
locales/zh-Hans
Package zhhans translates Golet's own strings, those of its controls, dialogs and menus, to 简体中文 (zh-Hans), for apps that ship that language.
|
Package zhhans translates Golet's own strings, those of its controls, dialogs and menus, to 简体中文 (zh-Hans), for apps that ship that language. |
|
locales/zh-Hant
Package zhhant translates Golet's own strings, those of its controls, dialogs and menus, to 繁體中文 (zh-Hant), for apps that ship that language.
|
Package zhhant translates Golet's own strings, those of its controls, dialogs and menus, to 繁體中文 (zh-Hant), for apps that ship that language. |
|
plugins/chromium/cmd/setup
command
|
|
|
plugins/fetch
Package fetch is the fetch plugin of Golet: pages make HTTP requests from Go with the fetch of its JavaScript package, @golet-plugins/fetch, which takes and returns the standard Request options and Response.
|
Package fetch is the fetch plugin of Golet: pages make HTTP requests from Go with the fetch of its JavaScript package, @golet-plugins/fetch, which takes and returns the standard Request options and Response. |
|
plugins/game
Package game has what games need beyond what apps do, opt-in, out of Golet's core ui: a game loop that updates a world in fixed steps with the player's input and draws it every frame (View), and a camera that looks at a 2D world (Camera), shown pixel-perfect at any size through a ui.Canvas (IntegerFit).
|
Package game has what games need beyond what apps do, opt-in, out of Golet's core ui: a game loop that updates a world in fixed steps with the player's input and draws it every frame (View), and a camera that looks at a 2D world (Camera), shown pixel-perfect at any size through a ui.Canvas (IntegerFit). |
|
plugins/game/gamepad
Package gamepad reads game controllers: their buttons, triggers and sticks in the standard layout of an Xbox controller, which the W3C's Gamepad API and SDL's game controller database name, whatever pad it is:
|
Package gamepad reads game controllers: their buttons, triggers and sticks in the standard layout of an Xbox controller, which the W3C's Gamepad API and SDL's game controller database name, whatever pad it is: |
|
plugins/glass
Package glass draws Liquid Glass in native UI, as macOS 26 and later draw it (AppKit's NSGlassEffectView), on every platform: what the elements under it painted shows through, blurred, bent near its edges as through the rim of a lens, and lit along its hairline rim.
|
Package glass draws Liquid Glass in native UI, as macOS 26 and later draw it (AppKit's NSGlassEffectView), on every platform: what the elements under it painted shows through, blurred, bent near its edges as through the rim of a lens, and lit along its hairline rim. |
|
plugins/glass/internal/gen
command
Command gen compiles the glass's and the blur's shaders ahead of time, so that renderers start without compiling them: the Metal libraries on macOS, with Xcode's metal tools, into shaders_darwin.go, and the Direct3D bytecode on Windows, with the system's d3dcompiler_47.dll, into shaders_windows.go.
|
Command gen compiles the glass's and the blur's shaders ahead of time, so that renderers start without compiling them: the Metal libraries on macOS, with Xcode's metal tools, into shaders_darwin.go, and the Direct3D bytecode on Windows, with the system's d3dcompiler_47.dll, into shaders_windows.go. |
|
plugins/loading
Package loading has the 29 loading indicators of loading.dev (https://loading.dev, Jakub Krehel's loading-dev for React) for native UI: arcs, dots, bars and blocks that Golet draws itself, each a ui element that moves as long as it shows.
|
Package loading has the 29 loading indicators of loading.dev (https://loading.dev, Jakub Krehel's loading-dev for React) for native UI: arcs, dots, bars and blocks that Golet draws itself, each a ui element that moves as long as it shows. |
|
plugins/sqlite
Package sqlite is Golet's SQLite plugin.
|
Package sqlite is Golet's SQLite plugin. |
|
plugins/sqlite/internal/libbuild
command
Builds SQLite's C amalgamation and the plugin's C shim with Zig 0.16:
|
Builds SQLite's C amalgamation and the plugin's C shim with Zig 0.16: |
|
plugins/terminal
Package terminal is a terminal for Golet's native UI: a view that runs a shell, or any program, in a pseudo-terminal, with the terminal emulator of Ghostty, libghostty-vt, and draws it with package ui.
|
Package terminal is a terminal for Golet's native UI: a view that runs a shell, or any program, in a pseudo-terminal, with the terminal emulator of Ghostty, libghostty-vt, and draws it with package ui. |
|
plugins/terminal/internal/libbuild
command
Libbuild builds libghostty-vt for every platform Golet supports from Ghostty's sources at a commit, with Zig (the version Ghostty asks for), and writes golet-plugin.json, which names the files and their SHA-256 for the CLI and the terminal package, and ghostty_themes.go, the themes that Ghostty ships:
|
Libbuild builds libghostty-vt for every platform Golet supports from Ghostty's sources at a commit, with Zig (the version Ghostty asks for), and writes golet-plugin.json, which names the files and their SHA-256 for the CLI and the terminal package, and ghostty_themes.go, the themes that Ghostty ships: |
|
plugins/terminal/internal/library
Package library finds libghostty-vt for the terminal plugin: next to the app, in the user's cache, or downloaded there, as golet-plugin.json names it.
|
Package library finds libghostty-vt for the terminal plugin: next to the app, in the user's cache, or downloaded there, as golet-plugin.json names it. |
|
plugins/terminal/internal/pty
Package pty runs processes in pseudo-terminals, in pure Go: /dev/ptmx on macOS and Linux, ConPTY on Windows.
|
Package pty runs processes in pseudo-terminals, in pure Go: /dev/ptmx on macOS and Linux, ConPTY on Windows. |
|
plugins/terminal/internal/vt
Package vt binds libghostty-vt, the terminal emulator of Ghostty, which it loads at run time through purego: no cgo.
|
Package vt binds libghostty-vt, the terminal emulator of Ghostty, which it loads at run time through purego: no cgo. |
|
plugins/updater
Package updater is the update window of Golet apps, in the manner of Sparkle on macOS.
|
Package updater is the update window of Golet apps, in the manner of Sparkle on macOS. |
|
plugins/updater/internal/frontend
Package frontend is what the updater shares with the windows that show its sessions: package updater shows them in a web page, package native in native UI.
|
Package frontend is what the updater shares with the windows that show its sessions: package updater shows them in a web page, package native in native UI. |
|
plugins/updater/internal/markdown
Package markdown parses the release notes of the update window.
|
Package markdown parses the release notes of the update window. |
|
plugins/updater/native
Package native is the update window of package updater drawn in native UI (package ui) instead of a web page, for apps whose windows all show native UI: it needs no webview, so neither WebKitGTK on Linux nor the WebView2 Runtime on Windows.
|
Package native is the update window of package updater drawn in native UI (package ui) instead of a web page, for apps whose windows all show native UI: it needs no webview, so neither WebKitGTK on Linux nor the WebView2 Runtime on Windows. |
|
plugins/watch
Package watch is the watch plugin of Golet: it lets pages watch for changes to the files and directories the app names (see @golet-plugins/watch).
|
Package watch is the watch plugin of Golet: it lets pages watch for changes to the files and directories the app names (see @golet-plugins/watch). |
|
plugins/websocket
Package websocket is the WebSocket plugin of Golet: pages open WebSocket connections from Go with the WebSocket class of its JavaScript package, @golet-plugins/websocket, which has the API of the browser's.
|
Package websocket is the WebSocket plugin of Golet: pages open WebSocket connections from Go with the WebSocket class of its JavaScript package, @golet-plugins/websocket, which has the API of the browser's. |
|
transfer
Package transfer describes data exchanged through the clipboard and native drag and drop.
|
Package transfer describes data exchanged through the clipboard and native drag and drop. |
|
ui
Package ui builds user interfaces that Golet draws itself, on the GPU where it can, for windows that show no web page:
|
Package ui builds user interfaces that Golet draws itself, on the GPU where it can, for windows that show no web page: |
|
ui/chart
Package chart builds charts in native UI without a look of their own, as headless libraries do on the web: scales that map data onto a plot and pick round ticks, a plot with axes around it, marks that are elements you style as any other, paths of lines, areas and pie slices for Draw functions, stacking, and a selection that the pointer and the keyboard move.
|
Package chart builds charts in native UI without a look of their own, as headless libraries do on the web: scales that map data onto a plot and pick round ticks, a plot with axes around it, marks that are elements you style as any other, paths of lines, areas and pie slices for Draw functions, stacking, and a selection that the pointer and the keyboard move. |
|
ui/editor
Package editor is a code editor and a diff viewer for Golet's native UI, on package ui.
|
Package editor is a code editor and a diff viewer for Golet's native UI, on package ui. |
|
ui/shader
Package shader draws with shaders an app writes: fragment shaders in Go's syntax, which run on the GPU, whichever renderer draws the window (Metal, Direct3D 11, OpenGL or WebGL 2), and on the CPU where none can.
|
Package shader draws with shaders an app writes: fragment shaders in Go's syntax, which run on the GPU, whichever renderer draws the window (Metal, Direct3D 11, OpenGL or WebGL 2), and on the CPU where none can. |
Click to show internal directories.
Click to hide internal directories.