forked from enlightenment/enlightenment
in pursuit of ticket #2017, notifications now show up with the focus effect to make them slightly more attention-getting; still no change in opacity
SVN revision: 81220
This commit is contained in:
parent
38987b7872
commit
538fe07543
|
@ -1618,6 +1618,7 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
Eina_List *list = NULL, *l;
|
Eina_List *list = NULL, *l;
|
||||||
Match *m;
|
Match *m;
|
||||||
|
Eina_Bool focus = EINA_FALSE, urgent = EINA_FALSE;
|
||||||
const char *title = NULL, *name = NULL, *clas = NULL, *role = NULL;
|
const char *title = NULL, *name = NULL, *clas = NULL, *role = NULL;
|
||||||
Ecore_X_Window_Type primary_type = ECORE_X_WINDOW_TYPE_UNKNOWN;
|
Ecore_X_Window_Type primary_type = ECORE_X_WINDOW_TYPE_UNKNOWN;
|
||||||
|
|
||||||
|
@ -1757,6 +1758,8 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
focus = m->focus;
|
||||||
|
urgent = m->urgent;
|
||||||
if (m->shadow_style)
|
if (m->shadow_style)
|
||||||
{
|
{
|
||||||
snprintf(buf, sizeof(buf), "e/comp/%s",
|
snprintf(buf, sizeof(buf), "e/comp/%s",
|
||||||
|
@ -1797,11 +1800,11 @@ _e_mod_comp_win_shadow_setup(E_Comp_Win *cw)
|
||||||
edje_object_signal_emit(cw->shobj, "e,state,shadow,off", "e");
|
edje_object_signal_emit(cw->shobj, "e,state,shadow,off", "e");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cw->bd)
|
if (cw->bd || focus || urgent)
|
||||||
{
|
{
|
||||||
if (cw->bd->focused)
|
if (focus || (cw->bd && cw->bd->focused))
|
||||||
edje_object_signal_emit(cw->shobj, "e,state,focus,on", "e");
|
edje_object_signal_emit(cw->shobj, "e,state,focus,on", "e");
|
||||||
if (cw->bd->client.icccm.urgent)
|
if (urgent || (cw->bd && cw->bd->client.icccm.urgent))
|
||||||
edje_object_signal_emit(cw->shobj, "e,state,urgent,on", "e");
|
edje_object_signal_emit(cw->shobj, "e,state,urgent,on", "e");
|
||||||
}
|
}
|
||||||
if (cw->visible)
|
if (cw->visible)
|
||||||
|
|
|
@ -23,6 +23,8 @@ e_mod_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd)
|
||||||
E_CONFIG_VAL(D, T, argb, CHAR);
|
E_CONFIG_VAL(D, T, argb, CHAR);
|
||||||
E_CONFIG_VAL(D, T, fullscreen, CHAR);
|
E_CONFIG_VAL(D, T, fullscreen, CHAR);
|
||||||
E_CONFIG_VAL(D, T, modal, CHAR);
|
E_CONFIG_VAL(D, T, modal, CHAR);
|
||||||
|
E_CONFIG_VAL(D, T, focus, CHAR);
|
||||||
|
E_CONFIG_VAL(D, T, urgent, CHAR);
|
||||||
E_CONFIG_VAL(D, T, shadow_style, STR);
|
E_CONFIG_VAL(D, T, shadow_style, STR);
|
||||||
|
|
||||||
*conf_edd = E_CONFIG_DD_NEW("Comp_Config", Config);
|
*conf_edd = E_CONFIG_DD_NEW("Comp_Config", Config);
|
||||||
|
@ -104,6 +106,12 @@ e_mod_comp_cfdata_config_new(void)
|
||||||
mat->name = eina_stringshare_add("_e_popup_desklock");
|
mat->name = eina_stringshare_add("_e_popup_desklock");
|
||||||
mat->shadow_style = eina_stringshare_add("still");
|
mat->shadow_style = eina_stringshare_add("still");
|
||||||
|
|
||||||
|
mat = E_NEW(Match, 1);
|
||||||
|
cfg->match.popups = eina_list_append(cfg->match.popups, mat);
|
||||||
|
mat->name = eina_stringshare_add("_e_popup_notification");
|
||||||
|
mat->shadow_style = eina_stringshare_add("still");
|
||||||
|
mat->focus = 1;
|
||||||
|
|
||||||
mat = E_NEW(Match, 1);
|
mat = E_NEW(Match, 1);
|
||||||
cfg->match.popups = eina_list_append(cfg->match.popups, mat);
|
cfg->match.popups = eina_list_append(cfg->match.popups, mat);
|
||||||
mat->shadow_style = eina_stringshare_add("popup");
|
mat->shadow_style = eina_stringshare_add("popup");
|
||||||
|
|
|
@ -56,6 +56,8 @@ struct _Match
|
||||||
char argb; // used for borders, overrides, popups, menus, 0 == don't use, 1 == is argb, -1 == not argb
|
char argb; // used for borders, overrides, popups, menus, 0 == don't use, 1 == is argb, -1 == not argb
|
||||||
char fullscreen; // used for borders, 0 == don't use, 1 == is fullscreen, -1 == not fullscreen
|
char fullscreen; // used for borders, 0 == don't use, 1 == is fullscreen, -1 == not fullscreen
|
||||||
char modal; // used for borders, 0 == don't use, 1 == is modal, -1 == not modal
|
char modal; // used for borders, 0 == don't use, 1 == is modal, -1 == not modal
|
||||||
|
char focus; // used for setting focus state (on popups): 1 is focused, unset is use regular logic
|
||||||
|
char urgent; // used for setting urgent state (on popups): 1 is urgent, unset is use regular logic
|
||||||
};
|
};
|
||||||
|
|
||||||
EAPI void e_mod_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd);
|
EAPI void e_mod_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd);
|
||||||
|
|
Loading…
Reference in New Issue