summaryrefslogtreecommitdiff
path: root/prtype.c
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2013-11-27 23:36:44 -0800
committerAlan Coopersmith <alan.coopersmith@oracle.com>2013-11-27 23:36:44 -0800
commit73c82c6b983e39e24f49c2c794d654bd349309d3 (patch)
tree02cace53e9c4e44907b2cb551b02310b59426b48 /prtype.c
parentd7eb5a954115ed3defcbc89a40ad66b3c353dc90 (diff)
downloadxscope-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.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/prtype.c b/prtype.c
index 5889b52..96523f9 100644
--- a/prtype.c
+++ b/prtype.c
@@ -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