github.com/robotn/xgb@v0.0.0-20190912153532-2cb92d044934/README (about) 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 Quick Usage 14 =========== 15 go get github.com/robotn/xgb 16 go run go/path/src/github.com/robotn/xgb/examples/create-window/main.go 17 18 BurntSushi's Fork 19 ================= 20 I've forked the XGB repository from Google Code due to inactivty upstream. 21 22 Godoc documentation can be found here: 23 http://godoc.burntsushi.net/pkg/github.com/robotn/xgb/ 24 25 Much of the code has been rewritten in an effort to support thread safety 26 and multiple extensions. Namely, go_client.py has been thrown away in favor 27 of an xgbgen package. 28 29 The biggest parts that *haven't* been rewritten by me are the connection and 30 authentication handshakes. They're inherently messy, and there's really no 31 reason to re-work them. The rest of XGB has been completely rewritten. 32 33 I like to release my code under the WTFPL, but since I'm starting with someone 34 else's work, I'm leaving the original license/contributor/author information 35 in tact. 36 37 I suppose I can legitimately release xgbgen under the WTFPL. To be fair, it is 38 at least as complex as XGB itself. *sigh* 39 40 What follows is the original README: 41 42 XGB README 43 ========== 44 XGB is the X protocol Go language Binding. 45 46 It is the Go equivalent of XCB, the X protocol C-language Binding 47 (http://xcb.freedesktop.org/). 48 49 Unless otherwise noted, the XGB source files are distributed 50 under the BSD-style license found in the LICENSE file. 51 52 Contributions should follow the same procedure as for the Go project: 53 http://golang.org/doc/contribute.html 54