README (2170B)
1 XGB is the X Go Binding, which is a low-level API to communicate with the 2 core X protocol and many of the X extensions. It is closely modeled after 3 XCB and xpyb. 4 5 It is thread safe and gets immediate improvement from parallelism when 6 GOMAXPROCS > 1. (See the benchmarks in xproto/xproto_test.go for evidence.) 7 8 Please see doc.go for more info. 9 10 Note that unless you know you need XGB, you can probably make your life 11 easier by using a slightly higher level library: xgbutil. 12 13 This is a fork of github.com/BurntSushi/xgb 14 15 Quick Usage 16 =========== 17 go get github.com/jezek/xgb 18 go run go/path/src/github.com/jezek/xgb/examples/create-window/main.go 19 20 jezek's Fork 21 ============ 22 I've forked the XGB repository from BurntSushi's github to apply some 23 patches which caused panics and memory leaks upon close and tests were added, 24 to test multiple server close scenarios. 25 26 BurntSushi's Fork 27 ================= 28 I've forked the XGB repository from Google Code due to inactivty upstream. 29 30 Godoc documentation can be found here: 31 https://godoc.org/github.com/BurntSushi/xgb 32 33 Much of the code has been rewritten in an effort to support thread safety 34 and multiple extensions. Namely, go_client.py has been thrown away in favor 35 of an xgbgen package. 36 37 The biggest parts that *haven't* been rewritten by me are the connection and 38 authentication handshakes. They're inherently messy, and there's really no 39 reason to re-work them. The rest of XGB has been completely rewritten. 40 41 I like to release my code under the WTFPL, but since I'm starting with someone 42 else's work, I'm leaving the original license/contributor/author information 43 in tact. 44 45 I suppose I can legitimately release xgbgen under the WTFPL. To be fair, it is 46 at least as complex as XGB itself. *sigh* 47 48 What follows is the original README: 49 50 XGB README 51 ========== 52 XGB is the X protocol Go language Binding. 53 54 It is the Go equivalent of XCB, the X protocol C-language Binding 55 (http://xcb.freedesktop.org/). 56 57 Unless otherwise noted, the XGB source files are distributed 58 under the BSD-style license found in the LICENSE file. 59 60 Contributions should follow the same procedure as for the Go project: 61 http://golang.org/doc/contribute.html 62