wm/vend/xgb
a 65162b1651 can now query monitors 2023-06-15 10:24:04 -05:00
..
bigreq update deps 2023-06-11 09:21:08 -05:00
composite update deps 2023-06-11 09:21:08 -05:00
damage update deps 2023-06-11 09:21:08 -05:00
dpms update deps 2023-06-11 09:21:08 -05:00
dri2 update deps 2023-06-11 09:21:08 -05:00
examples update deps 2023-06-11 09:21:08 -05:00
ge update deps 2023-06-11 09:21:08 -05:00
glx update deps 2023-06-11 09:21:08 -05:00
randr update deps 2023-06-11 09:21:08 -05:00
record update deps 2023-06-11 09:21:08 -05:00
render update deps 2023-06-11 09:21:08 -05:00
res update deps 2023-06-11 09:21:08 -05:00
screensaver update deps 2023-06-11 09:21:08 -05:00
shape update deps 2023-06-11 09:21:08 -05:00
shm update deps 2023-06-11 09:21:08 -05:00
xcmisc update deps 2023-06-11 09:21:08 -05:00
xevie update deps 2023-06-11 09:21:08 -05:00
xf86dri update deps 2023-06-11 09:21:08 -05:00
xf86vidmode update deps 2023-06-11 09:21:08 -05:00
xfixes update deps 2023-06-11 09:21:08 -05:00
xgbgen update deps 2023-06-11 09:21:08 -05:00
xinerama update deps 2023-06-11 09:21:08 -05:00
xprint update deps 2023-06-11 09:21:08 -05:00
xproto can now query monitors 2023-06-15 10:24:04 -05:00
xselinux update deps 2023-06-11 09:21:08 -05:00
xtest update deps 2023-06-11 09:21:08 -05:00
xv update deps 2023-06-11 09:21:08 -05:00
xvmc update deps 2023-06-11 09:21:08 -05:00
.gitignore update deps 2023-06-11 09:21:08 -05:00
AUTHORS update deps 2023-06-11 09:21:08 -05:00
CONTRIBUTORS update deps 2023-06-11 09:21:08 -05:00
LICENSE update deps 2023-06-11 09:21:08 -05:00
Makefile update deps 2023-06-11 09:21:08 -05:00
README update deps 2023-06-11 09:21:08 -05:00
STYLE update deps 2023-06-11 09:21:08 -05:00
auth.go update deps 2023-06-11 09:21:08 -05:00
conn.go update deps 2023-06-11 09:21:08 -05:00
cookie.go update deps 2023-06-11 09:21:08 -05:00
doc.go update deps 2023-06-11 09:21:08 -05:00
go.mod update deps 2023-06-11 09:21:08 -05:00
help.go update deps 2023-06-11 09:21:08 -05:00
sync.go update deps 2023-06-11 09:21:08 -05:00
testingTools.go update deps 2023-06-11 09:21:08 -05:00
testingTools_test.go update deps 2023-06-11 09:21:08 -05:00
xgb.go update deps 2023-06-11 09:21:08 -05:00
xgb_test.go update deps 2023-06-11 09:21:08 -05: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 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.

This is a fork of github.com/BurntSushi/xgb

Quick Usage
===========
go get github.com/jezek/xgb
go run go/path/src/github.com/jezek/xgb/examples/create-window/main.go

jezek's Fork
============
I've forked the XGB repository from BurntSushi's github to apply some
patches which caused panics and memory leaks upon close and tests were added,
to test multiple server close scenarios.

BurntSushi's Fork
=================
I've forked the XGB repository from Google Code due to inactivty upstream.

Godoc documentation can be found here:
https://godoc.org/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