aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2008-04-04 09:19:19 +0000
committergotmor <gotmor@f2baff5b-bf2c-0410-a398-912abdc3d8b2>2008-04-04 09:19:19 +0000
commited38d9e8ea2430c4e180ec552413f4b8763292c3 (patch)
tree0b0182c97f7f57843ca7670372ceb1394e82340f
parent247c29b4d5b6bec972e7ee3d79e83d436a7905b4 (diff)
downloaddzen-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.c57
1 files changed, 29 insertions, 28 deletions
diff --git a/main.c b/main.c
index a4832fa..d405a6d 100644
--- a/main.c
+++ b/main.c
@@ -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.