own_window_type
- if own_window is yes, you may specify type normal or desktop
- (default: normal). Desktop windows are special windows that
- have no window decorations; are always visible on your desktop;
- do not appear in your pager or taskbar; and are sticky across
- all workspaces.
+ if own_window is yes, you may specify type normal, desktop or
+ override (default: normal). Desktop windows are special windows
+ that have no window decorations; are always visible on your
+ desktop; do not appear in your pager or taskbar; and are sticky
+ across all workspaces. Override windows are not under the con-
+ trol of the window manager. This type can be useful for certain
+ situations.
own_window_colour colour
<varlistentry>
<term><command><option>own_window_type</option></command></term>
<listitem>
- if own_window is yes, you may specify type normal or desktop (default: normal).
+ if own_window is yes, you may specify type normal, desktop or override (default: normal).
Desktop windows are special windows that have no window decorations; are always visible
on your desktop; do not appear in your pager or taskbar; and are sticky across all workspaces.
+ Override windows are not under the control of the window manager. This type can be useful
+ for certain situations.
<para></para></listitem>
</varlistentry>
.TP
\fBown_window_type\fR
-if own_window is yes, you may specify type normal or desktop (default: normal).
+if own_window is yes, you may specify type normal, desktop or override (default: normal).
Desktop windows are special windows that have no window decorations; are always visible
on your desktop; do not appear in your pager or taskbar; and are sticky across all workspaces.
+Override windows are not under the control of the window manager. This type can be useful
+for certain situations.
.TP
\fBown_window_colour\fR \fBcolour\fR
* events are now explicitly forwarded to the desktop window. */
XSetWindowAttributes attrs = {
ParentRelative,0L,0,0L,0,0,Always,0L,0L,False,
- StructureNotifyMask|ExposureMask|ButtonPressMask|ButtonReleaseMask,
- 0L,False,0,0 };
+ StructureNotifyMask|ExposureMask|
+ (window.type==TYPE_OVERRIDE ? ButtonPressMask|ButtonReleaseMask : 0),
+ 0L,
+ (window.type==TYPE_OVERRIDE ? True : False),
+ 0,0 };
XClassHint classHint;
XWMHints wmHint;
if ( !find_desktop_window( &window.root, &window.desktop ) )
return;
- window.window = XCreateWindow(display, window.root,
- window.x, window.y, w, h, 0,
- CopyFromParent,
- InputOutput,
- CopyFromParent,
- CWBackPixel|CWOverrideRedirect,
- &attrs);
+ window.window = XCreateWindow(display,
+ window.type==TYPE_OVERRIDE ? window.desktop : window.root,
+ window.x, window.y, w, h, 0,
+ CopyFromParent,
+ InputOutput,
+ CopyFromParent,
+ CWBackPixel|CWOverrideRedirect,
+ &attrs);
fprintf(stderr, "Conky: drawing to created window (%lx)\n", window.window);
fflush(stderr);
}
break;
+ case TYPE_OVERRIDE:
+ {
+ fprintf(stderr, "Conky: window type - override\n"); fflush(stderr);
+ }
+ break;
case TYPE_NORMAL:
default:
{
}
break;
}
- XChangeProperty(display, window.window, xa,
- XA_ATOM, 32,
- PropModeReplace,
- (unsigned char *) &prop, 1);
+ if (window.type != TYPE_OVERRIDE)
+ XChangeProperty(display, window.window, xa,
+ XA_ATOM, 32,
+ PropModeReplace,
+ (unsigned char *) &prop, 1);
}
/* Set desired hints */
}
}
+ if (window.type == TYPE_OVERRIDE)
+ XLowerWindow(display, window.window);
+
XMapWindow(display, window.window);
-
}
} else
#endif