Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The X Go Binding is a low-level API to communicate with the X server. It is modeled on XCB and supports many X extensions.
Go Makefile
Branch: master

Remove panics/fatal errors.

Fixes #9.

This makes shutdown a little more graceful, but there's more
work to be done here. Namely, all outstanding cookies need to
be given the error, otherwise they will block forever.
latest commit 3ac861bb07
@BurntSushi authored
Failed to load latest commit information.
bigreq Don't needlessly change source files every time.
composite Use consistent extension names. Close #6.
damage When writing, don't pad the length of bytes produced from inner
dpms Don't needlessly change source files every time.
dri2 Fix Issue #21: automatic calculation of alignment padding after lists
examples Formatting and 80 cols.
ge Use consistent extension names. Close #6.
glx Fix Issue #21: automatic calculation of alignment padding after lists
randr Fix Issue #21: automatic calculation of alignment padding after lists
record Fix Issue #21: automatic calculation of alignment padding after lists
render Fix Issue #21: automatic calculation of alignment padding after lists
res Fix Issue #21: automatic calculation of alignment padding after lists
screensaver Regenerate xgb with latest XML descriptions.
shape Don't needlessly change source files every time.
shm Regenerate xgb with latest XML descriptions.
xcmisc Fix Issue #21: automatic calculation of alignment padding after lists
xevie Fix Issue #21: automatic calculation of alignment padding after lists
xf86dri Fix Issue #21: automatic calculation of alignment padding after lists
xf86vidmode Fix Issue #21: automatic calculation of alignment padding after lists
xfixes Fix Issue #21: automatic calculation of alignment padding after lists
xgbgen Formatting and 80 cols.
xinerama Fix Issue #21: automatic calculation of alignment padding after lists
xprint Fix Issue #21: automatic calculation of alignment padding after lists
xproto Fix Issue #21: automatic calculation of alignment padding after lists
xselinux Fix Issue #21: automatic calculation of alignment padding after lists
xtest Don't needlessly change source files every time.
xv Fix Issue #21: automatic calculation of alignment padding after lists
xvmc Fix Issue #21: automatic calculation of alignment padding after lists
.gitignore last commit before i tear everything down
AUTHORS initial commit. not currently in a working state.
CONTRIBUTORS initial commit. not currently in a working state.
LICENSE initial commit. not currently in a working state.
Makefile shortcuts for the lazy
README Tests were move to xproto package a long time ago. Update README.
STYLE Add some style guidelines.
auth.go auth: use encoding.binary
conn.go add a new api: NewConnNet
cookie.go Remove panics/fatal errors.
doc.go gofmt
help.go Doc fix.
sync.go docs
xgb.go Remove panics/fatal errors.

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

Something went wrong with that request. Please try again.