You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.9 KiB
Plaintext
56 lines
1.9 KiB
Plaintext
xgbutil is a utility library designed to work with the X Go Binding. This
|
|
project's main goal is to make various X related tasks easier. For example,
|
|
binding keys, using the EWMH or ICCCM specs with the window manager,
|
|
moving/resizing windows, assigning function callbacks to particular events,
|
|
drawing images to a window, etc.
|
|
|
|
xgbutil attempts to be thread safe, but it has not been completely tested in
|
|
this regard. In general, the X event loop implemented in the xevent package is
|
|
sequential. The idea is to be sequential by default, and let the user spawn
|
|
concurrent code at their discretion. (i.e., the complexity of making the main
|
|
event loop generally concurrent is vast.)
|
|
|
|
You may sleep safely at night by assuming that XGB is thread safe, though.
|
|
|
|
To start using xgbutil, you should have at least a passing familiarity with X.
|
|
Your first stop should be the examples directory.
|
|
|
|
Installation
|
|
============
|
|
go get github.com/BurntSushi/xgbutil
|
|
|
|
Dependencies
|
|
============
|
|
XGB is the main dependency. Use of the xgraphics packages requires graphics-go
|
|
and freetype-go.
|
|
|
|
XGB project URL: https://github.com/BurntSushi/xgb
|
|
|
|
Quick Example
|
|
=============
|
|
go get github.com/BurntSushi/xgbutil/_examples/window-name-sizes
|
|
"$GOPATH"/bin/window-name-sizes
|
|
|
|
The output will be a list of names of all top-level windows and their geometry
|
|
including window manager decorations. (Assuming your window manager supports
|
|
some basic EWMH properties.)
|
|
|
|
Documentation
|
|
=============
|
|
https://godoc.org/github.com/BurntSushi/xgbutil
|
|
|
|
Examples
|
|
========
|
|
There are several examples in the examples directory covering common use cases.
|
|
They are heavily documented and should run out of the box.
|
|
|
|
Python
|
|
======
|
|
An older project of mine, xpybutil, served as inspiration for xgbutil. If you
|
|
want to use Python, xpybutil should help quite a bit. Please note though, that
|
|
at this point, xgbutil provides a lot more functionality and is much better
|
|
documented.
|
|
|
|
xpybutil project URL: https://github.com/BurntSushi/xpybutil
|
|
|