haven/nexgb
Přemysl Janouch 48fb710f35
nexgb: post-merge fixups and cleanups
AUTHORS, CONTRIBUTORS: still useful, add people from git log, clean up.

LICENSE: Google doesn't really grant you shit anymore.  The EU doesn't
have software patents either, so it doesn't affect me directly.

README, doc.go: erase mentions of unmaintained xgbutil.
2018-09-08 19:51:53 +02:00
..
bigreq Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
composite Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
damage Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
dpms Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
dri2 Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
examples Remove stray format char in randr example 2018-09-08 16:49:26 +02:00
ge Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
glx Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
randr Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
record Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
render Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
res fix structs with field name of 'Bytes' 2018-09-08 16:49:25 +02:00
screensaver Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
shape Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
shm Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
xcmisc Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
xevie Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
xf86dri Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
xf86vidmode Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
xfixes Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
xgbgen nexgb: post-merge fixups and cleanups 2018-09-08 19:51:53 +02:00
xinerama Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
xprint Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
xproto Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
xselinux Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
xtest Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
xv Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
xvmc Read/Write mutex for Extensions map 2018-09-08 16:49:24 +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: post-merge fixups and cleanups 2018-09-08 19:51:53 +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.