forked from enlightenment/enlightenment
Make the background black when doing fullscreen.
SVN revision: 15433
This commit is contained in:
parent
30661f967f
commit
fe85e13185
|
@ -1165,9 +1165,6 @@ e_border_maximize(E_Border *bd, E_Maximize max)
|
||||||
/* Don't set bd->maximized, no need to return from this state */
|
/* Don't set bd->maximized, no need to return from this state */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
bd->changes.pos = 1;
|
|
||||||
bd->changes.size = 1;
|
|
||||||
bd->changed = 1;
|
|
||||||
|
|
||||||
if (bd->maximized)
|
if (bd->maximized)
|
||||||
{
|
{
|
||||||
|
@ -1231,10 +1228,6 @@ e_border_unmaximize(E_Border *bd)
|
||||||
|
|
||||||
e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h);
|
e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h);
|
||||||
|
|
||||||
bd->changes.pos = 1;
|
|
||||||
bd->changes.size = 1;
|
|
||||||
bd->changed = 1;
|
|
||||||
|
|
||||||
edje_object_signal_emit(bd->bg_object, "unmaximize", "");
|
edje_object_signal_emit(bd->bg_object, "unmaximize", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1259,8 +1252,16 @@ e_border_fullscreen(E_Border *bd)
|
||||||
bd->saved.y = bd->y;
|
bd->saved.y = bd->y;
|
||||||
bd->saved.w = bd->w;
|
bd->saved.w = bd->w;
|
||||||
bd->saved.h = bd->h;
|
bd->saved.h = bd->h;
|
||||||
|
bd->client_inset.sl = bd->client_inset.l;
|
||||||
|
bd->client_inset.sr = bd->client_inset.r;
|
||||||
|
bd->client_inset.st = bd->client_inset.t;
|
||||||
|
bd->client_inset.sb = bd->client_inset.b;
|
||||||
|
bd->client_inset.l = 0;
|
||||||
|
bd->client_inset.r = 0;
|
||||||
|
bd->client_inset.t = 0;
|
||||||
|
bd->client_inset.b = 0;
|
||||||
|
|
||||||
e_hints_window_fullscreen_set(bd, 1);
|
e_desk_black_set(bd->desk, 1);
|
||||||
|
|
||||||
bd->layer = 200;
|
bd->layer = 200;
|
||||||
e_border_raise(bd);
|
e_border_raise(bd);
|
||||||
|
@ -1276,10 +1277,8 @@ e_border_fullscreen(E_Border *bd)
|
||||||
ecore_evas_hide(bd->bg_ecore_evas);
|
ecore_evas_hide(bd->bg_ecore_evas);
|
||||||
|
|
||||||
bd->fullscreen = 1;
|
bd->fullscreen = 1;
|
||||||
bd->changes.pos = 1;
|
|
||||||
bd->changes.size = 1;
|
|
||||||
bd->changed = 1;
|
|
||||||
|
|
||||||
|
e_hints_window_fullscreen_set(bd, 1);
|
||||||
edje_object_signal_emit(bd->bg_object, "fullscreen", "");
|
edje_object_signal_emit(bd->bg_object, "fullscreen", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1294,20 +1293,22 @@ e_border_unfullscreen(E_Border *bd)
|
||||||
if (bd->fullscreen)
|
if (bd->fullscreen)
|
||||||
{
|
{
|
||||||
// printf("UNFULLSCREEEN!\n");
|
// printf("UNFULLSCREEEN!\n");
|
||||||
e_hints_window_fullscreen_set(bd, 0);
|
|
||||||
bd->fullscreen = 0;
|
bd->fullscreen = 0;
|
||||||
|
bd->client_inset.l = bd->client_inset.sl;
|
||||||
|
bd->client_inset.r = bd->client_inset.sr;
|
||||||
|
bd->client_inset.t = bd->client_inset.st;
|
||||||
|
bd->client_inset.b = bd->client_inset.sb;
|
||||||
|
|
||||||
|
e_desk_black_set(bd->desk, 0);
|
||||||
|
|
||||||
e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h);
|
e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h);
|
||||||
ecore_evas_show(bd->bg_ecore_evas);
|
ecore_evas_show(bd->bg_ecore_evas);
|
||||||
|
|
||||||
bd->changes.pos = 1;
|
|
||||||
bd->changes.size = 1;
|
|
||||||
bd->changed = 1;
|
|
||||||
|
|
||||||
/* FIXME: Find right layer */
|
/* FIXME: Find right layer */
|
||||||
bd->layer = 100;
|
bd->layer = 100;
|
||||||
e_border_raise(bd);
|
e_border_raise(bd);
|
||||||
|
|
||||||
|
e_hints_window_fullscreen_set(bd, 0);
|
||||||
edje_object_signal_emit(bd->bg_object, "unfullscreen", "");
|
edje_object_signal_emit(bd->bg_object, "unfullscreen", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4533,7 +4534,7 @@ _e_border_shade_animator(void *data)
|
||||||
|
|
||||||
/* we're done */
|
/* we're done */
|
||||||
if ((bd->shaded && (bd->shade.val == 1)) ||
|
if ((bd->shaded && (bd->shade.val == 1)) ||
|
||||||
(!(bd->shaded) && (bd->shade.val == 0)) )
|
((!bd->shaded) && (bd->shade.val == 0)) )
|
||||||
{
|
{
|
||||||
E_Event_Border_Resize *ev;
|
E_Event_Border_Resize *ev;
|
||||||
|
|
||||||
|
|
|
@ -104,6 +104,7 @@ struct _E_Border
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
int l, r, t, b;
|
int l, r, t, b;
|
||||||
|
int sl, sr, st, sb;
|
||||||
} client_inset;
|
} client_inset;
|
||||||
|
|
||||||
Ecore_Evas *bg_ecore_evas;
|
Ecore_Evas *bg_ecore_evas;
|
||||||
|
|
|
@ -30,6 +30,7 @@ E_Desk *
|
||||||
e_desk_new(E_Zone *zone, int x, int y)
|
e_desk_new(E_Zone *zone, int x, int y)
|
||||||
{
|
{
|
||||||
E_Desk *desk;
|
E_Desk *desk;
|
||||||
|
Evas_Object *o;
|
||||||
char name[40];
|
char name[40];
|
||||||
|
|
||||||
E_OBJECT_CHECK_RETURN(zone, NULL);
|
E_OBJECT_CHECK_RETURN(zone, NULL);
|
||||||
|
@ -43,6 +44,17 @@ e_desk_new(E_Zone *zone, int x, int y)
|
||||||
desk->y = y;
|
desk->y = y;
|
||||||
snprintf(name, sizeof(name), _("Desktop %d, %d"), x, y);
|
snprintf(name, sizeof(name), _("Desktop %d, %d"), x, y);
|
||||||
desk->name = strdup(name);
|
desk->name = strdup(name);
|
||||||
|
|
||||||
|
o = evas_object_rectangle_add(zone->container->bg_evas);
|
||||||
|
desk->bg_black_object = o;
|
||||||
|
evas_object_layer_set(o, 100);
|
||||||
|
evas_object_move(o, zone->x, zone->y);
|
||||||
|
evas_object_resize(o, zone->w, zone->h);
|
||||||
|
evas_object_color_set(o, 0, 0, 0, 255);
|
||||||
|
snprintf(name, sizeof(name), "desktop/background/%d.%d", desk->x, desk->y);
|
||||||
|
evas_object_name_set(o, name);
|
||||||
|
evas_object_data_set(o, "e_desk", desk);
|
||||||
|
|
||||||
return desk;
|
return desk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +100,7 @@ e_desk_show(E_Desk *desk)
|
||||||
|
|
||||||
desk2 = e_desk_at_xy_get(desk->zone,x, y);
|
desk2 = e_desk_at_xy_get(desk->zone,x, y);
|
||||||
desk2->visible = 0;
|
desk2->visible = 0;
|
||||||
|
evas_object_hide(desk2->bg_black_object);
|
||||||
if (desk2 == desk)
|
if (desk2 == desk)
|
||||||
{
|
{
|
||||||
desk->zone->desk_x_current = x;
|
desk->zone->desk_x_current = x;
|
||||||
|
@ -95,6 +108,8 @@ e_desk_show(E_Desk *desk)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (desk->black)
|
||||||
|
evas_object_show(desk->bg_black_object);
|
||||||
desk->visible = 1;
|
desk->visible = 1;
|
||||||
|
|
||||||
ev = E_NEW(E_Event_Desk_Show, 1);
|
ev = E_NEW(E_Event_Desk_Show, 1);
|
||||||
|
@ -103,6 +118,21 @@ e_desk_show(E_Desk *desk)
|
||||||
ecore_event_add(E_EVENT_DESK_SHOW, ev, _e_border_event_desk_show_free, NULL);
|
ecore_event_add(E_EVENT_DESK_SHOW, ev, _e_border_event_desk_show_free, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
e_desk_black_set(E_Desk *desk, int set)
|
||||||
|
{
|
||||||
|
if ((!desk->black) && (set))
|
||||||
|
{
|
||||||
|
evas_object_show(desk->bg_black_object);
|
||||||
|
desk->black = 1;
|
||||||
|
}
|
||||||
|
else if ((desk->black) && (!set))
|
||||||
|
{
|
||||||
|
evas_object_hide(desk->bg_black_object);
|
||||||
|
desk->black = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_desk_row_add(E_Zone *zone)
|
e_desk_row_add(E_Zone *zone)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,8 +20,10 @@ struct _E_Desk
|
||||||
char *name;
|
char *name;
|
||||||
int x, y;
|
int x, y;
|
||||||
char visible : 1;
|
char visible : 1;
|
||||||
|
char black : 1;
|
||||||
|
|
||||||
Evas_Object *bg_object;
|
Evas_Object *bg_object;
|
||||||
|
Evas_Object *bg_black_object;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Event_Desk_Show
|
struct _E_Event_Desk_Show
|
||||||
|
@ -34,6 +36,7 @@ EAPI int e_desk_shutdown(void);
|
||||||
EAPI E_Desk *e_desk_new(E_Zone *zone, int x, int y);
|
EAPI E_Desk *e_desk_new(E_Zone *zone, int x, int y);
|
||||||
EAPI void e_desk_name_set(E_Desk *desk, const char *name);
|
EAPI void e_desk_name_set(E_Desk *desk, const char *name);
|
||||||
EAPI void e_desk_show(E_Desk *desk);
|
EAPI void e_desk_show(E_Desk *desk);
|
||||||
|
EAPI void e_desk_black_set(E_Desk *desk, int set);
|
||||||
EAPI E_Desk *e_desk_current_get(E_Zone *zone);
|
EAPI E_Desk *e_desk_current_get(E_Zone *zone);
|
||||||
EAPI E_Desk *e_desk_at_xy_get(E_Zone *zone, int x, int y);
|
EAPI E_Desk *e_desk_at_xy_get(E_Zone *zone, int x, int y);
|
||||||
EAPI E_Desk *e_desk_at_pos_get(E_Zone *zone, int pos);
|
EAPI E_Desk *e_desk_at_pos_get(E_Zone *zone, int pos);
|
||||||
|
|
Loading…
Reference in New Issue