dont start managing unmapped windows. remove e manage info from unmanaged

clients


SVN revision: 13050
This commit is contained in:
Carsten Haitzler 2005-01-22 03:36:43 +00:00
parent 6697521787
commit 81c8839992
4 changed files with 18 additions and 16 deletions

View File

@ -12,7 +12,6 @@ e_atoms_init(void)
E_ATOM_MANAGED = ecore_x_atom_get("__E_WINDOW_MANAGED"); E_ATOM_MANAGED = ecore_x_atom_get("__E_WINDOW_MANAGED");
E_ATOM_DESK = ecore_x_atom_get("__E_WINDOW_DESK"); E_ATOM_DESK = ecore_x_atom_get("__E_WINDOW_DESK");
E_ATOM_ICONIC = ecore_x_atom_get("__E_WINDOW_ICONIC"); E_ATOM_ICONIC = ecore_x_atom_get("__E_WINDOW_ICONIC");
return 1; return 1;
} }

View File

@ -4,11 +4,11 @@
#define E_ATOMS_H #define E_ATOMS_H
/* an "overall" atom to see that we recognise the window */ /* an "overall" atom to see that we recognise the window */
extern Ecore_X_Atom E_ATOM_MANAGED; extern EAPI Ecore_X_Atom E_ATOM_MANAGED;
/* basic window properties */ /* basic window properties */
extern Ecore_X_Atom E_ATOM_DESK; extern EAPI Ecore_X_Atom E_ATOM_DESK;
extern Ecore_X_Atom E_ATOM_ICONIC; extern EAPI Ecore_X_Atom E_ATOM_ICONIC;
EAPI int e_atoms_init(void); EAPI int e_atoms_init(void);
EAPI int e_atoms_shutdown(void); EAPI int e_atoms_shutdown(void);

View File

@ -883,6 +883,9 @@ e_border_idler_before(void)
static void static void
_e_border_free(E_Border *bd) _e_border_free(E_Border *bd)
{ {
ecore_x_window_prop_property_del(bd->client.win, E_ATOM_MANAGED);
ecore_x_window_prop_property_del(bd->client.win, E_ATOM_DESK);
ecore_x_window_prop_property_del(bd->client.win, E_ATOM_ICONIC);
while (bd->pending_move_resize) while (bd->pending_move_resize)
{ {
free(bd->pending_move_resize->data); free(bd->pending_move_resize->data);

View File

@ -523,10 +523,10 @@ _e_main_screens_init(void)
&ret_val, 1); &ret_val, 1);
/* we have seen this window before */ /* we have seen this window before */
if (ret > -1 && ret_val == 1) if ((ret > -1) && (ret_val == 1))
{ {
E_Border *bd; E_Border *bd;
/* get all information from window before it is /* get all information from window before it is
* reset by e_border_new */ * reset by e_border_new */
ret = ecore_x_window_prop_card32_get(windows[i], ret = ecore_x_window_prop_card32_get(windows[i],
@ -535,16 +535,16 @@ _e_main_screens_init(void)
bd = e_border_new(con, windows[i], 1); bd = e_border_new(con, windows[i], 1);
if (bd) if (bd)
{ {
if (ret == 2) if (ret == 2)
{ {
E_Desk *target; E_Desk *target;
target = e_desk_at_xy_get(bd->zone, target = e_desk_at_xy_get(bd->zone,
deskxy[0], deskxy[0],
deskxy[1]); deskxy[1]);
e_border_desk_set(bd, target); e_border_desk_set(bd, target);
if (target == e_desk_current_get(bd->zone)) if (target == e_desk_current_get(bd->zone))
e_border_show(bd); e_border_show(bd);
} }
} }
ret = ecore_x_window_prop_card32_get(windows[i], ret = ecore_x_window_prop_card32_get(windows[i],
E_ATOM_ICONIC, E_ATOM_ICONIC,