forked from enlightenment/enlightenment
first step in removing container win (compositor can replace it al
with its own objects directly and expose comp canvas to gadgets/fm and so on just like container canvas does now. a lot of e's code can be simplified if we went totally compositing... worry about that for e18, but for now put in hooks). SVN revision: 58112
This commit is contained in:
parent
cd9583cd4d
commit
e1070cc338
|
@ -891,6 +891,8 @@ e_config_init(void)
|
|||
E_CONFIG_VAL(D, T, exec.show_run_dialog, UCHAR);
|
||||
E_CONFIG_VAL(D, T, exec.show_exit_dialog, UCHAR);
|
||||
|
||||
E_CONFIG_VAL(D, T, null_container_win, UCHAR);
|
||||
|
||||
e_config_load();
|
||||
|
||||
e_config_save_queue();
|
||||
|
@ -1298,6 +1300,8 @@ e_config_load(void)
|
|||
E_CONFIG_LIMIT(e_config->exec.show_run_dialog, 0, 1);
|
||||
E_CONFIG_LIMIT(e_config->exec.show_exit_dialog, 0, 1);
|
||||
|
||||
E_CONFIG_LIMIT(e_config->null_container_win, 0, 1);
|
||||
|
||||
/* FIXME: disabled auto apply because it causes problems */
|
||||
e_config->cfgdlg_auto_apply = 0;
|
||||
/* FIXME: desklock personalized password id disabled for security reasons */
|
||||
|
|
|
@ -338,6 +338,8 @@ struct _E_Config
|
|||
Eina_Bool show_run_dialog;
|
||||
Eina_Bool show_exit_dialog;
|
||||
} exec;
|
||||
|
||||
unsigned char null_container_win;
|
||||
};
|
||||
|
||||
struct _E_Config_Syscon_Action
|
||||
|
|
|
@ -83,7 +83,7 @@ e_container_new(E_Manager *man)
|
|||
0, 0, con->w, con->h, 1, 1,
|
||||
&(con->bg_win));
|
||||
e_canvas_add(con->bg_ecore_evas);
|
||||
con->event_win = ecore_x_window_input_new(con->bg_win, 0, 0, con->w, con->h);
|
||||
con->event_win = ecore_x_window_input_new(con->win, 0, 0, con->w, con->h);
|
||||
ecore_x_window_show(con->event_win);
|
||||
con->bg_evas = ecore_evas_get(con->bg_ecore_evas);
|
||||
ecore_evas_name_class_set(con->bg_ecore_evas, "E", "Background_Window");
|
||||
|
@ -189,12 +189,18 @@ e_container_show(E_Container *con)
|
|||
E_OBJECT_TYPE_CHECK(con, E_CONTAINER_TYPE);
|
||||
|
||||
if (con->visible) return;
|
||||
ecore_evas_show(con->bg_ecore_evas);
|
||||
if (!e_config->null_container_win)
|
||||
ecore_evas_show(con->bg_ecore_evas);
|
||||
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);
|
||||
ecore_x_window_configure(con->event_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)
|
||||
ecore_x_window_show(con->win);
|
||||
ecore_x_icccm_state_set(con->bg_win, ECORE_X_WINDOW_STATE_HINT_NORMAL);
|
||||
|
@ -272,7 +278,9 @@ e_container_resize(E_Container *con, int w, int h)
|
|||
con->h = h;
|
||||
if (con->win != con->manager->win)
|
||||
ecore_x_window_resize(con->win, con->w, con->h);
|
||||
ecore_evas_resize(con->bg_ecore_evas, con->w, con->h);
|
||||
ecore_x_window_resize(con->event_win, con->w, con->h);
|
||||
if (!e_config->null_container_win)
|
||||
ecore_evas_resize(con->bg_ecore_evas, con->w, con->h);
|
||||
evas_object_resize(con->bg_blank_object, con->w, con->h);
|
||||
_e_container_resize_handle(con);
|
||||
}
|
||||
|
@ -289,7 +297,9 @@ e_container_move_resize(E_Container *con, int x, int y, int w, int h)
|
|||
con->h = h;
|
||||
if (con->win != con->manager->win)
|
||||
ecore_x_window_move_resize(con->win, con->x, con->y, con->w, con->h);
|
||||
ecore_evas_resize(con->bg_ecore_evas, con->w, con->h);
|
||||
ecore_x_window_move_resize(con->event_win, con->x, con->y, con->w, con->h);
|
||||
if (!e_config->null_container_win)
|
||||
ecore_evas_resize(con->bg_ecore_evas, con->w, con->h);
|
||||
evas_object_move(con->bg_blank_object, con->x, con->y);
|
||||
evas_object_resize(con->bg_blank_object, con->w, con->h);
|
||||
_e_container_resize_handle(con);
|
||||
|
|
Loading…
Reference in New Issue