Commit Graph

216 Commits

Author SHA1 Message Date
Přemysl Eric Janouch d04c140a69
ht: add generated wcwidth tables and algorithm 2018-10-07 18:09:09 +02:00
Přemysl Eric Janouch cd6c9e4d8c
ht: add generated X11 keysym maps
Now we can make sense of keysyms and translate them to text.
2018-10-07 18:09:09 +02:00
Přemysl Eric Janouch bf14fd5e04
Update README
Some reprioritization was in order.  Added some resources for hss.
2018-10-07 18:09:08 +02:00
Přemysl Eric Janouch 228c3f3914
hasp: add a libasciidoc preprocessor 2018-10-07 18:09:08 +02:00
Přemysl Eric Janouch 7d51aaa9a4
hpcu: add a selection unifier
So far not supporting large selections.
2018-09-30 18:45:29 +02:00
Přemysl Eric Janouch f198f9f6ac
xgb-selection: add a demo to track X11 selections 2018-09-30 18:45:29 +02:00
Přemysl Eric Janouch 106e9b82b8
nexgb: update README 2018-09-30 17:34:27 +02:00
Přemysl Eric Janouch 139c50b748
nexgb: update to xcb-proto 1.13 2018-09-30 17:34:27 +02:00
Přemysl Eric Janouch e6e4e94436
nexgb: regenerate from xcb-proto 1.12
To refresh documentation.
2018-09-30 17:34:27 +02:00
Přemysl Eric Janouch 7051829581
xgbgen: make request function signatures shorter 2018-09-30 17:34:26 +02:00
Přemysl Eric Janouch 3e9ed4eac6
xgbgen: process <doc> elements
Most of XCB documentation now ends up in Go sources,
although the end result is of mixed quality.
2018-09-30 17:34:26 +02:00
Přemysl Eric Janouch 0056720d05
xgbgen: generate proper sentences with full stops 2018-09-30 17:34:26 +02:00
Přemysl Eric Janouch 28a5112532
nexgb: export {Major,Minor}Version for extensions 2018-09-30 17:34:25 +02:00
Přemysl Eric Janouch 1a53c005e9
nexgb: gofmt 2018-09-30 17:34:25 +02:00
Přemysl Eric Janouch 07bf9881cc
nexgb: relicense xgbgen to 0BSD
Doing what the fuck I want to.

Included BurntSushi as a copyright holder because
under the Berne convention he totally is.
2018-09-30 17:34:25 +02:00
Přemysl Eric Janouch 7aa2601e66
nexgb: rewrite import paths 2018-09-21 08:37:59 +02:00
Přemysl Eric Janouch 48fb710f35
nexgb: post-merge fixups and cleanups
AUTHORS, CONTRIBUTORS: still useful, add people from git log, clean up.

LICENSE: Google doesn't really grant you shit anymore.  The EU doesn't
have software patents either, so it doesn't affect me directly.

README, doc.go: erase mentions of unmaintained xgbutil.
2018-09-08 19:51:53 +02:00
Přemysl Eric Janouch 3173202cc1
Merge aarzilli/xgb, branch xcb1.12 as nexgb
History has been linearized and rewritten to stay under the new
subdirectory.  I want to make changes incompatible to BurntSushi/xgb.

The history begs for being thrown away entirely because of its quality
and because it doesn't cover the Google period but it is still useful
for copyright tracking.
2018-09-08 16:54:17 +02:00
aarzilli 3906399e7c
Regenerated from xcb-proto 1.12 2018-09-08 16:49:27 +02:00
aarzilli 1c01d79ba1
Changed xgbgen to support xcb-proto 1.12
* Added minimal support for switch fields.
* Changed the way Size is calculated to accomodate for lists inside structs
  (added to randr)
* Removed heuristic to place alignment gaps, they are now explicitly
  described in xml
2018-09-08 16:49:26 +02:00
aarzilli a102c4056f
Makefile: do not redefine $XPROTO if it's already defined. 2018-09-08 16:49:26 +02:00
Rabin Vincent 1f83ea75a2
Remove stray format char in randr example 2018-09-08 16:49:26 +02:00
Andrew Gallant 1614b58c42
fix structs with field name of 'Bytes'
(it conflict with a method of the same name that is generated for
all such structs)
2018-09-08 16:49:25 +02:00
aarzilli 8d343cfd3a
Handle wildcard values in Xauthority file
Some field values in the Xauthority file have special meanings:
- a value of 65535 in the 'family' field means that the entry will
match a connection of any family on any address
- an empty string in the 'display number' field means that the entry
will match a connection on any display number

