add options (conf2 only for the next few minutes) and functionality to enable "fast" comp effects in theme
SVN revision: 82631
This commit is contained in:
parent
34aab4c595
commit
71003dbeac
|
@ -4,6 +4,7 @@
|
|||
* added option to disable comp effects on screen
|
||||
* fixed bug where backlight settings would try to update dummy backlight devices
|
||||
* added focus-out color class and functionality to default theme
|
||||
* added options and functionality for "fast" composite effects
|
||||
|
||||
2013-01-10 Carsten Haitzler
|
||||
|
||||
|
|
1
NEWS
1
NEWS
|
@ -25,6 +25,7 @@ Additions:
|
|||
* comp settings now uses the "e_comp" config domain
|
||||
* added options to disable comp effects on types of windows
|
||||
* added option to disable comp effects on screen
|
||||
* added options and functionality for "fast" composite effects
|
||||
|
||||
Changes:
|
||||
Modules:
|
||||
|
|
|
@ -323,6 +323,7 @@ group { name: "e/comp/default";
|
|||
target: "shadow";
|
||||
}
|
||||
program {
|
||||
name: "visible_on";
|
||||
signal: "e,state,visible,on"; source: "e";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
transition: DECELERATE 0.15;
|
||||
|
@ -334,6 +335,7 @@ group { name: "e/comp/default";
|
|||
action: SIGNAL_EMIT "e,action,show,done" "e";
|
||||
}
|
||||
program {
|
||||
name: "visible_off";
|
||||
signal: "e,state,visible,off"; source: "e";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: DECELERATE 0.30;
|
||||
|
@ -345,6 +347,7 @@ group { name: "e/comp/default";
|
|||
action: SIGNAL_EMIT "e,action,hide,done" "e";
|
||||
}
|
||||
program {
|
||||
name: "focus_on";
|
||||
signal: "e,state,focus,on"; source: "e";
|
||||
action: STATE_SET "focused" 0.0;
|
||||
transition: SINUSOIDAL 0.1;
|
||||
|
@ -358,6 +361,7 @@ group { name: "e/comp/default";
|
|||
target: "glow";
|
||||
}
|
||||
program {
|
||||
name: "focus_off";
|
||||
signal: "e,state,focus,off"; source: "e";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: SINUSOIDAL 0.1;
|
||||
|
@ -385,6 +389,38 @@ group { name: "e/comp/default";
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
group { name: "e/comp/default/fast";
|
||||
alias: "e/comp/popup/fast";
|
||||
inherit: "e/comp/default";
|
||||
programs {
|
||||
program {
|
||||
name: "visible_on";
|
||||
transition: DECELERATE 0;
|
||||
}
|
||||
program {
|
||||
name: "visible_off";
|
||||
transition: DECELERATE 0;
|
||||
}
|
||||
program {
|
||||
name: "focus_on";
|
||||
transition: SINUSOIDAL 0.1;
|
||||
target: "glow";
|
||||
after: "focus2";
|
||||
}
|
||||
program {
|
||||
name: "focus_on2";
|
||||
signal: "e,state,focus,on"; source: "e";
|
||||
action: STATE_SET "focused" 0.0;
|
||||
target: "focus-clipper";
|
||||
}
|
||||
program {
|
||||
name: "focus_off";
|
||||
transition: SINUSOIDAL 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "e/comp/none";
|
||||
parts {
|
||||
part { name: "e.swallow.content"; type: SWALLOW;
|
||||
|
@ -416,6 +452,18 @@ group { name: "e/comp/still";
|
|||
}
|
||||
}
|
||||
|
||||
group { name: "e/comp/still/fast";
|
||||
inherit: "e/comp/default/fast";
|
||||
parts {
|
||||
part { name: "shower";
|
||||
description { state: "default" 0.0;
|
||||
rel1.relative: 0.0 0.0;
|
||||
rel2.relative: 1.0 1.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "e/comp/menu";
|
||||
inherit: "e/comp/default";
|
||||
parts {
|
||||
|
@ -428,6 +476,18 @@ group { name: "e/comp/menu";
|
|||
}
|
||||
}
|
||||
|
||||
group { name: "e/comp/menu/fast";
|
||||
inherit: "e/comp/default/fast";
|
||||
parts {
|
||||
part { name: "shower";
|
||||
description { state: "default" 0.0;
|
||||
rel1.relative: 0.05 0.0;
|
||||
rel2.relative: 0.95 0.9;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "e/comp/everything";
|
||||
inherit: "e/comp/default";
|
||||
parts {
|
||||
|
@ -440,6 +500,18 @@ group { name: "e/comp/everything";
|
|||
}
|
||||
}
|
||||
|
||||
group { name: "e/comp/everything";
|
||||
inherit: "e/comp/default/fast";
|
||||
parts {
|
||||
part { name: "shower";
|
||||
description { state: "default" 0.0;
|
||||
rel1.relative: -0.3 -0.3;
|
||||
rel2.relative: 1.3 1.3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "e/comp/fullscreen";
|
||||
images.image: "win_shadow.png" COMP;
|
||||
images.image: "screen_circular_shadow.png" COMP;
|
||||
|
|
|
@ -1616,7 +1616,7 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw)
|
|||
char buf[4096];
|
||||
Eina_List *list = NULL, *l;
|
||||
E_Comp_Match *m;
|
||||
Eina_Bool focus = EINA_FALSE, urgent = EINA_FALSE, skip = EINA_FALSE;
|
||||
Eina_Bool focus = EINA_FALSE, urgent = EINA_FALSE, skip = EINA_FALSE, fast = EINA_FALSE;
|
||||
const char *title = NULL, *name = NULL, *clas = NULL, *role = NULL;
|
||||
Ecore_X_Window_Type primary_type = ECORE_X_WINDOW_TYPE_UNKNOWN;
|
||||
|
||||
|
@ -1635,6 +1635,7 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw)
|
|||
role = cw->bd->client.icccm.window_role;
|
||||
primary_type = cw->bd->client.netwm.type;
|
||||
skip = (conf->match.disable_borders);
|
||||
fast = conf->fast_borders;
|
||||
}
|
||||
else if (cw->pop)
|
||||
{
|
||||
|
@ -1644,12 +1645,14 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw)
|
|||
list = conf->match.popups;
|
||||
name = cw->pop->name;
|
||||
skip = (conf->match.disable_popups);
|
||||
fast = conf->fast_popups;
|
||||
}
|
||||
else if (cw->menu)
|
||||
{
|
||||
// FIXME: e has no way to tell e menus apart... need naming
|
||||
list = conf->match.menus;
|
||||
skip = (conf->match.disable_menus);
|
||||
fast = conf->fast_menus;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1660,6 +1663,7 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw)
|
|||
role = cw->role;
|
||||
primary_type = cw->primary_type;
|
||||
skip = (conf->match.disable_overrides);
|
||||
fast = conf->fast_overrides;
|
||||
}
|
||||
|
||||
if (!skip)
|
||||
|
@ -1766,10 +1770,16 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw)
|
|||
urgent = m->urgent;
|
||||
if (m->shadow_style)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "e/comp/%s",
|
||||
m->shadow_style);
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders",
|
||||
buf);
|
||||
if (fast)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "e/comp/%s/fast", m->shadow_style);
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders", buf);
|
||||
}
|
||||
if (!ok)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "e/comp/%s", m->shadow_style);
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders", buf);
|
||||
}
|
||||
if (ok) break;
|
||||
}
|
||||
}
|
||||
|
@ -1783,14 +1793,24 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw)
|
|||
if (ok) break;
|
||||
if (conf->shadow_style)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "e/comp/%s",
|
||||
conf->shadow_style);
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders",
|
||||
buf);
|
||||
if (fast)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "e/comp/%s/fast", conf->shadow_style);
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders", buf);
|
||||
}
|
||||
if (!ok)
|
||||
{
|
||||
snprintf(buf, sizeof(buf), "e/comp/%s", conf->shadow_style);
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders", buf);
|
||||
}
|
||||
}
|
||||
if (!ok)
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders",
|
||||
"e/comp/default");
|
||||
{
|
||||
if (fast)
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders", "e/comp/default/fast");
|
||||
if (!ok)
|
||||
ok = e_theme_edje_object_set(cw->shobj, "base/theme/borders", "e/comp/default");
|
||||
}
|
||||
break;
|
||||
}
|
||||
edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->obj);
|
||||
|
@ -4221,6 +4241,20 @@ _e_comp_cfg_init(void)
|
|||
E_CONFIGURE_OPTION_ADD(co, BOOL, vsync, conf, _("Tear-free compositing (VSYNC)"), _("composite"), _("border"));
|
||||
co->requires_restart = 1;
|
||||
cfg_opts = eina_inlist_append(cfg_opts, EINA_INLIST_GET(co));
|
||||
|
||||
E_CONFIGURE_OPTION_ADD(co, BOOL, fast_borders, conf, _("Use fast composite effects for windows"), _("composite"), _("border"), _("theme"), _("animate"));
|
||||
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
|
||||
cfg_opts = eina_inlist_append(cfg_opts, EINA_INLIST_GET(co));
|
||||
E_CONFIGURE_OPTION_ADD(co, BOOL, fast_menus, conf, _("Use fast composite effects for menus"), _("composite"), _("menu"), _("theme"), _("animate"));
|
||||
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
|
||||
cfg_opts = eina_inlist_append(cfg_opts, EINA_INLIST_GET(co));
|
||||
E_CONFIGURE_OPTION_ADD(co, BOOL, fast_popups, conf, _("Use fast composite effects for popups"), _("composite"), _("popup"), _("theme"), _("animate"));
|
||||
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
|
||||
cfg_opts = eina_inlist_append(cfg_opts, EINA_INLIST_GET(co));
|
||||
E_CONFIGURE_OPTION_ADD(co, BOOL, fast_overrides, conf, _("Use fast composite effects for override-redirect windows (tooltips and such)"), _("composite"), _("theme"), _("animate"));
|
||||
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
|
||||
cfg_opts = eina_inlist_append(cfg_opts, EINA_INLIST_GET(co));
|
||||
|
||||
E_CONFIGURE_OPTION_ADD(co, BOOL, match.disable_borders, conf, _("Disable composite effects for windows"), _("composite"), _("border"), _("theme"), _("animate"));
|
||||
co->funcs[1].none = co->funcs[0].none = e_comp_shadows_reset;
|
||||
cfg_opts = eina_inlist_append(cfg_opts, EINA_INLIST_GET(co));
|
||||
|
|
|
@ -54,6 +54,10 @@ e_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd)
|
|||
E_CONFIG_VAL(D, T, smooth_windows, UCHAR);
|
||||
E_CONFIG_VAL(D, T, first_draw_delay, DOUBLE);
|
||||
E_CONFIG_VAL(D, T, disable_screen_effects, UCHAR);
|
||||
E_CONFIG_VAL(D, T, fast_popups, UCHAR);
|
||||
E_CONFIG_VAL(D, T, fast_borders, UCHAR);
|
||||
E_CONFIG_VAL(D, T, fast_menus, UCHAR);
|
||||
E_CONFIG_VAL(D, T, fast_overrides, UCHAR);
|
||||
E_CONFIG_VAL(D, T, match.disable_popups, UCHAR);
|
||||
E_CONFIG_VAL(D, T, match.disable_borders, UCHAR);
|
||||
E_CONFIG_VAL(D, T, match.disable_overrides, UCHAR);
|
||||
|
|
|
@ -29,6 +29,11 @@ struct _E_Comp_Config
|
|||
unsigned char smooth_windows;
|
||||
double first_draw_delay;
|
||||
Eina_Bool disable_screen_effects;
|
||||
// the following options add the "/fast" suffix to the normal groups
|
||||
Eina_Bool fast_popups;
|
||||
Eina_Bool fast_borders;
|
||||
Eina_Bool fast_menus;
|
||||
Eina_Bool fast_overrides;
|
||||
|
||||
struct
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue