strut_policy=minimum possible even if autohide disabled

git-svn-id: http://tint2.googlecode.com/svn/trunk@489 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
thilor77 2010-06-12 12:25:21 +00:00
parent 237b19c5c9
commit 771d0bf4ea
2 changed files with 14 additions and 15 deletions

View file

@ -283,10 +283,10 @@ void add_entry (char *key, char *value)
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 */

View file

@ -88,7 +88,7 @@ void default_panel()
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 @@ void init_panel_size_and_position(Panel *panel)
}
}
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 @@ void update_strut(Panel* p)
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 @@ void update_strut(Panel* p)
}
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;