diff options
author | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2008-04-04 09:19:19 +0000 |
---|---|---|
committer | gotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2> | 2008-04-04 09:19:19 +0000 |
commit | ed38d9e8ea2430c4e180ec552413f4b8763292c3 (patch) | |
tree | 0b0182c97f7f57843ca7670372ceb1394e82340f | |
parent | 247c29b4d5b6bec972e7ee3d79e83d436a7905b4 (diff) | |
download | dzen-ed38d9e8ea2430c4e180ec552413f4b8763292c3.tar.gz dzen-ed38d9e8ea2430c4e180ec552413f4b8763292c3.zip |
set strut properties even if override_redirect
git-svn-id: http://dzen.googlecode.com/svn/trunk@222 f2baff5b-bf2c-0410-a398-912abdc3d8b2
-rw-r--r-- | main.c | 57 |
1 files changed, 29 insertions, 28 deletions
@@ -290,7 +290,7 @@ queryscreeninfo(Display *dpy, XRectangle *rect, int screen) { #endif static void -set_docking_ewmh_info(Display *dpy, Window w) { +set_docking_ewmh_info(Display *dpy, Window w, int dock) { unsigned long strut[12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; unsigned long strut_s[4] = { 0, 0, 0, 0 }; XWindowAttributes wa; @@ -337,31 +337,33 @@ set_docking_ewmh_info(Display *dpy, Window w) { ); } - type = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", False); - - XChangeProperty( - dpy, - w, - XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False), - XInternAtom(dpy, "ATOM", False), - 32, - PropModeReplace, - (unsigned char *)&type, - 1 - ); - - desktop = 0xffffffff; - - XChangeProperty( - dpy, - w, - XInternAtom(dpy, "_NET_WM_DESKTOP", False), - XInternAtom(dpy, "CARDINAL", False), - 32, - PropModeReplace, - (unsigned char *)&desktop, - 1 - ); + if(dock) { + type = XInternAtom(dpy, "_NET_WM_WINDOW_TYPE_DOCK", False); + + XChangeProperty( + dpy, + w, + XInternAtom(dpy, "_NET_WM_WINDOW_TYPE", False), + XInternAtom(dpy, "ATOM", False), + 32, + PropModeReplace, + (unsigned char *)&type, + 1 + ); + + desktop = 0xffffffff; + + XChangeProperty( + dpy, + w, + XInternAtom(dpy, "_NET_WM_DESKTOP", False), + XInternAtom(dpy, "CARDINAL", False), + 32, + PropModeReplace, + (unsigned char *)&desktop, + 1 + ); + } } @@ -430,8 +432,7 @@ x_create_windows(int use_ewmh_dock) { XFillRectangle(dzen.dpy, dzen.title_win.drawable, dzen.rgc, 0, 0, dzen.title_win.width, dzen.line_height); /* set some hints for windowmanagers*/ - if (use_ewmh_dock) - set_docking_ewmh_info(dzen.dpy, dzen.title_win.win); + set_docking_ewmh_info(dzen.dpy, dzen.title_win.win, use_ewmh_dock); /* TODO: Smarter approach to window creation so we can reduce the * size of this function. |