# 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

