diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2013-11-27 23:36:44 -0800 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2013-11-27 23:36:44 -0800 |
commit | 73c82c6b983e39e24f49c2c794d654bd349309d3 (patch) | |
tree | 02cace53e9c4e44907b2cb551b02310b59426b48 /prtype.c | |
parent | d7eb5a954115ed3defcbc89a40ad66b3c353dc90 (diff) | |
download | xscope-73c82c6b983e39e24f49c2c794d654bd349309d3.tar.gz |
Print correct event names for events sent via SendEvent requests
The high bit of an X11 event id is set to 0 for events generated by the
server, 1 for events sent from another client via SendEvent requests.
Previously xscope printed:
..............EVENT: **INVALID** (150)
Now it prints:
..............EVENT: ConfigureNotify
source: SendEvent
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'prtype.c')
-rw-r--r-- | prtype.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -613,6 +613,28 @@ PrintEVENTFORM(const unsigned char *buf) return 32; } +int +PrintEVENT(const unsigned char *buf) +{ + uint8_t n = IByte(buf); + long e = (long) (n & 0x7f); + struct ValueListEntry *p; + + p = TD[EVENT].ValueList; + while (p != NULL && p->Value != e) + p = p->Next; + + if (p != NULL) + fprintf(stdout, "%s", p->Name); + else + fprintf(stdout, "**INVALID** (%d)", n); + + if (n & 0x80) + fprintf(stdout, "\n%s%20s: %s", Leader, "source", "SendEvent"); + + return 1; +} + /* ************************************************************ */ int |