More stacking work. Middleclick on title lowers the window.

SVN revision: 14449
This commit is contained in:
sebastid 2005-04-28 10:42:04 +00:00 committed by sebastid
parent d6eeb6540c
commit 0df8f252ea
3 changed files with 33 additions and 11 deletions

View File

@ -1144,6 +1144,12 @@ group {
source: "title";
action: SIGNAL_EMIT "action" "menu";
}
program {
name: "menu_action_title4";
signal: "mouse,clicked,2";
source: "title";
action: SIGNAL_EMIT "action" "lower";
}
program {
name: "close_action";
signal: "mouse,clicked,1";

View File

@ -1927,7 +1927,10 @@ _e_border_cb_signal_action(void *data, Evas_Object *obj, const char *emission, c
evas_pointer_canvas_xy_get(bd->bg_evas , &x, &y);
_e_border_menu_show(bd, x + bd->x, y + bd->y);
}
else if (!strcmp(source, "lower"))
{
e_container_window_lower(bd->zone->container, bd->win, bd->layer);
}
}
static void

View File

@ -500,6 +500,25 @@ e_container_window_raise(E_Container *con, Ecore_X_Window win, int layer)
{
int pos;
if (layer == 0) pos = 1;
else if ((layer > 0) && (layer <= 50)) pos = 2;
else if ((layer > 50) && (layer <= 100)) pos = 3;
else if ((layer > 100) && (layer <= 150)) pos = 4;
else if ((layer > 150) && (layer <= 200)) pos = 5;
else pos = 6;
ecore_x_window_configure(win,
ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
0, 0, 0, 0, 0,
con->layers[pos], ECORE_X_WINDOW_STACK_BELOW);
}
void
e_container_window_lower(E_Container *con, Ecore_X_Window win, int layer)
{
int pos;
if (layer == 0) pos = 0;
else if ((layer > 0) && (layer <= 50)) pos = 1;
else if ((layer > 50) && (layer <= 100)) pos = 2;
@ -508,16 +527,10 @@ e_container_window_raise(E_Container *con, Ecore_X_Window win, int layer)
else pos = 5;
ecore_x_window_configure(win,
ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
0, 0, 0, 0, 0,
con->layers[pos], ECORE_X_WINDOW_STACK_BELOW);
}
void
e_container_window_lower(E_Container *con, Ecore_X_Window win, int layer)
{
ecore_x_window_lower(win);
ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING |
ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE,
0, 0, 0, 0, 0,
con->layers[pos], ECORE_X_WINDOW_STACK_ABOVE);
}
/* local subsystem functions */