diff --git a/AUTHORS b/AUTHORS index e284f7a2..6f5a1412 100644 --- a/AUTHORS +++ b/AUTHORS @@ -200,6 +200,9 @@ Miroslav Lichvar Moncelier Camille METAR patch +Morgan Veyret + own_window_type dock patch + Nattfodd Fixed top_mem dupes diff --git a/ChangeLog b/ChangeLog index 83d6ef7d..5b3153bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ # $Id$ +2008-04-29 + * own_window_type dock patch (thanks Morgan). + 2008-04-12 * Added patch for the following (thanks larsko): * New $loadgraph to show a graph of load averages, diff --git a/README b/README index 7ad19b42..c7b86c86 100644 --- a/README +++ b/README @@ -360,9 +360,9 @@ CONFIGURATION SETTINGS own_window_type - 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 + if own_window is yes, you may specify type normal, desktop, dock + or override (default: normal). Desktop windows are special win- + dows 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. Hints are ignored. This type of win- diff --git a/doc/config_settings.xml b/doc/config_settings.xml index 360433a5..1292fb03 100644 --- a/doc/config_settings.xml +++ b/doc/config_settings.xml @@ -355,7 +355,7 @@ - if own_window is yes, you may specify type normal, desktop or override (default: normal). + if own_window is yes, you may specify type normal, desktop, dock 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. Hints are ignored. This type diff --git a/doc/conky.1 b/doc/conky.1 index 602f439a..a0adf2e7 100644 --- a/doc/conky.1 +++ b/doc/conky.1 @@ -340,7 +340,7 @@ Boolean, set pseudo-transparency? .TP \fB\*(T<\fBown_window_type\fR\*(T>\fR -if own_window is yes, you may specify type normal, desktop or override (default: normal). +if own_window is yes, you may specify type normal, desktop, dock 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. Hints are ignored. This type diff --git a/src/conky.c b/src/conky.c index d48609d9..f38c6f50 100644 --- a/src/conky.c +++ b/src/conky.c @@ -8387,6 +8387,8 @@ static void load_config_file(const char *f) window.type = TYPE_NORMAL; } else if (strncmp(value, "desktop", 7) == 0) { window.type = TYPE_DESKTOP; + } else if (strncmp(value, "dock", 7) == 0) { + window.type = TYPE_DOCK; } else if (strncmp(value, "override", 8) == 0) { window.type = TYPE_OVERRIDE; } else { diff --git a/src/conky.h b/src/conky.h index 04d46526..bcbc5a67 100644 --- a/src/conky.h +++ b/src/conky.h @@ -453,6 +453,7 @@ char *tmpstring2; #ifdef OWN_WINDOW enum _window_type { TYPE_NORMAL = 0, + TYPE_DOCK, TYPE_DESKTOP, TYPE_OVERRIDE }; diff --git a/src/linux.c b/src/linux.c index fc4bffc0..ecaac575 100644 --- a/src/linux.c +++ b/src/linux.c @@ -263,6 +263,7 @@ int interface_up(const char *dev) break; } /* otherwise we are good */ + free(conf.ifc_buf); close(fd); return 1; } diff --git a/src/x11.c b/src/x11.c index f71ca454..6c721ae9 100644 --- a/src/x11.c +++ b/src/x11.c @@ -282,6 +282,11 @@ void init_window(int own_window, int w, int h, int set_trans, int back_colour, fprintf(stderr, "Conky: window type - desktop\n"); fflush(stderr); break; + case TYPE_DOCK: + prop = ATOM(_NET_WM_WINDOW_TYPE_DOCK); + fprintf(stderr, "Conky: window type - dock\n"); + fflush(stderr); + break; case TYPE_NORMAL: default: prop = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);