This behaviour is documented at:
https://cgit.freedesktop.org/xorg/lib/libXau/tree/AuGetBest.c#n109
2018-09-08 16:49:25 +02:00
aarzilli becaf43dcb
Read/Write mutex for Extensions map 2018-09-08 16:49:24 +02:00
aarzilli baff8c1906
sendRequest reads req.buf after closing req.seq
NewRequest says you can avoid reallocating a new buffer for each request by calling it directly.
This is not true if req.seq is closed before req.buf is read.
2018-09-08 16:49:24 +02:00
Andrew Gallant 5451e59f88
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.
2018-09-08 16:49:24 +02:00
Bryan Matsuo dd00568d44
assign a sequence id to the cookie before returning from Conn.NewRequest 2018-09-08 16:49:23 +02:00
fangyuanziti a1d1151017
add a new api: NewConnNet 2018-09-08 16:49:23 +02:00
Andrew Gallant ef8155bf17
Formatting and 80 cols. 2018-09-08 16:49:23 +02:00
aarzilli a548d9d0f7
Fix Issue #21: automatic calculation of alignment padding after lists 2018-09-08 16:49:22 +02:00
snyh 1f8bd79abe
examples:randr use info.Connection to detect whether there has any Randr.Modes 2018-09-08 16:49:22 +02:00
snyh 64c6e6170d
example/randr: check the GetOutputInfo's mode length (virtual head can have zero mode) 2018-09-08 16:49:22 +02:00
Andrew Gallant 76f9adb599
Use consistent extension names. Close #6. 2018-09-08 16:49:21 +02:00
Andrew Gallant 33509dbeb0
It appears that the "Str" type (which is built into the core X protocol)
doesn't specify any padding. So it has to be treated as a special case.

Close #12.
2018-09-08 16:49:21 +02:00
Andrew Gallant ad9c35a02f
shortcuts for the lazy 2018-09-08 16:49:20 +02:00
Andrew Gallant 2dc9914b5e
When writing, don't pad the length of bytes produced from inner
structs/unions. Each type should take care of its own padding.

Close #14.
2018-09-08 16:49:20 +02:00
Andrew Gallant f0385db3a7
Regenerate xgb with latest XML descriptions. 2018-09-08 16:49:20 +02:00
Andrew Gallant 5a07ac7108
Fix fmt'd output for union list writing. 2018-09-08 16:49:19 +02:00
Andrew Gallant efe87cb908
Ignore the "fd" field for the time being (for the shm extension only). 2018-09-08 16:49:19 +02:00
Andrew Gallant 3b4adabee1
The `sync` and `xinput` extensions now use the `switch` field, which
XGB does not currently support. Therefore, I'm removing the sync and
xinput extensions.

This affects issues #11 and #13.
2018-09-08 16:49:19 +02:00
Axel Wagner 2104b8fcdf
Export the logger (again)
Just enabling or disabling logging falls short of the power of
interfaces of go. A user is forced to either accept the logging to
stderr in the format defined by xgb or disable logging alltogether. By
exporting the logger, we can actually let the user decide where to log
in what format.
2018-09-08 16:49:18 +02:00
Andrew Gallant 38b293e74d
Padding on a list is on the length of the list.
There was a bug where padding was being computed on each element of the
list. Close #5.
2018-09-08 16:49:18 +02:00
Andrew Gallant b06a8ca976
Don't needlessly change source files every time. 2018-09-08 16:49:18 +02:00
Andrew Gallant 0685fb57e1
Update to latest xproto XML. 2018-09-08 16:49:17 +02:00
Andrew Gallant 4b20ffaf4f
Updated to work with new xproto XML files.
Namely, the "doc" element is ignored. Also, I've sorted everything
before output so that diff isn't completely useless.
2018-09-08 16:49:17 +02:00
Andrew Gallant 5d96993ee1
Fixed a nasty bug where closing could cause ReadFull to crash
the program. Close #4.
2018-09-08 16:49:16 +02:00
Andrew Gallant 3658686aee
gofmt 2018-09-08 16:49:16 +02:00
Andrew Gallant e635de5e1d
Provide access to the X display number in the XGB Conn. 2018-09-08 16:49:16 +02:00
Andrew Gallant (Ocelot) 269a7b9cc6
The hack continues. I've increased the event channel buffer. I know I'm
goofing here.

What I'd personally like to do is just use an "infinite" channel. That
is, push the limit of how many events can be processed to the machine
and not set an artificial limit in XGB. Some day...
2018-09-08 16:49:15 +02:00