From 6d9775a54f539d3ca744c0de80f5ff5d9feeb322 Mon Sep 17 00:00:00 2001 From: xyz Date: Mon, 2 May 2022 05:22:20 -0700 Subject: init --- main.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 main.c (limited to 'main.c') diff --git a/main.c b/main.c new file mode 100644 index 0000000..7603a26 --- /dev/null +++ b/main.c @@ -0,0 +1,47 @@ +// edit source code from: https://github.com/gvalkov/xrectsel +//#include +#include +#include + +//int main (int argc, char *argv[]) +int main (void) +{ + int int_tmp; + unsigned int uint_tmp; + Window window_tmp; + + int rootx=0, rooty=0; + + Display * disp = XOpenDisplay(NULL); + Screen * scr = ScreenOfDisplay(disp, DefaultScreen(disp)); + Window root = RootWindow(disp, XScreenNumberOfScreen(scr)); + + XGCValues gcval; + gcval.foreground = XWhitePixel(disp, 0); + gcval.function = GXxor; + gcval.background = XBlackPixel(disp, 0); + gcval.plane_mask = gcval.background ^ gcval.foreground; + gcval.subwindow_mode = IncludeInferiors; + GC gc = XCreateGC(disp, root, + GCFunction|GCForeground|GCBackground|GCSubwindowMode, + &gcval); + + XQueryPointer(disp, root, &window_tmp, &window_tmp, &rootx, &rooty, &int_tmp, &int_tmp, &uint_tmp); + //printf("%d\n", DisplayWidth(disp, DefaultScreen(disp))); + //printf("%d\n\n", DisplayHeight(disp, DefaultScreen(disp))); + // XGetGeometry() maybe better, instead of DisplayHeight() and DisplayWidth() + XDrawLine(disp, root, gc, rootx, 0, rootx, DisplayHeight(disp, DefaultScreen(disp))); + XDrawLine(disp, root, gc, 0, rooty, DisplayWidth(disp, DefaultScreen(disp)), rooty); + //XDrawRectangle(disp, root, gc, 1000, 1000, 1000, 1000); + XFlush(disp); + + XUngrabPointer(disp, CurrentTime); + XUngrabKeyboard(disp, CurrentTime); + //XFreeCursor(disp, cursor); + XFreeGC(disp, gc); + XSync(disp, True); + + XCloseDisplay(disp); + + return 0; +} -- cgit v1.2.3-70-g09d2