pure go, cross-platform, MIT-licensed ui toolkit for developers
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples examples/image: blank import jpeg+png+gif decoders Apr 17, 2018
.gitignore remove duit-prefix from the examples Jan 6, 2018
.travis.yml travis: use latest Go patch versions Apr 17, 2018
FAQ.md update docs Apr 17, 2018
Gopkg.toml use dep, adding Gopkg.toml Feb 20, 2018
LICENSE.md add readme & license, for (early) publication at fosdem Feb 3, 2018
Makefile run go vet during build, and fix problem found Jan 1, 2018
README.md mention blog post for more context Apr 17, 2018
TODO.md update docs Apr 17, 2018
alert.go tweak to error handling Feb 18, 2018
box.go replace internal scale() by calls to Scale() that does work, and fix … Apr 24, 2018
button.go it's DUI.Primary, not duit.Primary Feb 18, 2018
buttongroup.go add some docs to populate godoc.org, and minor code changes Feb 11, 2018
center.go add some docs to populate godoc.org, and minor code changes Feb 11, 2018
checkbox.go add some docs Feb 14, 2018
doc.go add some docs Feb 14, 2018
duit.go try harder to quit on cmd+w Apr 27, 2018
edit.go add missing ensureInit() calls in edit Feb 26, 2018
edithist.go don't panic/quit on errors during ui operation Feb 7, 2018
editvi.go add some docs Feb 14, 2018
error.go don't panic/quit on errors during ui operation Feb 7, 2018
field.go use minimum/maximum functions in a few more places Feb 19, 2018
grid.go use minimum/maximum functions in a few more places Feb 19, 2018
gridlist.go use minimum/maximum functions in a few more places Feb 19, 2018
helper.go add a new type Event, for callbacks from UIs to their creators Jan 9, 2018
icon.go add some docs Feb 14, 2018
image.go add some docs Feb 14, 2018
kids.go in KidsMouse, propagate warp mouse offset properly Feb 18, 2018
label.go add some docs Feb 14, 2018
list.go list: focus on middle of selected element Feb 20, 2018
middle.go add some docs Feb 14, 2018
pick.go add some docs Feb 14, 2018
place.go add some docs Feb 14, 2018
radiobutton.go make Radiobutton.Group its own type, and give it a Selected() function Feb 20, 2018
readimage.go add some docs Feb 14, 2018
rounded.go better rounded corners Dec 25, 2017
scroll.go replace internal scale() by calls to Scale() that does work, and fix … Apr 24, 2018
space.go add some docs to populate godoc.org, and minor code changes Feb 11, 2018
split.go add some docs Feb 14, 2018
tabs.go add some docs Feb 14, 2018
ui.go add some docs Feb 14, 2018

README.md

GoDoc Build Status

duit - developer ui toolkit

WARNING: this library is work in progress. backwards incompatible changes will be made.

details

duit is a pure go (*), cross platform, MIT-licensed ui toolkit for developers. the api is small and uncomplicated.

duit works on the bsd's, linux and macos. it should be easy to get running on plan 9. for now, use the windows subsystem for linux on windows.

(*) duit currently needs a helper tool called devdraw, from plan9port (aka plan 9 from user space). plan9port is available for most unix systems, with devdraw in an x11 and native macos variant.

screenshots

duit screenshot

you should just try duit. using it and interacting with it gives a more complete impression.

instructions

setting this up currently requires some effort:

  • run dep ensure, to clone github.com/mjl-/go as 9fans.net/go.
  • install plan9port, see https://9fans.github.io/plan9port/ (use their install instructions)
  • install a nice font. i use & recommend lato for a modern look. duit will automatically pick it up through $font (through plan9port's fontsrv), e.g.: export font=/mnt/font/Lato-Regular/15a/font

you should now be able to run the code in examples/

devdraw is not yet available as a native binary for windows. for now, use the windows subsystem for linux (ubuntu) on windows along with Xming. see https://github.com/elrzn/acme-wsl for instructions.

created with duit

see https://github.com/mjl- for applications. applications created with duit by other developers:

  • be the first to add your application here! (:

more

  • for context, see the announcement blog post.
  • for questions, first see FAQ.md.
  • file an issue on this github repo if you found a bug.
  • submit a PR if you wrote code (and see TODO.md).
  • join #duit on freenode (irc).
  • mail me at mechiel@ueber.net (no mailing list yet).