# list of examples: ``` # shell things cd example-nohup; go install # minimum golang 'cmd' cd example-expect; go install # traditional 'expect' shell automation cd example-shell; go install # a tty wrapper cd example-gocui-mouse; go install # mouse interaction cd example-gocui-active; go install # ytalk cd example-gocui-colorstrue; go install # shell colors cd example-gocui-dynamic; go install # interactive movement # GUI things cd example-systray; go install # an example systray menu (cross platform) cd example-ui-splash; go install # an example GUI with drop down menus, etc cd example-ui-controlgallery; go install # an example GUI with drop down menus, etc cd example-ui-radiobutton; go install # slidebars, lists, radio buttons cd example-ui-table; go install # spreadsheet cd example-ui-show-hide; go install # toggle hide, show # wit/gui things cd example-gui; go install # an example using the wit/gui wrapper # misc cd example-lookupAAAA; go install # nslookup cd example-json-decode; go install # raw golang byte handling cd example-ssh; go install # scp example # golang things cd example-flag; go install # process argv cd example-pprof; go install # dump out go process internals cd example-protobuf; go install # convert json into golang protobuf struct cd example-bench-fast-timer; go install # time golang channels cd example-bench-readWriteOps; go install # uses channels to time select ``` # example-ui-* This is a set of demo apps that use the AndLabs UI toolkit. It also uses a wrapper around it that puts all the gtk elements in a structure so they can all be accessed. This code should compile and work on Linux, MacOS and Windows. It is very *alpha*. # IMPORTANT NOTES To use the cross platform UI, all GUI interactions must be done from within the same goroutine for it to work properly on Windows. This is an annoying limitation of how Windows works (or so it appears. maybe someone will figure out how to fix that) This means the Windows version of this GUI will probably always be sub-par verses the Linux and Macintosh versions # clone ``` go get -v -t -u git.wit.org/jcarr/golang-examples ``` # prep (download all the golang build dependancies) ``` cd ~/go/src/git.wit.org/jcarr/golang-examples witgoget='-v -t -u' make prep ``` # build ``` make build ``` # screenshots ## example-ui-table ![test image](example-ui-table/screenshot.png) ## example-ui-radiobutton ![test image](example-ui-radiobutton/capture.gif) ## example-systray ![test image](example-systray/capture.gif) ![test image](example-systray/capture.mp4) ![test image](example-systray/capture.webm) # License This is a GPL 3.0 Project. # Credits * All the GO developers & Google * The andlabs people that made the golang cross platform UI * All the kernel, KVM and QEMU developers