2019-12-02 18:23:00 +00:00
|
|
|
#include <X11/Intrinsic.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Disclaimer: No I don't actually code like this but this is a simple,
|
|
|
|
* "Quick-n-Dirty", plain, vanilla, "No ups, No extras" piece of code.
|
|
|
|
*/
|
|
|
|
|
2021-02-26 18:01:22 +00:00
|
|
|
main(argc, argv) int argc;
|
|
|
|
char** argv;
|
2019-12-02 18:23:00 +00:00
|
|
|
{
|
2021-02-26 18:01:22 +00:00
|
|
|
Display* dpy;
|
|
|
|
int screen;
|
|
|
|
Window window;
|
|
|
|
XEvent event;
|
|
|
|
extern Boolean use_separate_lines;
|
|
|
|
|
|
|
|
if (!(dpy = XOpenDisplay(""))) {
|
|
|
|
printf("Failed to open display...\n");
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
screen = DefaultScreen(dpy);
|
|
|
|
|
|
|
|
window = XCreateSimpleWindow(
|
|
|
|
dpy,
|
|
|
|
RootWindow(dpy, screen),
|
|
|
|
100,
|
|
|
|
100,
|
|
|
|
300,
|
|
|
|
200,
|
|
|
|
2,
|
|
|
|
BlackPixel(dpy, screen),
|
|
|
|
WhitePixel(dpy, screen));
|
|
|
|
|
|
|
|
XSelectInput(
|
|
|
|
dpy,
|
|
|
|
window,
|
|
|
|
KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask |
|
|
|
|
EnterWindowMask | LeaveWindowMask | PointerMotionMask |
|
|
|
|
PointerMotionHintMask | Button1MotionMask | Button2MotionMask |
|
|
|
|
Button3MotionMask | Button4MotionMask | Button5MotionMask |
|
|
|
|
ButtonMotionMask | KeymapStateMask | ExposureMask | VisibilityChangeMask |
|
|
|
|
StructureNotifyMask | SubstructureNotifyMask | SubstructureRedirectMask |
|
|
|
|
FocusChangeMask | PropertyChangeMask | ColormapChangeMask |
|
|
|
|
OwnerGrabButtonMask);
|
|
|
|
|
|
|
|
XMapWindow(dpy, window);
|
|
|
|
|
|
|
|
/* set this to false to make ShowEvent take up less vertival space */
|
|
|
|
use_separate_lines = True;
|
|
|
|
|
|
|
|
while (1) {
|
|
|
|
XNextEvent(dpy, &event);
|
|
|
|
printf("Detail of %s event:\n", GetType(&event));
|
|
|
|
ShowEvent(&event);
|
|
|
|
printf("\n\n");
|
|
|
|
}
|
2019-12-02 18:23:00 +00:00
|
|
|
}
|