fix unmapped client windows that are still managed... (eg xmms playlist)

SVN revision: 14716
This commit is contained in:
Carsten Haitzler 2005-05-12 03:32:48 +00:00
parent 4697bedac1
commit 695c49a765
4 changed files with 6 additions and 3 deletions

View File

@ -421,7 +421,8 @@ e_border_show(E_Border *bd)
e_hints_window_visible_set(bd);
bd->visible = 1;
bd->changes.visible = 1;
bd->hidden = 0;
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);
@ -1482,6 +1483,7 @@ _e_border_cb_window_hide(void *data, int ev_type, void *ev)
e_object_del(E_OBJECT(bd));
}
#endif
if (bd->visible) bd->hidden = 1;
e_border_hide(bd, 1);
return 1;
}

View File

@ -186,6 +186,7 @@ struct _E_Border
unsigned char iconic : 1;
unsigned char sticky : 1;
unsigned char shaped : 1;
unsigned char hidden : 1;
unsigned char need_shape_merge : 1;
unsigned char need_shape_export : 1;
unsigned char fullscreen : 1;

View File

@ -185,7 +185,6 @@ e_container_hide(E_Container *con)
ecore_evas_hide(con->bg_ecore_evas);
if (con->win != con->manager->win)
ecore_x_window_hide(con->win);
ecore_x_icccm_state_set(con->bg_win, ECORE_X_WINDOW_STATE_HINT_WITHDRAWN);
con->visible = 0;
}

View File

@ -70,7 +70,8 @@ e_desk_show(E_Desk *desk)
{
E_Border *bd = l->data;
if (bd->desk->zone == desk->zone && !bd->iconic)
if ((bd->desk->zone == desk->zone) && (!bd->iconic) &&
(!bd->hidden))
{
if ((bd->desk == desk) || (bd->sticky))
e_border_show(bd);