5d96993ee1
the program. Close #4. |
||
---|---|---|
.. | ||
bigreq | ||
composite | ||
damage | ||
dpms | ||
dri2 | ||
examples | ||
ge | ||
glx | ||
randr | ||
record | ||
render | ||
res | ||
screensaver | ||
shape | ||
shm | ||
sync | ||
xcmisc | ||
xevie | ||
xf86dri | ||
xf86vidmode | ||
xfixes | ||
xgbgen | ||
xinerama | ||
xinput | ||
xprint | ||
xproto | ||
xselinux | ||
xtest | ||
xv | ||
xvmc | ||
.gitignore | ||
auth.go | ||
AUTHORS | ||
conn.go | ||
CONTRIBUTORS | ||
cookie.go | ||
doc.go | ||
help.go | ||
LICENSE | ||
log.go | ||
Makefile | ||
README | ||
STYLE | ||
sync.go | ||
xgb.go |
XGB is 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 modeled 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. Note that unless you know you need XGB, you can probably make your life easier by using a slightly higher level library: xgbutil. Quick Usage =========== go get github.com/BurntSushi/xgb go run go/path/src/github.com/BurntSushi/xgb/examples/create-window/main.go BurntSushi's Fork ================= I've forked the XGB repository from Google Code due to inactivty upstream. Godoc documentation can be found here: http://godoc.burntsushi.net/pkg/github.com/BurntSushi/xgb/ 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* What follows is the original README: XGB README ========== XGB is the X protocol Go language Binding. It is the Go equivalent of XCB, the X protocol C-language Binding (http://xcb.freedesktop.org/). Unless otherwise noted, the XGB source files are distributed under the BSD-style license found in the LICENSE file. Contributions should follow the same procedure as for the Go project: http://golang.org/doc/contribute.html