fix border bugs on fullscreen and maximize fullscreen actions
SVN revision: 23498
This commit is contained in:
parent
0a058bfdb3
commit
642ac622ea
|
@ -757,7 +757,7 @@ e_border_move(E_Border *bd, int x, int y)
|
|||
|
||||
if ((bd->fullscreen) ||
|
||||
(((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN) && (!e_config->allow_manip)))
|
||||
return;
|
||||
return;
|
||||
if (bd->new_client)
|
||||
{
|
||||
E_Border_Pending_Move_Resize *pnd;
|
||||
|
@ -1680,6 +1680,11 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
|||
bd->client_inset.r = 1000 - (cx + cw);
|
||||
bd->client_inset.t = cy;
|
||||
bd->client_inset.b = 1000 - (cy + ch);
|
||||
printf("SET inset %i %i %i %i\n",
|
||||
bd->client_inset.l,
|
||||
bd->client_inset.r,
|
||||
bd->client_inset.t,
|
||||
bd->client_inset.b);
|
||||
ecore_x_netwm_frame_size_set(bd->client.win,
|
||||
bd->client_inset.l, bd->client_inset.r,
|
||||
bd->client_inset.t, bd->client_inset.b);
|
||||
|
@ -1690,7 +1695,7 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
|||
w = bd->zone->w;
|
||||
h = bd->zone->h;
|
||||
/* center x-direction */
|
||||
e_border_resize_limit(bd, &w, &h);
|
||||
// e_border_resize_limit(bd, &w, &h);
|
||||
x1 = bd->zone->x + (bd->zone->w - w) / 2;
|
||||
/* center y-direction */
|
||||
y1 = bd->zone->y + (bd->zone->h - h) / 2;
|
||||
|
@ -1803,6 +1808,7 @@ e_border_unmaximize(E_Border *bd, E_Maximize max)
|
|||
evas_object_resize(bd->bg_object, 1000, 1000);
|
||||
edje_object_calc_force(bd->bg_object);
|
||||
edje_object_part_geometry_get(bd->bg_object, "client", &cx, &cy, &cw, &ch);
|
||||
printf("SET inset 2\n");
|
||||
bd->client_inset.l = cx;
|
||||
bd->client_inset.r = 1000 - (cx + cw);
|
||||
bd->client_inset.t = cy;
|
||||
|
@ -1907,6 +1913,7 @@ e_border_fullscreen(E_Border *bd, E_Fullscreen policy)
|
|||
bd->client_inset.sr = bd->client_inset.r;
|
||||
bd->client_inset.st = bd->client_inset.t;
|
||||
bd->client_inset.sb = bd->client_inset.b;
|
||||
printf("SET inset 3 (going fullscreen)\n");
|
||||
bd->client_inset.l = 0;
|
||||
bd->client_inset.r = 0;
|
||||
bd->client_inset.t = 0;
|
||||
|
@ -1995,6 +2002,7 @@ e_border_unfullscreen(E_Border *bd)
|
|||
// printf("UNFULLSCREEEN!\n");
|
||||
bd->fullscreen = 0;
|
||||
bd->need_fullscreen = 0;
|
||||
printf("SET inset 4 (unfullscreen)\n");
|
||||
bd->client_inset.l = bd->client_inset.sl;
|
||||
bd->client_inset.r = bd->client_inset.sr;
|
||||
bd->client_inset.t = bd->client_inset.st;
|
||||
|
@ -2655,6 +2663,7 @@ e_border_frame_recalc(E_Border *bd)
|
|||
evas_object_resize(bd->bg_object, 1000, 1000);
|
||||
edje_object_calc_force(bd->bg_object);
|
||||
edje_object_part_geometry_get(bd->bg_object, "client", &cx, &cy, &cw, &ch);
|
||||
printf("SET inset 5\n");
|
||||
bd->client_inset.l = cx;
|
||||
bd->client_inset.r = 1000 - (cx + cw);
|
||||
bd->client_inset.t = cy;
|
||||
|
@ -4729,6 +4738,7 @@ _e_border_eval(E_Border *bd)
|
|||
{
|
||||
if (bd->client.border.name) evas_stringshare_del(bd->client.border.name);
|
||||
bd->client.border.name = NULL;
|
||||
printf("bd change 1\n");
|
||||
bd->client.border.changed = 1;
|
||||
}
|
||||
if (bd->client.netwm.type == ECORE_X_WINDOW_TYPE_DOCK)
|
||||
|
@ -5066,6 +5076,7 @@ _e_border_eval(E_Border *bd)
|
|||
if (bd->client.border.name)
|
||||
evas_stringshare_del(bd->client.border.name);
|
||||
bd->client.border.name = NULL;
|
||||
printf("bd change 2\n");
|
||||
bd->client.border.changed = 1;
|
||||
}
|
||||
}
|
||||
|
@ -5075,11 +5086,14 @@ _e_border_eval(E_Border *bd)
|
|||
{
|
||||
e_hints_window_state_set(bd);
|
||||
/* Some stats might change the border, like modal */
|
||||
if ((!bd->lock_border) || (!bd->client.border.name))
|
||||
if (((!bd->lock_border) || (!bd->client.border.name)) &&
|
||||
(!bd->fullscreen) &&
|
||||
(!(((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
|
||||
{
|
||||
if (bd->client.border.name)
|
||||
evas_stringshare_del(bd->client.border.name);
|
||||
bd->client.border.name = NULL;
|
||||
printf("bd change 3\n");
|
||||
bd->client.border.changed = 1;
|
||||
}
|
||||
if (bd->parent)
|
||||
|
@ -5131,6 +5145,7 @@ _e_border_eval(E_Border *bd)
|
|||
if (bd->client.border.name)
|
||||
evas_stringshare_del(bd->client.border.name);
|
||||
bd->client.border.name = NULL;
|
||||
printf("bd change 4\n");
|
||||
bd->client.border.changed = 1;
|
||||
}
|
||||
if (!bd->remember)
|
||||
|
@ -5203,6 +5218,7 @@ _e_border_eval(E_Border *bd)
|
|||
bd->client.border.name = NULL;
|
||||
if (rem->prop.border)
|
||||
bd->client.border.name = evas_stringshare_add(rem->prop.border);
|
||||
printf("bd change 5\n");
|
||||
bd->client.border.changed = 1;
|
||||
}
|
||||
if (rem->apply & E_REMEMBER_APPLY_STICKY)
|
||||
|
@ -5249,7 +5265,8 @@ _e_border_eval(E_Border *bd)
|
|||
}
|
||||
}
|
||||
|
||||
if ((bd->client.border.changed) && (!bd->shaded))
|
||||
if ((bd->client.border.changed) && (!bd->shaded) && (!bd->fullscreen) &&
|
||||
(!(((bd->maximized & E_MAXIMIZE_TYPE) == E_MAXIMIZE_FULLSCREEN))))
|
||||
{
|
||||
Evas_Object *o;
|
||||
char buf[4096];
|
||||
|
@ -5257,6 +5274,7 @@ _e_border_eval(E_Border *bd)
|
|||
int l, r, t, b;
|
||||
int ok;
|
||||
|
||||
printf("bd changed!\n");
|
||||
if (!bd->client.border.name)
|
||||
{
|
||||
if ((bd->client.mwm.borderless) || (bd->borderless))
|
||||
|
@ -5291,6 +5309,7 @@ _e_border_eval(E_Border *bd)
|
|||
{
|
||||
bd->w -= (bd->client_inset.l + bd->client_inset.r);
|
||||
bd->h -= (bd->client_inset.t + bd->client_inset.b);
|
||||
printf("SET inset 6\n");
|
||||
bd->client_inset.l = 0;
|
||||
bd->client_inset.r = 0;
|
||||
bd->client_inset.t = 0;
|
||||
|
@ -5362,6 +5381,7 @@ _e_border_eval(E_Border *bd)
|
|||
t = 0;
|
||||
b = 0;
|
||||
}
|
||||
printf("SET inset 7\n");
|
||||
bd->client_inset.l = l;
|
||||
bd->client_inset.r = r;
|
||||
bd->client_inset.t = t;
|
||||
|
|
Loading…
Reference in New Issue