all repos — tint2 @ a58a4d18300915ba3fcea73d02afbe6bef76695b

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

*add* strut_policy = none 


git-svn-id: http://tint2.googlecode.com/svn/trunk@395 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
Andreas.Fink85 Andreas.Fink85@121b4492-b84c-0410-8b4c-0d4edfb3f3cc
commit

a58a4d18300915ba3fcea73d02afbe6bef76695b

parent

2126b2e47d96fef00ddbb84faf76e874c1929033

4 files changed, 12 insertions(+), 2 deletions(-)

jump to
M src/config.csrc/config.c

@@ -596,6 +596,8 @@ panel_autohide_hide_timeout = 1000*atof(value);

else if (strcmp(key, "strut_policy") == 0) { if (strcmp(value, "follow_size") == 0) panel_strut_policy = STRUT_FOLLOW_SIZE; + else if (strcmp(value, "none") == 0) + panel_strut_policy = STRUT_NONE; else panel_strut_policy = STRUT_MINIMUM; }
M src/panel.csrc/panel.c

@@ -433,6 +433,12 @@ }

void update_strut(Panel* p) { + if (panel_strut_policy == STRUT_NONE) { + XDeleteProperty(server.dsp, p->main_win, server.atom._NET_WM_STRUT); + XDeleteProperty(server.dsp, p->main_win, server.atom._NET_WM_STRUT_PARTIAL); + return; + } + // Reserved space unsigned int d1, screen_width, screen_height; Window d2;
M src/panel.hsrc/panel.h

@@ -52,7 +52,7 @@ extern int panel_refresh;

extern int task_dragged; //panel autohide -enum { STRUT_MINIMUM, STRUT_FOLLOW_SIZE }; +enum { STRUT_MINIMUM, STRUT_FOLLOW_SIZE, STRUT_NONE }; extern int panel_autohide; extern int panel_autohide_show_timeout; extern int panel_autohide_hide_timeout;
M src/systray/systraybar.csrc/systray/systraybar.c

@@ -352,6 +352,7 @@ XWindowAttributes attr;

XGetWindowAttributes(server.dsp, id, &attr); unsigned long mask = 0; XSetWindowAttributes set_attr; +// printf("icon with depth: %d\n", attr.depth); if (attr.depth != server.depth || systray.alpha != 100 || systray.brightness != 0 || systray.saturation != 0 ) { set_attr.colormap = attr.colormap; set_attr.background_pixel = 0;

@@ -508,6 +509,7 @@ }

void systray_render_icon_now(void* t) { + // we end up in this function only in real transparency mode or if systray_task_asb != 100 0 0 TrayWindow* traywin = t; traywin->render_timeout = 0;

@@ -526,7 +528,7 @@ f = XRenderFindStandardFormat(server.dsp, PictStandardRGB24);

else if (traywin->depth == 32) f = XRenderFindStandardFormat(server.dsp, PictStandardARGB32); else { - printf("Strange tray icon found...\n"); + printf("Strange tray icon found with depth: %d\n", traywin->depth); return; } Picture pict_image = XRenderCreatePicture(server.dsp, traywin->tray_id, f, 0, 0);