all repos — tint2 @ 771d0bf4eac27b0fcdeb0392a3d6c63aa1acf559

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

strut_policy=minimum possible even if autohide disabled

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

771d0bf4eac27b0fcdeb0392a3d6c63aa1acf559

parent

237b19c5c9aaa0462eb73c472d20deeaf228e3ee

2 files changed, 14 insertions(+), 15 deletions(-)

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

@@ -283,10 +283,10 @@ max_tick_urgent = (atoi (value) * 2) + 1;

else if (strcmp (key, "panel_layer") == 0) { if (strcmp(value, "bottom") == 0) panel_layer = BOTTOM_LAYER; - else if (strcmp(value, "normal") == 0) - panel_layer = NORMAL_LAYER; else if (strcmp(value, "top") == 0) panel_layer = TOP_LAYER; + else + panel_layer = NORMAL_LAYER; } /* Battery */
M src/panel.csrc/panel.c

@@ -88,7 +88,7 @@ panel_autohide = 0;

panel_autohide_show_timeout = 0; panel_autohide_hide_timeout = 0; panel_autohide_height = 5; // for vertical panels this is of course the width - panel_strut_policy = STRUT_MINIMUM; + panel_strut_policy = STRUT_FOLLOW_SIZE; panel_dock = 0; // default not in the dock panel_layer = BOTTOM_LAYER; // default is bottom layer wm_menu = 0;

@@ -284,16 +284,15 @@ panel->posy = server.monitor[panel->monitor].y + ((server.monitor[panel->monitor].height - panel->area.height) / 2);

} } - if (panel_autohide) { - int diff = (panel_horizontal ? panel->area.height : panel->area.width) - panel_autohide_height; - if (panel_horizontal) { - panel->hidden_width = panel->area.width; - panel->hidden_height = panel->area.height - diff; - } - else { - panel->hidden_width = panel->area.width - diff; - panel->hidden_height = panel->area.height; - } + // autohide or strut_policy=minimum + int diff = (panel_horizontal ? panel->area.height : panel->area.width) - panel_autohide_height; + if (panel_horizontal) { + panel->hidden_width = panel->area.width; + panel->hidden_height = panel->area.height - diff; + } + else { + panel->hidden_width = panel->area.width - diff; + panel->hidden_height = panel->area.height; } // printf("panel : posx %d, posy %d, width %d, height %d\n", panel->posx, panel->posy, panel->area.width, panel->area.height); }

@@ -417,7 +416,7 @@ Monitor monitor = server.monitor[p->monitor];

long struts [12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; if (panel_horizontal) { int height = p->area.height + p->marginy; - if (panel_autohide && (panel_strut_policy == STRUT_MINIMUM || (panel_strut_policy == STRUT_FOLLOW_SIZE && p->is_hidden)) ) + if (panel_strut_policy == STRUT_MINIMUM || (panel_strut_policy == STRUT_FOLLOW_SIZE && p->is_hidden)) height = p->hidden_height; if (panel_position & TOP) { struts[2] = height + monitor.y;

@@ -434,7 +433,7 @@ }

} else { int width = p->area.width + p->marginx; - if (panel_autohide && (panel_strut_policy == STRUT_MINIMUM || (panel_strut_policy == STRUT_FOLLOW_SIZE && p->is_hidden)) ) + if (panel_strut_policy == STRUT_MINIMUM || (panel_strut_policy == STRUT_FOLLOW_SIZE && p->is_hidden)) width = p->hidden_width; if (panel_position & LEFT) { struts[0] = width + monitor.x;