pure go, cross-platform, MIT-licensed ui toolkit for developers
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 6 commits ahead of mjl-:master.
ktye edit: search selected text with Button3
It scrolls the selected text into view and updates the cursor.
Howto warp the mouse to the new selection?
Latest commit b5e969b Jun 2, 2018
Permalink
Failed to load latest commit information.
examples add Target assignments to widgets Jun 1, 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 edit: search selected text with Button3 Jun 2, 2018
TODO.md update docs Apr 17, 2018
alert.go tweak to error handling Feb 18, 2018
box.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
button.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
buttongroup.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
center.go add some docs to populate godoc.org, and minor code changes Feb 11, 2018
checkbox.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
doc.go add some docs Feb 14, 2018
duit.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
edit.go edit: search selected text with Button3 Jun 2, 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 add Target assignments to widgets Jun 1, 2018
grid.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
gridlist.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
helper.go add a new type Event, for callbacks from UIs to their creators Jan 9, 2018
icon.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
image.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
kids.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
label.go add Target assignments to widgets Jun 1, 2018
list.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
middle.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
pick.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
place.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
radiobutton.go add Target assignments to widgets Jun 1, 2018
readimage.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
rounded.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
scroll.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
space.go add some docs to populate godoc.org, and minor code changes Feb 11, 2018
split.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018
tabs.go add some docs Feb 14, 2018
ui.go replace 9fans/go/draw with ktye/duitdraw Jun 1, 2018

README.md

GoDoc Build Status

Notes on the fork (ktye)

This is an experimental for to test a few things. Changes:

  • Use shiny backend (ktye/duitdraw) instead of 9fans/go/draw
    • It's go gettable, no need to manually install duitdraw
  • Implement Target assignments mjl-/duit#9
  • Edit: search selected Text with Button3 mjl-/duit#10
    • it scrolls the new selection into view
    • TODO: how to warp the mouse to it?

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).