No description
  • Go 98.3%
  • C 1.3%
  • Python 0.4%
Find a file
2026-10-06 20:41:08 +02:00
assets vibecoded :stamp: 2026-10-01 15:57:47 +02:00
autopilot autopilot: drive Android apps too 2026-10-06 16:13:47 +02:00
components Move webview component outside the tree 2026-10-06 20:41:08 +02:00
device device: tell a phone from a computer 2026-10-06 11:50:08 +02:00
docs Move webview component outside the tree 2026-10-06 20:41:08 +02:00
examples Move webview component outside the tree 2026-10-06 20:41:08 +02:00
fonts initial release 2026-09-28 23:21:57 +02:00
icons icons: star-new, to add a favourite 2026-10-06 17:50:31 +02:00
inputmethod Merge native Wayland text input 2026-09-29 17:40:32 +02:00
internal autopilot: drive Android apps too 2026-10-06 16:13:47 +02:00
style new bottomsheet component 2026-10-01 10:58:16 +02:00
third_party device: tell a phone from a computer 2026-10-06 11:50:08 +02:00
tools Move webview component outside the tree 2026-10-06 20:41:08 +02:00
touch wayland multitouch and map pinch zoom 2026-09-29 17:07:28 +02:00
.gitattributes native Wayland text input and on-screen keyboard support 2026-09-29 17:37:31 +02:00
.gitignore Move webview component outside the tree 2026-10-06 20:41:08 +02:00
.kata.toml initial release 2026-09-28 23:21:57 +02:00
AGENTS.md initial release 2026-09-28 23:21:57 +02:00
go.mod add map markers, tracks and saved bookmarks 2026-09-29 21:29:08 +02:00
go.sum initial release 2026-09-28 23:21:57 +02:00
LICENSE initial release 2026-09-28 23:21:57 +02:00
README.md Move webview component outside the tree 2026-10-06 20:41:08 +02:00

Fade

Vibecoded: some or all of this code was written by AI and accepted on vibes

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.