Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_atoms.c e_atoms.h e_border.c e_manager.c Log Message: fix restart with hidden windows =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_atoms.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_atoms.c 15 Feb 2005 12:11:31 -0000 1.8 +++ e_atoms.c 12 May 2005 08:50:52 -0000 1.9 @@ -10,6 +10,7 @@ Ecore_X_Atom E_ATOM_DESK = 0; Ecore_X_Atom E_ATOM_MAPPED = 0; Ecore_X_Atom E_ATOM_SHADE_DIRECTION = 0; +Ecore_X_Atom E_ATOM_HIDDEN = 0; /* externally accessible functions */ int @@ -21,6 +22,7 @@ E_ATOM_DESK = ecore_x_atom_get("__E_WINDOW_DESK"); E_ATOM_MAPPED = ecore_x_atom_get("__E_WINDOW_MAPPED"); E_ATOM_SHADE_DIRECTION = ecore_x_atom_get("__E_WINDOW_SHADE_DIRECTION"); + E_ATOM_HIDDEN = ecore_x_atom_get("__E_WINDOW_HIDDEN"); return 1; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_atoms.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- e_atoms.h 15 Feb 2005 12:11:31 -0000 1.9 +++ e_atoms.h 12 May 2005 08:50:52 -0000 1.10 @@ -15,6 +15,7 @@ extern EAPI Ecore_X_Atom E_ATOM_DESK; extern EAPI Ecore_X_Atom E_ATOM_MAPPED; extern EAPI Ecore_X_Atom E_ATOM_SHADE_DIRECTION; +extern EAPI Ecore_X_Atom E_ATOM_HIDDEN; EAPI int e_atoms_init(void); EAPI int e_atoms_shutdown(void); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.192 retrieving revision 1.193 diff -u -3 -r1.192 -r1.193 --- e_border.c 12 May 2005 03:32:48 -0000 1.192 +++ e_border.c 12 May 2005 08:50:52 -0000 1.193 @@ -412,6 +412,7 @@ { E_Event_Border_Show *ev; unsigned int visible; + unsigned int hidden; E_OBJECT_CHECK(bd); E_OBJECT_TYPE_CHECK(bd, E_BORDER_TYPE); @@ -426,6 +427,8 @@ visible = 1; ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MAPPED, &visible, 1); ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_MANAGED, &visible, 1); + hidden = 0; + ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_HIDDEN, &hidden, 1); ev = calloc(1, sizeof(E_Event_Border_Show)); ev->border = bd; @@ -1483,7 +1486,14 @@ e_object_del(E_OBJECT(bd)); } #endif - if (bd->visible) bd->hidden = 1; + if (bd->visible) + { + unsigned int hidden; + + bd->hidden = 1; + hidden = 1; + ecore_x_window_prop_card32_set(bd->client.win, E_ATOM_HIDDEN, &hidden, 1); + } e_border_hide(bd, 1); return 1; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_manager.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- e_manager.c 30 Apr 2005 02:26:41 -0000 1.21 +++ e_manager.c 12 May 2005 08:50:53 -0000 1.22 @@ -156,17 +156,20 @@ deskxy[0], deskxy[1]); - bd = e_border_new(con, windows[i], 1); - if (bd) + ret = ecore_x_window_prop_card32_get(windows[i], + E_ATOM_HIDDEN, + &ret_val, 1); + if (!((ret == 1) && (ret_val))) { - /* FIXME: - * It's enough to set the desk, the zone will - * be set according to the desk */ - if (zone) - e_border_zone_set(bd, zone); - - if (desk) - e_border_desk_set(bd, desk); + bd = e_border_new(con, windows[i], 1); + if (bd) + { + /* FIXME: + * It's enough to set the desk, the zone will + * be set according to the desk */ + if (zone) e_border_zone_set(bd, zone); + if (desk) e_border_desk_set(bd, desk); + } } } else if ((att.visible) && (!att.override) && ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs