This is a playground containing various small Gio widgets and demos.
Built in Go with Gio and one extra dependency:
- https://pkg.go.dev/golang.org/x/exp/shiny — for UI icons
For an example implementation, run the Kitchen Sink example:
go run ./examples/kitchen/
Or check it out in your browser:
- https://schnwalter.eu/wasm/kitchen/ — only works in Firefox, blame it on SourceHut, not me
Or check out these applications:
- https://git.sr.ht/~schnwalter/hypatia — a Gemini Protocol browser
- https://git.sr.ht/~schnwalter/enb — a way to change your EFI Next Boot target
To use it within your own project while developing it, you'll have to clone the project and use it as a workspace module.
Create a go.work file in the root of your project and point it to the clone of this repo:
go 1.24.4
use (
.
../schnwalter--gio-mw
)
For testing local Gio changes:
go 1.24.4
use (
.
../eliasnaur--gio
)
| Component | Status |
|---|---|
| App bars | ❌ Not implemented |
| Badges | ❌ Not implemented |
| Bottom navigation | ❌ Not implemented |
| Buttons | ✔️ Implemented |
| Buttons: FAB | ❌ Not implemented |
| Buttons: group | ❌ Not implemented |
| Buttons: icon | ✔️ Implemented |
| Buttons: segmented | ❌ Not implemented |
| Buttons: split | ❌ Not implemented |
| Cards | ✔️ Implemented |
| Carousel | ❌ Not implemented |
| Checkbox | ✔️ Implemented |
| Chips | ❌ Not implemented |
| Date pickers | ❌ Not implemented |
| Dialogs | ✔️ Implemented |
| Divider | ✔️ Implemented |
| Lists | ❌ Not implemented |
| Loading indicators | ❌ Not implemented |
| Menus | ❌ Not implemented |
| Navigation bar | ❌ Not implemented |
| Navigation drawer | ❌ Not implemented |
| Navigation rail | ❌ Not implemented |
| Progress indicators | ✔️ Implemented |
| Radio button | ✔️ Implemented |
| Search | ✔️ Implemented |
| Sheets | ✔️ Implemented |
| Slider | ✔️ Implemented |
| Snackbar | ✔️ Implemented |
| Switch | ✔️ Implemented |
| Tabs | ✔️ Implemented |
| Text fields | ✔️ Implemented |
| Time pickers | ❌ Not implemented |
| Tooltips | ✔️ Implemented |
| Feature | Status |
|---|---|
| Color schemes | ✔️ Implemented |
| Component themes | ✔️ Implemented |
| Dark mode | ✔️ Implemented |
| Elevation | ✔️ Implemented |
| Icons | ✔️ Implemented |
| Light mode | ✔️ Implemented |
| Motion system | ❌ Not implemented |
| Ripple effects | ❌ Not implemented |
| Shape system | ❌ Not implemented |
| Shaped corners | ✔️ Implemented |
| Typography system | ✔️ Implemented |
To add new color schemes, see README