haven/nexgb
Přemysl Janouch 3e9ed4eac6
xgbgen: process <doc> elements
Most of XCB documentation now ends up in Go sources,
although the end result is of mixed quality.
2018-09-30 17:34:26 +02:00
..
bigreq nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
composite nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
damage nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
dpms nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
dri2 nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
examples nexgb: rewrite import paths 2018-09-21 08:37:59 +02:00
ge nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
glx nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
randr nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
record nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
render nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
res nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
screensaver nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
shape nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
shm nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xcmisc nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xevie nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xf86dri nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xf86vidmode nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xfixes nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xgbgen xgbgen: process <doc> elements 2018-09-30 17:34:26 +02:00
xinerama nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xprint nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xproto nexgb: rewrite import paths 2018-09-21 08:37:59 +02:00
xselinux nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xtest nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xv nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
xvmc nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
.gitignore last commit before i tear everything down 2012-04-29 14:09:03 -04:00
auth.go nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
AUTHORS nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
conn.go nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
CONTRIBUTORS nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
cookie.go nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
doc.go nexgb: rewrite import paths 2018-09-21 08:37:59 +02:00
help.go nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
LICENSE nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
Makefile nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
README nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
STYLE nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
sync.go nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
xgb.go nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00

neXGB is a fork of a fork of the X Go Binding, which is a low-level API to
communicate with the core X protocol and many of the X extensions.
It is closely modelled after XCB and xpyb.

It is thread safe and gets immediate improvement from parallelism when
GOMAXPROCS > 1. (See the benchmarks in xproto/xproto_test.go for evidence.)

Please see doc.go for more info.

Quick usage
-----------
 go get janouch.name/haven/nexgb
 go run $GOPATH/src/janouch.name/haven/nexgb/examples/create-window/main.go

Přemysl Janouch's fork
----------------------
I've merged BurntSushi/xgb into haven as a subdirectory due to a/ inactivity
upstream, and b/ intentions to make incompatible changes meant to be in sync
with the rest of the project.

It's Not Exactly XGB anymore.

BurntSushi's fork
-----------------
I've forked the XGB repository from Google Code due to inactivity upstream.

Much of the code has been rewritten in an effort to support thread safety
and multiple extensions. Namely, go_client.py has been thrown away in favor
of an xgbgen package.

The biggest parts that *haven't* been rewritten by me are the connection and
authentication handshakes. They're inherently messy, and there's really no
reason to re-work them. The rest of XGB has been completely rewritten.

I like to release my code under the WTFPL, but since I'm starting with someone
else's work, I'm leaving the original license/contributor/author information
in tact.

I suppose I can legitimately release xgbgen under the WTFPL. To be fair, it is
at least as complex as XGB itself. *sigh*

License
-------
Unless otherwise noted, the neXGB source files are distributed
under the BSD-style license found in the LICENSE file.