Fixed looping code. Disappering windows when using always on top should
be fixed. SVN revision: 14813
This commit is contained in:
parent
1112210137
commit
a719f16c8c
|
@ -70,7 +70,11 @@ _NET_WM_STATE_MODAL [ ]
|
||||||
_NET_WM_STATE_SHADED [X]
|
_NET_WM_STATE_SHADED [X]
|
||||||
_NET_WM_STATE_SKIP_PAGER [ ]
|
_NET_WM_STATE_SKIP_PAGER [ ]
|
||||||
_NET_WM_STATE_SKIP_TASKBAR [ ]
|
_NET_WM_STATE_SKIP_TASKBAR [ ]
|
||||||
_NET_WM_STATE_STICKY [X]
|
/* _NET_WM_STATE_STICKY indicates that the
|
||||||
|
* Window Manager SHOULD keep the window's
|
||||||
|
* position fixed on the screen, even when
|
||||||
|
* the virtual desktop scrolls. */
|
||||||
|
_NET_WM_STATE_STICKY [?]
|
||||||
_NET_WM_STRUT [ ]
|
_NET_WM_STRUT [ ]
|
||||||
_NET_WM_STRUT_PARTIAL [ ]
|
_NET_WM_STRUT_PARTIAL [ ]
|
||||||
_NET_WM_SYNC_REQUEST [ ]
|
_NET_WM_SYNC_REQUEST [ ]
|
||||||
|
|
|
@ -60,16 +60,7 @@ e_container_new(E_Manager *man)
|
||||||
|
|
||||||
con->win = ecore_x_window_override_new(con->manager->win, con->x, con->y, con->w, con->h);
|
con->win = ecore_x_window_override_new(con->manager->win, con->x, con->y, con->w, con->h);
|
||||||
ecore_x_icccm_title_set(con->win, "Enlightenment Container");
|
ecore_x_icccm_title_set(con->win, "Enlightenment Container");
|
||||||
mwin = e_menu_grab_window_get();
|
ecore_x_window_raise(con->win);
|
||||||
if (!mwin) mwin = e_init_window_get();
|
|
||||||
if (!mwin)
|
|
||||||
ecore_x_window_raise(con->win);
|
|
||||||
else
|
|
||||||
ecore_x_window_configure(con->win,
|
|
||||||
ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
|
|
||||||
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
|
|
||||||
0, 0, 0, 0, 0,
|
|
||||||
mwin, ECORE_X_WINDOW_STACK_BELOW);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -124,8 +115,11 @@ e_container_new(E_Manager *man)
|
||||||
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
|
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
|
||||||
0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0,
|
||||||
con->layers[i - 1].win, ECORE_X_WINDOW_STACK_ABOVE);
|
con->layers[i - 1].win, ECORE_X_WINDOW_STACK_ABOVE);
|
||||||
|
else
|
||||||
|
ecore_x_window_raise(con->layers[i].win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Put init win on top */
|
||||||
mwin = e_init_window_get();
|
mwin = e_init_window_get();
|
||||||
if (mwin)
|
if (mwin)
|
||||||
ecore_x_window_configure(mwin,
|
ecore_x_window_configure(mwin,
|
||||||
|
@ -135,6 +129,7 @@ e_container_new(E_Manager *man)
|
||||||
con->layers[6].win, ECORE_X_WINDOW_STACK_ABOVE);
|
con->layers[6].win, ECORE_X_WINDOW_STACK_ABOVE);
|
||||||
|
|
||||||
|
|
||||||
|
/* Put menu win on top */
|
||||||
mwin = e_menu_grab_window_get();
|
mwin = e_menu_grab_window_get();
|
||||||
if (mwin)
|
if (mwin)
|
||||||
ecore_x_window_configure(mwin,
|
ecore_x_window_configure(mwin,
|
||||||
|
@ -143,6 +138,12 @@ e_container_new(E_Manager *man)
|
||||||
0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0,
|
||||||
con->layers[6].win, ECORE_X_WINDOW_STACK_ABOVE);
|
con->layers[6].win, ECORE_X_WINDOW_STACK_ABOVE);
|
||||||
|
|
||||||
|
/* Put background win at the bottom */
|
||||||
|
ecore_x_window_configure(con->bg_win,
|
||||||
|
ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
|
||||||
|
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
|
||||||
|
0, 0, 0, 0, 0,
|
||||||
|
con->layers[0].win, ECORE_X_WINDOW_STACK_BELOW);
|
||||||
|
|
||||||
screens = (Evas_List *)e_xinerama_screens_get();
|
screens = (Evas_List *)e_xinerama_screens_get();
|
||||||
if (screens)
|
if (screens)
|
||||||
|
@ -171,7 +172,11 @@ e_container_show(E_Container *con)
|
||||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||||
if (con->visible) return;
|
if (con->visible) return;
|
||||||
ecore_evas_show(con->bg_ecore_evas);
|
ecore_evas_show(con->bg_ecore_evas);
|
||||||
ecore_x_window_lower(con->bg_win);
|
ecore_x_window_configure(con->bg_win,
|
||||||
|
ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
|
||||||
|
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
|
||||||
|
0, 0, 0, 0, 0,
|
||||||
|
con->layers[0].win, ECORE_X_WINDOW_STACK_BELOW);
|
||||||
if (con->win != con->manager->win)
|
if (con->win != con->manager->win)
|
||||||
ecore_x_window_show(con->win);
|
ecore_x_window_show(con->win);
|
||||||
ecore_x_icccm_state_set(con->bg_win, ECORE_X_WINDOW_STATE_HINT_NORMAL);
|
ecore_x_icccm_state_set(con->bg_win, ECORE_X_WINDOW_STATE_HINT_NORMAL);
|
||||||
|
@ -257,6 +262,7 @@ e_container_raise(E_Container *con)
|
||||||
{
|
{
|
||||||
E_OBJECT_CHECK(con);
|
E_OBJECT_CHECK(con);
|
||||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||||
|
#if 0
|
||||||
if (con->win != con->manager->win)
|
if (con->win != con->manager->win)
|
||||||
{
|
{
|
||||||
ecore_x_window_raise(con->win);
|
ecore_x_window_raise(con->win);
|
||||||
|
@ -265,6 +271,7 @@ e_container_raise(E_Container *con)
|
||||||
{
|
{
|
||||||
ecore_x_window_lower(con->bg_win);
|
ecore_x_window_lower(con->bg_win);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -272,12 +279,14 @@ e_container_lower(E_Container *con)
|
||||||
{
|
{
|
||||||
E_OBJECT_CHECK(con);
|
E_OBJECT_CHECK(con);
|
||||||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||||
|
#if 0
|
||||||
if (con->win != con->manager->win)
|
if (con->win != con->manager->win)
|
||||||
ecore_x_window_lower(con->win);
|
ecore_x_window_lower(con->win);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ecore_x_window_lower(con->bg_win);
|
ecore_x_window_lower(con->bg_win);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
E_Zone *
|
E_Zone *
|
||||||
|
@ -791,7 +800,11 @@ e_container_border_list_prev(E_Border_List *list)
|
||||||
|
|
||||||
list->clients = list->clients->prev;
|
list->clients = list->clients->prev;
|
||||||
while ((list->layer > 0) && (!list->clients))
|
while ((list->layer > 0) && (!list->clients))
|
||||||
list->clients = list->container->layers[--list->layer].clients;
|
{
|
||||||
|
list->layer--;
|
||||||
|
if (list->container->layers[list->layer].clients)
|
||||||
|
list->clients = list->container->layers[list->layer].clients->last;
|
||||||
|
}
|
||||||
|
|
||||||
return bd;
|
return bd;
|
||||||
}
|
}
|
||||||
|
|
|
@ -644,10 +644,6 @@ _e_main_screens_init(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Init border stacking */
|
|
||||||
e_hints_client_list_set();
|
|
||||||
e_hints_client_stacking_set();
|
|
||||||
|
|
||||||
free(roots);
|
free(roots);
|
||||||
ecore_x_sync();
|
ecore_x_sync();
|
||||||
|
|
Loading…
Reference in New Issue