From ec32e9b72539de7e1553a4f70345166107b431f7 Mon Sep 17 00:00:00 2001 From: Aaahh Ahh Date: Tue, 28 Nov 2017 11:45:01 -0500 Subject: Add force desktop window type flag (#4) * Add force desktop window type flag This flag places xwinwrap behind desktop icons on ubuntu * Update README.md --- xwinwrap.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'xwinwrap.c') diff --git a/xwinwrap.c b/xwinwrap.c index 3a44c5e..2cfb8aa 100644 --- a/xwinwrap.c +++ b/xwinwrap.c @@ -133,12 +133,13 @@ static void sigHandler (int sig) static void usage (void) { fprintf(stderr, "%s \n", NAME); - fprintf (stderr, "\nUsage: %s [-g {w}x{h}+{x}+{y}] [-ni] [-argb] [-fs] [-s] [-st] [-sp] [-a] " + fprintf (stderr, "\nUsage: %s [-g {w}x{h}+{x}+{y}] [-ni] [-argb] [-fdt] [-fs] [-s] [-st] [-sp] [-a] [-d] " "[-b] [-nf] [-o OPACITY] [-sh SHAPE] [-ov]-- COMMAND ARG1...\n", NAME); fprintf (stderr, "Options:\n \ -g - Specify Geometry (w=width, h=height, x=x-coord, y=y-coord. ex: -g 640x480+100+100)\n \ -ni - Ignore Input\n \ -argb - RGB\n \ + -fdt - force WID window a desktop type window\n \ -fs - Full Screen\n \ -un - Undecorated\n \ -s - Sticky\n \ @@ -275,6 +276,7 @@ int main(int argc, char **argv) bool have_argb_visual = false; bool noInput = false; bool argb = false; + bool set_desktop_type = false; bool fullscreen = false; bool noFocus = false; bool override = false; @@ -309,6 +311,10 @@ int main(int argc, char **argv) { argb = true; } + else if (strcmp (argv[i], "-fdt") == 0) + { + set_desktop_type = true; + } else if (strcmp (argv[i], "-fs") == 0) { fullscreen = 1; @@ -526,7 +532,12 @@ int main(int argc, char **argv) xa = ATOM(_NET_WM_WINDOW_TYPE); Atom prop; - prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL); + if (set_desktop_type) + { + prop = ATOM(_NET_WM_WINDOW_TYPE_DESKTOP); + } else { + prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL); + } XChangeProperty(display, window.window, xa, XA_ATOM, 32, PropModeReplace, (unsigned char *) &prop, 1); -- cgit 1.4.1