diff --git a/config/default/e.src b/config/default/e.src
index c94d89e09..e3c627b30 100644
--- a/config/default/e.src
+++ b/config/default/e.src
@@ -20,7 +20,7 @@ group "E_Config" struct {
value "zone_desks_y_count" int: 1;
value "show_desktop_icons" int: 1;
value "edge_flip_dragging" int: 0;
- value "use_composite" int: 1;
+ value "use_shaped_win" int: 0;
value "no_module_delay" int: 1;
group "modules" list {
group "E_Config_Module" struct {
diff --git a/config/mobile/e.src b/config/mobile/e.src
index 98bf4b993..d12bc4e5e 100644
--- a/config/mobile/e.src
+++ b/config/mobile/e.src
@@ -20,7 +20,7 @@ group "E_Config" struct {
value "zone_desks_y_count" int: 1;
value "show_desktop_icons" int: 1;
value "edge_flip_dragging" int: 1;
- value "use_composite" int: 1;
+ value "use_shaped_win" int: 0;
value "language" string: "en_US.UTF-8";
value "window_placement_policy" int: 0;
value "window_grouping" int: 0;
diff --git a/config/standard/e.src b/config/standard/e.src
index be39afc9f..2a8674a3f 100644
--- a/config/standard/e.src
+++ b/config/standard/e.src
@@ -20,7 +20,7 @@ group "E_Config" struct {
value "zone_desks_y_count" int: 1;
value "show_desktop_icons" int: 1;
value "edge_flip_dragging" int: 1;
- value "use_composite" int: 1;
+ value "use_shaped_win" int: 0;
value "language" string: "en_US.UTF-8";
value "window_placement_policy" int: 0;
value "window_grouping" int: 0;
diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index 51122195b..3cd7725e0 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -8303,7 +8303,7 @@ _e_border_eval0(E_Border *bd)
bd->bg_object = o;
- if ((e_config->use_composite) && (!bd->client.argb))
+ if ((!e_config->use_shaped_win) && (!bd->client.argb))
{
argb_option = edje_object_data_get(o, "argb");
if ((argb_option) && (!strcmp(argb_option, "1")))
diff --git a/src/bin/e_config.c b/src/bin/e_config.c
index b027f683c..2be39012b 100644
--- a/src/bin/e_config.c
+++ b/src/bin/e_config.c
@@ -669,7 +669,7 @@ e_config_init(void)
E_CONFIG_VAL(D, T, zone_desks_y_count, INT); /**/
E_CONFIG_VAL(D, T, show_desktop_icons, INT); /**/
E_CONFIG_VAL(D, T, edge_flip_dragging, INT); /**/
- E_CONFIG_VAL(D, T, use_composite, INT); /**/
+ E_CONFIG_VAL(D, T, use_shaped_win, INT); /**/
E_CONFIG_VAL(D, T, language, STR); /**/
E_CONFIG_VAL(D, T, no_module_delay, INT); /**/
E_CONFIG_VAL(D, T, desklock_language, STR); /**/
diff --git a/src/bin/e_config.h b/src/bin/e_config.h
index fd7cc271d..a3a69b242 100644
--- a/src/bin/e_config.h
+++ b/src/bin/e_config.h
@@ -68,7 +68,7 @@ struct _E_Config
int zone_desks_y_count; // GUI
int show_desktop_icons; // GUI
int edge_flip_dragging; // GUI
- int use_composite; // GUI
+ int use_shaped_win; // GUI
int no_module_delay; // GUI
const char *language; // GUI
const char *desklock_language; // GUI
diff --git a/src/bin/e_configure_option.c b/src/bin/e_configure_option.c
index 713071fb9..0e7ad0038 100644
--- a/src/bin/e_configure_option.c
+++ b/src/bin/e_configure_option.c
@@ -1537,7 +1537,7 @@ e_configure_option_init(void)
co->funcs[0].none = _e_configure_zone_desks_count_changed;
OPT_ADD(BOOL, edge_flip_dragging, _("Edge flip while dragging"), _("edge"), _("flip"), _("drag"), _("binding"));
OPT_HELP(_("Enable edge binding functionality while dragging objects to screen edge"));
- OPT_ADD(BOOL, use_composite, _("Use ARGB instead of shaped windows"), _("border"));
+ OPT_ADD(BOOL, use_shaped_win, _("Use shaped windows instead of ARGB"), _("border"));
OPT_ADD(CUSTOM, modules, _("Module settings"), _("module"));
co->info = eina_stringshare_add("extensions/modules");
diff --git a/src/bin/e_dnd.c b/src/bin/e_dnd.c
index e981e8f5c..ac04464f1 100644
--- a/src/bin/e_dnd.c
+++ b/src/bin/e_dnd.c
@@ -156,7 +156,7 @@ e_drag_new(E_Container *container, int x, int y,
drag->ecore_evas = e_canvas_new(drag->container->win,
drag->x, drag->y, drag->w, drag->h, 1, 1,
&(drag->evas_win));
- if (e_config->use_composite)
+ if (!e_config->use_shaped_win)
ecore_evas_alpha_set(drag->ecore_evas, 1);
else
{
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index 0630af064..71e47e18a 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -1766,7 +1766,7 @@ _e_menu_realize(E_Menu *m)
if (m->shaped)
{
- if (e_config->use_composite)
+ if (!e_config->use_shaped_win)
{
ecore_evas_alpha_set(m->ecore_evas, m->shaped);
diff --git a/src/bin/e_popup.c b/src/bin/e_popup.c
index e2210ad46..ccc409467 100644
--- a/src/bin/e_popup.c
+++ b/src/bin/e_popup.c
@@ -91,7 +91,7 @@ e_popup_show(E_Popup *pop)
E_OBJECT_TYPE_CHECK(pop, E_POPUP_TYPE);
if (pop->visible) return;
pop->visible = 1;
- if ((pop->shaped) && (!e_config->use_composite))
+ if (pop->shaped && e_config->use_shaped_win)
{
ecore_evas_move(pop->ecore_evas,
pop->zone->container->manager->w,
@@ -103,7 +103,7 @@ e_popup_show(E_Popup *pop)
else
{
ecore_evas_show(pop->ecore_evas);
- if (!(pop->shaped && e_config->use_composite))
+ if (!pop->shaped || e_config->use_shaped_win)
e_container_shape_show(pop->shape);
}
}
@@ -196,7 +196,7 @@ e_popup_edje_bg_object_set(E_Popup *pop, Evas_Object *o)
pop->shaped = 1;
else
pop->shaped = 0;
- if (e_config->use_composite)
+ if (!e_config->use_shaped_win)
{
ecore_evas_alpha_set(pop->ecore_evas, pop->shaped);
eina_hash_del(_e_popup_hash, e_util_winid_str_get(pop->evas_win), pop);
@@ -300,7 +300,7 @@ e_popup_idler_before(void)
pop->need_shape_export = 0;
}
if ((pop->visible) && (!pop->idle_enterer) &&
- (!pop->shaped && e_config->use_composite))
+ (!pop->shaped && !e_config->use_shaped_win))
e_container_shape_show(pop->shape);
}
}
diff --git a/src/modules/comp/e_mod_main.c b/src/modules/comp/e_mod_main.c
index 12011d25f..0c31b69c7 100644
--- a/src/modules/comp/e_mod_main.c
+++ b/src/modules/comp/e_mod_main.c
@@ -89,12 +89,6 @@ e_modapi_init(E_Module *m)
mod->conf->lock_fps = 0;
mod->conf->indirect = 0;
- if (!e_config->use_composite)
- {
- e_config->use_composite = 1;
- e_config_save_queue();
- }
-
/* XXX: update old configs. add config versioning */
if (mod->conf->first_draw_delay == 0)
mod->conf->first_draw_delay = 0.20;
diff --git a/src/modules/conf_performance/e_int_config_engine.c b/src/modules/conf_performance/e_int_config_engine.c
index 435de9e9f..e31f64598 100644
--- a/src/modules/conf_performance/e_int_config_engine.c
+++ b/src/modules/conf_performance/e_int_config_engine.c
@@ -6,7 +6,7 @@ static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
static int _basic_check_changed(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
-static void _cb_composite_change(void *data, Evas_Object *obj);
+static void _cb_shaped_change(void *data, Evas_Object *obj);
static void _cb_confirm_yes(void *data);
static void _cb_confirm_no(void *data);
@@ -14,8 +14,8 @@ struct _E_Config_Dialog_Data
{
E_Config_Dialog *cfd;
- int use_composite;
- Evas_Object *o_composite;
+ int use_shaped_win;
+ Evas_Object *o_shaped;
};
E_Config_Dialog *
@@ -53,7 +53,7 @@ _create_data(E_Config_Dialog *cfd)
static void
_fill_data(E_Config_Dialog_Data *cfdata)
{
- cfdata->use_composite = e_config->use_composite;
+ cfdata->use_shaped_win = e_config->use_shaped_win;
}
static void
@@ -65,7 +65,7 @@ _free_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
static int
_basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
{
- e_config->use_composite = cfdata->use_composite;
+ e_config->use_shaped_win = cfdata->use_shaped_win;
e_config_save_queue();
return 1;
}
@@ -73,7 +73,7 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
static int
_basic_check_changed(E_Config_Dialog *cfd __UNUSED__, E_Config_Dialog_Data *cfdata)
{
- return !(cfdata->use_composite == e_config->use_composite);
+ return !(cfdata->use_shaped_win == e_config->use_shaped_win);
}
static Evas_Object *
@@ -84,10 +84,10 @@ _basic_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dial
o = e_widget_list_add(evas, 0, 0);
of = e_widget_framelist_add(evas, _("General Settings"), 0);
- ob = e_widget_check_add(evas, _("Use ARGB instead of shaped windows"),
- &(cfdata->use_composite));
- cfdata->o_composite = ob;
- e_widget_on_change_hook_set(ob, _cb_composite_change, cfdata);
+ ob = e_widget_check_add(evas, _("Use shaped windows instead of ARGB"),
+ &(cfdata->use_shaped_win));
+ cfdata->o_shaped = ob;
+ e_widget_on_change_hook_set(ob, _cb_shaped_change, cfdata);
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 0, 0.5);
@@ -95,25 +95,26 @@ _basic_create_widgets(E_Config_Dialog *cfd __UNUSED__, Evas *evas, E_Config_Dial
}
static void
-_cb_composite_change(void *data, Evas_Object *obj __UNUSED__)
+_cb_shaped_change(void *data, Evas_Object *obj __UNUSED__)
{
E_Config_Dialog_Data *cfdata = NULL;
if (!(cfdata = data)) return;
- if (cfdata->use_composite)
+ if (cfdata->use_shaped_win)
{
- if (!ecore_x_screen_is_composited(0))
- {
- /* pop dialog */
- e_confirm_dialog_show(_("Use ARGB instead of shaped windows"),
- "preferences-engine",
- _("You have chosen to enable ARGB composite "
- "support,
but your current screen does "
- "not support composite.
"
- "Are you sure you wish to enable ARGB support?"),
- _("Enable"), NULL, _cb_confirm_yes, _cb_confirm_no,
- cfdata, cfdata, NULL, NULL);
- }
+ if (ecore_x_screen_is_composited(0))
+ {
+ /* pop dialog */
+ e_confirm_dialog_show(_("Use shaped windows instead of ARGB"),
+ "preferences-engine",
+ _("You have chosen to use shaped windows
"
+ "but your current screen is composited."
+ "
"
+ "Are you really sure you wish to use
"
+ "shaped windows?"),
+ NULL, NULL, _cb_confirm_yes,
+ _cb_confirm_no, cfdata, cfdata, NULL, NULL);
+ }
}
}
@@ -123,7 +124,7 @@ _cb_confirm_yes(void *data)
E_Config_Dialog_Data *cfdata = NULL;
if (!(cfdata = data)) return;
- cfdata->use_composite = 1;
+ cfdata->use_shaped_win = 1;
e_config_dialog_changed_set(cfdata->cfd, _basic_check_changed(cfdata->cfd, cfdata));
}
@@ -134,8 +135,8 @@ _cb_confirm_no(void *data)
E_Config_Dialog_Data *cfdata = NULL;
if (!(cfdata = data)) return;
- cfdata->use_composite = 0;
- e_widget_check_checked_set(cfdata->o_composite, 0);
+ cfdata->use_shaped_win = 0;
+ e_widget_check_checked_set(cfdata->o_shaped, 0);
e_config_dialog_changed_set(cfdata->cfd, _basic_check_changed(cfdata->cfd, cfdata));
}
diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c
index 4f8814bfb..01948c36d 100644
--- a/src/modules/everything/evry.c
+++ b/src/modules/everything/evry.c
@@ -806,7 +806,7 @@ _evry_window_new(E_Zone *zone, E_Zone_Edge edge)
{
win->shaped = EINA_TRUE;
- if (e_config->use_composite)
+ if (!e_config->use_shaped_win)
{
ecore_evas_alpha_set(win->ewin->ecore_evas, 1);
win->ewin->evas_win = ecore_evas_software_x11_window_get(win->ewin->ecore_evas);
diff --git a/src/modules/gadman/e_mod_gadman.c b/src/modules/gadman/e_mod_gadman.c
index f1cf237e2..75951291b 100644
--- a/src/modules/gadman/e_mod_gadman.c
+++ b/src/modules/gadman/e_mod_gadman.c
@@ -107,8 +107,8 @@ gadman_init(E_Module *m)
Man->height = Man->container->h;
/* Check if composite is enable */
- if (ecore_x_screen_is_composited(0) || e_config->use_composite)
- Man->use_composite = 1;
+ if (e_config->use_shaped_win)
+ Man->use_shaped_win = 0;
/* with this we can trap screen resolution change (a better way?)*/
e_container_shape_change_callback_add(Man->container, on_shape_change, NULL);
@@ -742,7 +742,7 @@ _gadman_gadcon_new(const char *name, Gadman_Layer_Type layer, E_Zone *zone, E_Ga
&(Man->top_win));
}
- if (Man->use_composite)
+ if (!Man->use_shaped_win)
{
ecore_evas_alpha_set(Man->top_ee, 1);
Man->top_win = ecore_evas_software_x11_window_get(Man->top_ee);
diff --git a/src/modules/gadman/e_mod_gadman.h b/src/modules/gadman/e_mod_gadman.h
index 01af70507..9460b7a01 100644
--- a/src/modules/gadman/e_mod_gadman.h
+++ b/src/modules/gadman/e_mod_gadman.h
@@ -63,7 +63,7 @@ struct _Manager
Ecore_Event_Handler *add;
int visible;
- int use_composite;
+ int use_shaped_win;
Ecore_X_Window top_win;
Ecore_Evas *top_ee;
E_Container *container;
diff --git a/src/modules/tiling/e_mod_tiling.c b/src/modules/tiling/e_mod_tiling.c
index 7312b2b68..159610c93 100644
--- a/src/modules/tiling/e_mod_tiling.c
+++ b/src/modules/tiling/e_mod_tiling.c
@@ -280,7 +280,7 @@ _theme_edje_object_set_aux(Evas_Object *obj, const char *group)
}
}
#define _theme_edje_object_set(_obj, _group) \
- if (e_config->use_composite) \
+ if (!e_config->use_shaped_win) \
_theme_edje_object_set_aux(_obj, _group"/composite"); \
else \
_theme_edje_object_set_aux(_obj, _group);