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