haven/nexgb
Andrew Gallant (Ocelot) e239bb3c68 make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
..
examples lots of docs and examples 2012-05-07 04:09:19 -04:00
xgbgen make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
.gitignore last commit before i tear everything down 2012-04-29 14:09:03 -04:00
AUTHORS initial commit. not currently in a working state. 2012-04-28 23:25:57 -04:00
CONTRIBUTORS initial commit. not currently in a working state. 2012-04-28 23:25:57 -04:00
LICENSE initial commit. not currently in a working state. 2012-04-28 23:25:57 -04:00
Makefile more clean up. use log instead of fmt.Print to stderr. bug fix for event blocking (a hack fix for now). 2012-05-07 21:58:33 -04:00
README more clean up. use log instead of fmt.Print to stderr. bug fix for event blocking (a hack fix for now). 2012-05-07 21:58:33 -04:00
auth.go important stuff first please 2012-05-07 04:17:11 -04:00
auto_bigreq.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_composite.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_damage.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_dpms.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_dri2.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_ge.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_glx.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_randr.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_record.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_render.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_res.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_screensaver.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_shape.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_shm.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_sync.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xc_misc.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xevie.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xf86dri.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xf86vidmode.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xfixes.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xinerama.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xinput.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xprint.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xproto.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xselinux.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xtest.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xv.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
auto_xvmc.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
conn.go use a custom logger so we don't stomp all over the global log configuration 2012-05-08 00:27:00 -04:00
cookie.go added tests 2012-05-07 01:00:45 -04:00
doc.go lots of docs and examples 2012-05-07 04:09:19 -04:00
xgb.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00
xgb_help.go more clean up. use log instead of fmt.Print to stderr. bug fix for event blocking (a hack fix for now). 2012-05-07 21:58:33 -04:00
xgb_test.go make resource ids their own individual types. last commit before overhaul to sub-packages 2012-05-10 12:47:19 -04:00

README

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

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