Go to file
Jeff Carr 33f46be98b trying in vain to figure out which goroutine I'm in
Signed-off-by: Jeff Carr <jcarr@wit.com>
2023-02-23 21:18:19 -06:00
autobuild BUILD: fix import paths 2021-08-09 01:29:18 -05:00
bench1 BENCH: add some benchmarks 2021-09-01 14:45:20 -05:00
broken CLEAN: rename files 2021-09-01 14:34:07 -05:00
dns-over-wikipedia great rust & javascript example. clean code! 2022-12-02 21:08:22 -06:00
example-bench-fast-timer BENCH: add some benchmarks 2021-09-01 14:45:20 -05:00
example-bench-readWriteOps BENCH: add some benchmarks 2021-09-01 14:45:20 -05:00
example-expect BUILD: add rules to go get all the build deps 2021-09-01 20:07:52 -05:00
example-flag CODE: add an ARGV processing example 2021-09-01 14:55:34 -05:00
example-go-channel wrap waitgroup around every function call 2022-11-14 09:51:18 -06:00
example-gocui-active BUILD: add more commands to automatically build 2021-09-01 13:05:30 -05:00
example-gocui-colorstrue BUILD: add more commands to automatically build 2021-09-01 13:05:30 -05:00
example-gocui-dynamic BUILD: add more commands to automatically build 2021-09-01 13:05:30 -05:00
example-gocui-mouse BUILD: add rules to go get all the build deps 2021-09-01 20:07:52 -05:00
example-gpt-3 more stuff 2023-02-23 20:50:15 -06:00
example-gui GUI: add a example for wit/gui 2021-09-01 21:05:06 -05:00
example-json-decode CLEAN: rename files 2021-09-01 13:57:59 -05:00
example-lookupAAAA BUILD: add rules to go get all the build deps 2021-09-01 20:07:52 -05:00
example-nohup BUILD: add rules to go get all the build deps 2021-09-01 20:07:52 -05:00
example-packr NEW: add a example that packs files into the go binary 2021-09-03 11:37:50 -05:00
example-pprof BUILD: add pprof 2021-09-01 13:24:53 -05:00
example-pprof-simple trying in vain to figure out which goroutine I'm in 2023-02-23 21:18:19 -06:00
example-protobuf GUI: add a example for wit/gui 2021-09-01 21:05:06 -05:00
example-shell BUILD: add rules to go get all the build deps 2021-09-01 20:07:52 -05:00
example-sqlc/authors DB: add a sqlc database example 2021-09-09 21:53:41 -05:00
example-ssh CLEAN: rename files 2021-09-01 14:34:07 -05:00
example-systray DOCS: add a gif 2021-09-01 20:41:56 -05:00
example-test -s 2019-06-13 17:53:47 -07:00
example-ui-controlgallery CLEANUP: lots of file renames 2021-09-01 13:18:33 -05:00
example-ui-multiple-windows BUILD: more makefile updates 2021-09-01 13:46:08 -05:00
example-ui-radiobutton UI: dump out editbox text 2021-09-01 15:26:08 -05:00
example-ui-show-hide CLEAN: rename files 2021-09-01 13:57:59 -05:00
example-ui-splash BUILD: more makefile updates 2021-09-01 13:46:08 -05:00
example-ui-table UI: minor update 2021-09-11 00:19:06 -05:00
go-web-browser put the binary in here since it's a PITA to build 2023-01-26 09:18:21 -06:00
.gitattributes attempt 'git lfs track "*.psd"' 2022-12-09 23:22:52 -06:00
.gitignore a working golang gpt-3 example 2022-12-03 19:22:34 -06:00
LICENSE -s 2019-06-13 17:53:47 -07:00
Makefile NEW: add a example that packs files into the go binary 2021-09-03 11:37:50 -05:00
README.md DOCS: add list of what is here 2021-09-01 21:16:18 -05:00

README.md

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-radiobutton

test image

example-systray

test image test image test image

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