Commit Graph

78 Commits

Author SHA1 Message Date
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
Andrew Gallant (Ocelot) 13eff4bec3
Tests were move to xproto package a long time ago. Update README. 2018-09-08 16:49:15 +02:00
Andrew Gallant (Ocelot) 08275ebda8
Doc fixes and stop exporting ReplyChecked and ReplyUnchecked 2018-09-08 16:49:15 +02:00
Andrew Gallant (Ocelot) a9eae45cb3
Refresh build. Eh. 2018-09-08 16:49:14 +02:00
Andrew Gallant (Ocelot) 22ceab8074
Add rules for installing all packages. 2018-09-08 16:49:14 +02:00
Andrew Gallant (Ocelot) e9dc18b4f9
Doc fix. 2018-09-08 16:49:14 +02:00
Andrew Gallant (Ocelot) 744c9688cc
Benchmark with gomaxprocs=3 too 2018-09-08 16:49:13 +02:00
Andrew Gallant (Ocelot) 8ee0ea9899
A pathological example for profiling purposes. Use 'make test'. 2018-09-08 16:49:13 +02:00
Andrew Gallant (Ocelot) e960f4d34e
Add some style guidelines. 2018-09-08 16:49:07 +02:00
Paul Sbarra cd22f99b20 auth: use encoding.binary 2012-05-28 17:58:32 -05:00
Andrew Gallant (Ocelot) 4ea94ca0fe Bug fix in the generator that was outputting %(MISSING) crud. 2012-05-26 18:24:52 -04:00
Andrew Gallant (Ocelot) 58bb2572c5 Doc touchups. 2012-05-26 18:22:25 -04:00
Andrew Gallant (Ocelot) acb84171e5 Add new logger type so that it can be shut off. 2012-05-16 23:57:26 -04:00
Andrew Gallant (Ocelot) 424f293671 export logger so it can be disabled 2012-05-16 23:26:19 -04:00
Andrew Gallant (Ocelot) 45a4ee92eb close channels. 2012-05-12 22:17:10 -04:00
Andrew Gallant (Ocelot) 6bdfd1d1b1 A more idiomatic way of trying a non-blocking send on a buffered channel
and falling back to a blocking send inside a goroutine.

This really needs to be fixed. The situation only arises when events are
sent and aren't pulled off the channel using {Wait,Poll}ForEvent.
Namely, if the event send blocks, the entire program will deadlock.

Using a goroutine is not ideal because we lose a guarantee of order:
that events are processed in the order of their arrival. However, it
seems OK as a temporary band-aide for a situation that probably doesn't
arise too often.

What I need to do is implement a dynamic queue. Here is a reference
implementation: http://play.golang.org/p/AiHBsxTFpj
2012-05-12 21:55:57 -04:00
Andrew Gallant (Ocelot) 7abc9c6455 added some docs and removed some extraneous code 2012-05-12 21:44:53 -04:00
Andrew Gallant (Ocelot) 24fef4062a docs 2012-05-12 21:36:31 -04:00
Andrew Gallant (Ocelot) f77feff864 some docs in the Makefile and removing a prefix that isn't needed. 2012-05-12 21:27:47 -04:00
Andrew Gallant (Ocelot) aa95801b2d panic when an extension request is issued before an extension has been initialized. but give a nice error message for the happy people. 2012-05-11 23:59:38 -04:00
Andrew Gallant (Ocelot) 29942bf078 panic when an extension request is issued before an extension has been initialized. but give a nice error message for the happy people. 2012-05-11 23:58:52 -04:00
Andrew Gallant (Ocelot) fb3128ed2a doc updates and a quick usage 2012-05-11 02:01:29 -04:00
Andrew Gallant (Ocelot) 3e6b354493 add a little more docs for errors 2012-05-11 01:58:52 -04:00
Andrew Gallant (Ocelot) c00652934e better docs 2012-05-10 23:57:34 -04:00
Andrew Gallant (Ocelot) a3363755cd adding package header comments 2012-05-10 20:06:22 -04:00
Andrew Gallant (Ocelot) 0c50dc6241 a huge commit. splitting extensions into their own sub-packages. 2012-05-10 17:01:42 -04:00
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
Andrew Gallant (Ocelot) 00c6217ca9 update 2012-05-08 23:03:55 -04:00
Andrew Gallant (Ocelot) 5d64f69030 fixed nasty bug that made XGB not thread safe 2012-05-08 23:03:45 -04:00
Andrew Gallant (Ocelot) 62b293c937 use a custom logger so we don't stomp all over the global log configuration 2012-05-08 00:27:00 -04:00
Andrew Gallant (Ocelot) e256da00b1 gofmt 2012-05-07 21:58:43 -04:00