Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_desk.c e_desk.h e_zone.c e_zone.h Log Message: Only allow borders in normal layers to change stacking from the menu. Move fullscreen from desk to zone. It is the zone that is fullscreen, and then each desk must set fullscreen state on the zone if requested. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.339 retrieving revision 1.340 diff -u -3 -r1.339 -r1.340 --- e_border.c 19 Jul 2005 09:11:21 -0000 1.339 +++ e_border.c 20 Jul 2005 13:07:41 -0000 1.340 @@ -563,7 +563,7 @@ _e_border_move_end(bd); e_zone_flip_coords_handle(bd->zone, -1, -1); } - if ((bd->desk->visible) && (bd->fullscreen)) + if (bd->fullscreen) e_border_unfullscreen(bd); if (bd->resize_mode != RESIZE_NONE) { @@ -1314,7 +1314,7 @@ bd->client_inset.t = 0; bd->client_inset.b = 0; - e_desk_fullscreen_set(bd->desk, bd); + e_zone_fullscreen_set(bd->zone, 1); bd->layer = 200; e_border_raise(bd); @@ -1352,7 +1352,7 @@ bd->client_inset.t = bd->client_inset.st; bd->client_inset.b = bd->client_inset.sb; - e_desk_fullscreen_set(bd->desk, NULL); + e_zone_fullscreen_set(bd->zone, 0); e_border_move_resize(bd, bd->saved.x, bd->saved.y, bd->saved.w, bd->saved.h); ecore_evas_show(bd->bg_ecore_evas); @@ -5690,38 +5690,40 @@ m = e_menu_new(); bd->border_stacking_menu = m; - if (!bd->lock_user_stacking) + /* Only allow to change layer for windows in "normal" layers */ + if ((!bd->lock_user_stacking) && + ((bd->layer == 50) || (bd->layer == 100) || (bd->layer == 150))) { - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Always On Top")); - e_menu_item_radio_set(mi, 1); - e_menu_item_radio_group_set(mi, 2); - e_menu_item_toggle_set(mi, (bd->layer == 150 ? 1 : 0)); - e_menu_item_callback_set(mi, _e_border_menu_cb_on_top, bd); - e_menu_item_icon_edje_set(mi, - (char *)e_theme_edje_file_get("base/theme/borders", - "widgets/border/default/stack_on_top"), - "widgets/border/default/stack_on_top"); - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Normal")); - e_menu_item_radio_set(mi, 1); - e_menu_item_radio_group_set(mi, 2); - e_menu_item_toggle_set(mi, (bd->layer == 100 ? 1 : 0)); - e_menu_item_callback_set(mi, _e_border_menu_cb_normal, bd); - e_menu_item_icon_edje_set(mi, - (char *)e_theme_edje_file_get("base/theme/borders", - "widgets/border/default/stack_normal"), - "widgets/border/default/stack_normal"); - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, _("Always Below")); - e_menu_item_radio_set(mi, 1); - e_menu_item_radio_group_set(mi, 2); - e_menu_item_toggle_set(mi, (bd->layer == 50 ? 1 : 0)); - e_menu_item_callback_set(mi, _e_border_menu_cb_below, bd); - e_menu_item_icon_edje_set(mi, - (char *)e_theme_edje_file_get("base/theme/borders", - "widgets/border/default/stack_below"), - "widgets/border/default/stack_below"); + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Always On Top")); + e_menu_item_radio_set(mi, 1); + e_menu_item_radio_group_set(mi, 2); + e_menu_item_toggle_set(mi, (bd->layer == 150 ? 1 : 0)); + e_menu_item_callback_set(mi, _e_border_menu_cb_on_top, bd); + e_menu_item_icon_edje_set(mi, + (char *)e_theme_edje_file_get("base/theme/borders", + "widgets/border/default/stack_on_top"), + "widgets/border/default/stack_on_top"); + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Normal")); + e_menu_item_radio_set(mi, 1); + e_menu_item_radio_group_set(mi, 2); + e_menu_item_toggle_set(mi, (bd->layer == 100 ? 1 : 0)); + e_menu_item_callback_set(mi, _e_border_menu_cb_normal, bd); + e_menu_item_icon_edje_set(mi, + (char *)e_theme_edje_file_get("base/theme/borders", + "widgets/border/default/stack_normal"), + "widgets/border/default/stack_normal"); + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Always Below")); + e_menu_item_radio_set(mi, 1); + e_menu_item_radio_group_set(mi, 2); + e_menu_item_toggle_set(mi, (bd->layer == 50 ? 1 : 0)); + e_menu_item_callback_set(mi, _e_border_menu_cb_below, bd); + e_menu_item_icon_edje_set(mi, + (char *)e_theme_edje_file_get("base/theme/borders", + "widgets/border/default/stack_below"), + "widgets/border/default/stack_below"); } m = e_menu_new(); @@ -6033,9 +6035,6 @@ static void _e_border_menu_cb_on_top(void *data, E_Menu *m, E_Menu_Item *mi) { - /* FIXME: - * - Remember old layer - */ E_Border *bd; bd = data; @@ -6050,9 +6049,6 @@ static void _e_border_menu_cb_below(void *data, E_Menu *m, E_Menu_Item *mi) { - /* FIXME: - * - Remember old layer - */ E_Border *bd; bd = data; @@ -6067,9 +6063,6 @@ static void _e_border_menu_cb_normal(void *data, E_Menu *m, E_Menu_Item *mi) { - /* FIXME: - * - Remember old layer - */ E_Border *bd; bd = data; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- e_desk.c 19 Jul 2005 08:04:20 -0000 1.44 +++ e_desk.c 20 Jul 2005 13:07:57 -0000 1.45 @@ -30,7 +30,6 @@ e_desk_new(E_Zone *zone, int x, int y) { E_Desk *desk; - Evas_Object *o; char name[40]; E_OBJECT_CHECK_RETURN(zone, NULL); @@ -45,24 +44,6 @@ snprintf(name, sizeof(name), _("Desktop %d, %d"), x, y); desk->name = strdup(name); - /* TODO: config the ecore_evas type. */ - desk->black_ecore_evas = ecore_evas_software_x11_new(NULL, zone->container->win, - 0, 0, zone->w, zone->h); - ecore_evas_software_x11_direct_resize_set(desk->black_ecore_evas, 1); - ecore_evas_override_set(desk->black_ecore_evas, 1); - ecore_evas_layer_set(desk->black_ecore_evas, 6); - - desk->black_win = ecore_evas_software_x11_window_get(desk->black_ecore_evas); - desk->black_evas = ecore_evas_get(desk->black_ecore_evas); - - o = evas_object_rectangle_add(desk->black_evas); - evas_object_move(o, 0, 0); - evas_object_resize(o, zone->w, zone->h); - evas_object_color_set(o, 0, 0, 0, 255); - ecore_evas_name_class_set(desk->black_ecore_evas, "E", "Black_Window"); - snprintf(name, sizeof(name), "Enlightenment Black Desk (%d, %d)", desk->x, desk->y); - ecore_evas_title_set(desk->black_ecore_evas, name); - return desk; } @@ -95,11 +76,7 @@ E_Desk *desk2; desk2 = e_desk_at_xy_get(desk->zone,x, y); - if (desk2->visible) - { - desk2->visible = 0; - ecore_evas_hide(desk2->black_ecore_evas); - } + desk2->visible = 0; } } @@ -124,12 +101,6 @@ desk->zone->desk_x_current = desk->x; desk->zone->desk_y_current = desk->y; - if (desk->fullscreen) - { - ecore_evas_show(desk->black_ecore_evas); - e_container_window_raise(desk->zone->container, desk->black_win, 150); - e_border_fullscreen(desk->fullscreen); - } desk->visible = 1; if (was_zone) @@ -165,22 +136,6 @@ } void -e_desk_fullscreen_set(E_Desk *desk, E_Border *bd) -{ - if ((!desk->fullscreen) && (bd)) - { - ecore_evas_show(desk->black_ecore_evas); - e_container_window_raise(desk->zone->container, desk->black_win, 150); - desk->fullscreen = bd; - } - else if ((desk->fullscreen) && (!bd)) - { - ecore_evas_hide(desk->black_ecore_evas); - desk->fullscreen = NULL; - } -} - -void e_desk_row_add(E_Zone *zone) { e_zone_desk_count_set(zone, zone->desk_x_count, zone->desk_y_count + 1); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_desk.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- e_desk.h 12 Jul 2005 11:07:57 -0000 1.18 +++ e_desk.h 20 Jul 2005 13:07:57 -0000 1.19 @@ -20,13 +20,8 @@ char *name; int x, y; char visible : 1; - E_Border *fullscreen; Evas_Object *bg_object; - - Ecore_Evas *black_ecore_evas; - Evas *black_evas; - Ecore_X_Window black_win; }; struct _E_Event_Desk_Show @@ -40,7 +35,6 @@ EAPI void e_desk_name_set(E_Desk *desk, const char *name); EAPI void e_desk_show(E_Desk *desk); EAPI void e_desk_last_focused_focus(E_Desk *desk); -EAPI void e_desk_fullscreen_set(E_Desk *desk, E_Border *bd); 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_pos_get(E_Zone *zone, int pos); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.c,v retrieving revision 1.67 retrieving revision 1.68 diff -u -3 -r1.67 -r1.68 --- e_zone.c 12 Jul 2005 03:53:55 -0000 1.67 +++ e_zone.c 20 Jul 2005 13:07:57 -0000 1.68 @@ -99,6 +99,24 @@ evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_UP, _e_zone_cb_bg_mouse_up, zone); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_MOVE, _e_zone_cb_bg_mouse_move, zone); + /* TODO: config the ecore_evas type. */ + zone->black_ecore_evas = ecore_evas_software_x11_new(NULL, zone->container->win, + 0, 0, zone->w, zone->h); + ecore_evas_software_x11_direct_resize_set(zone->black_ecore_evas, 1); + ecore_evas_override_set(zone->black_ecore_evas, 1); + ecore_evas_layer_set(zone->black_ecore_evas, 6); + + zone->black_win = ecore_evas_software_x11_window_get(zone->black_ecore_evas); + zone->black_evas = ecore_evas_get(zone->black_ecore_evas); + + o = evas_object_rectangle_add(zone->black_evas); + evas_object_move(o, 0, 0); + evas_object_resize(o, zone->w, zone->h); + evas_object_color_set(o, 0, 0, 0, 255); + ecore_evas_name_class_set(zone->black_ecore_evas, "E", "Black_Window"); + snprintf(name, sizeof(name), "Enlightenment Black Zone (%d)", zone->num); + ecore_evas_title_set(zone->black_ecore_evas, name); + zone->desk_x_count = 0; zone->desk_y_count = 0; zone->desk_x_current = 0; @@ -181,6 +199,22 @@ evas_object_resize(zone->bg_clip_object, w, h); } +void +e_zone_fullscreen_set(E_Zone *zone, int on) +{ + if ((!zone->fullscreen) && (on)) + { + ecore_evas_show(zone->black_ecore_evas); + e_container_window_raise(zone->container, zone->black_win, 150); + zone->fullscreen = 1; + } + else if ((zone->fullscreen) && (!on)) + { + ecore_evas_hide(zone->black_ecore_evas); + zone->fullscreen = 0; + } +} + E_Zone * e_zone_current_get(E_Container *con) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_zone.h,v retrieving revision 1.30 retrieving revision 1.31 diff -u -3 -r1.30 -r1.31 --- e_zone.h 12 Jul 2005 03:53:55 -0000 1.30 +++ e_zone.h 20 Jul 2005 13:07:58 -0000 1.31 @@ -25,6 +25,7 @@ * this zone belongs to. */ unsigned int num; E_Container *container; + int fullscreen; Evas_Object *bg_object; Evas_Object *bg_event_object; @@ -46,6 +47,10 @@ E_Action *cur_mouse_action; Evas_List *popups; + + Ecore_Evas *black_ecore_evas; + Evas *black_evas; + Ecore_X_Window black_win; }; struct _E_Event_Zone_Desk_Count_Set @@ -69,6 +74,7 @@ EAPI void e_zone_move(E_Zone *zone, int x, int y); EAPI void e_zone_resize(E_Zone *zone, int w, int h); EAPI void e_zone_move_resize(E_Zone *zone, int x, int y, int w, int h); +EAPI void e_zone_fullscreen_set(E_Zone *zone, int on); EAPI E_Zone *e_zone_current_get(E_Container *con); EAPI void e_zone_bg_reconfigure(E_Zone *zone); EAPI void e_zone_flip_coords_handle(E_Zone *zone, int x, int y); ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs