haven/nexgb
2020-08-01 14:01:58 +02:00
..
bigreq nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
composite nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
damage nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
dpms nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
dri2 nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
examples nexgb: rewrite import paths 2018-09-21 08:37:59 +02:00
ge nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
glx nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
randr nexgb: update to xcb-proto 1.13 2018-09-30 17:34:27 +02:00
record nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
render nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
res nexgb: update to xcb-proto 1.13 2018-09-30 17:34:27 +02:00
screensaver nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
shape nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
shm nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xcmisc nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xevie nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xf86dri nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xf86vidmode nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xfixes nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xgbgen Name change 2020-08-01 14:01:58 +02:00
xinerama nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xprint nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xproto nexgb: update to xcb-proto 1.13 2018-09-30 17:34:27 +02:00
xselinux nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xtest nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xv nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +02:00
xvmc nexgb: regenerate from xcb-proto 1.12 2018-09-30 17:34:27 +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 Name change 2020-08-01 14:01:58 +02:00
conn.go nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
CONTRIBUTORS Name change 2020-08-01 14:01:58 +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 Name change 2020-08-01 14:01:58 +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 Eric 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.  Notable changes:
 - included aarzilli's changes to support xcb-proto 1.12+, updated to 1.13
 - improved documentation, using as much as possible from XCB's <doc> elements
 - exporting {Major,Minor}Version of extensions for QueryVersion purposes

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.