- Go 98.3%
- C 1.3%
- Python 0.4%
| assets | ||
| autopilot | ||
| components | ||
| device | ||
| docs | ||
| examples | ||
| fonts | ||
| icons | ||
| inputmethod | ||
| internal | ||
| style | ||
| third_party | ||
| tools | ||
| touch | ||
| .gitattributes | ||
| .gitignore | ||
| .kata.toml | ||
| AGENTS.md | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| README.md | ||
Fade
Adwaita-style components for Go and Fyne 2.8. Buttons, inputs, preferences, and window chrome, built from libadwaita's stylesheet and measured GTK widgets.
Try it
go run ./examples/gallery
go run ./examples/gallery -scheme dark -accent purple
You'll need Go 1.27.1 and Fyne's native build dependencies. The gallery has controls, boxed lists, and typography.
Components live in components/, one package per component. Fonts and icons
are embedded. On Linux, custom window chrome uses X11/XWayland. Use
FADE_WINDOW=decorated for system decorations.
Fade uses third_party/glfw-touch through a local Go module replacement. It adds
Wayland touch: the first finger is the pointer, and the touch
package gives a widget the others, as the map does for pinch zoom.
External apps need the same replacement — see the setup guide.
device.Mobile() tells an app it runs on a phone or tablet:
Fyne knows on Android, and on Linux the chassis type does, as hostnamectl chassis
reports it. FADE_DEVICE=mobile or FADE_DEVICE=desktop overrides it.
autopilot drives an app from a script, for demos and
screen recordings: FADE_AUTOPILOT=demo.txt go run -tags autopilot . See
scripted demos.
On Phosh, use FYNE_PLATFORM=wayland for native on-screen keyboard support in
Fade entries. See input setup or run
FYNE_PLATFORM=wayland go run ./examples/keyboard.
The result is close to Adwaita. Text rendering and shadows still differ from GTK.
- Development guide — first window through custom components, tests, and packaging.
- Rendering notes — measurements, reference tools, and remaining differences.
Map component
components/mapview is a vector map drawn in Go, without a web view. It pans, zooms
and searches, shows markers and GPX/GeoJSON tracks, keeps its map data for offline
use, and is sized for phones.
go run ./examples/mapdemo
Map usage and limits · the demo.
Test
go test ./...
Use go test -tags ci ./... on machines without native graphics build dependencies.
Native smoke check: go run ./examples/gallery -smoke. Usage.
License
Fade's original code is MIT-licensed. Bundled fonts, icons, GLFW, and vecmap retain their upstream licenses.