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];
|
||||
Eina_List *list = NULL, *l;
|
||||
Match *m;
|
||||
Eina_Bool focus = EINA_FALSE, urgent = EINA_FALSE;
|
||||
const char *title = NULL, *name = NULL, *clas = NULL, *role = NULL;
|
||||
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;
|
||||
}
|
||||
}
|
||||
focus = m->focus;
|
||||
urgent = m->urgent;
|
||||
if (m->shadow_style)
|
||||
{
|
||||
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");
|
||||
}
|
||||
|
||||
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");
|
||||
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");
|
||||
}
|
||||
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, fullscreen, 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);
|
||||
|
||||
*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->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);
|
||||
cfg->match.popups = eina_list_append(cfg->match.popups, mat);
|
||||
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 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 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);
|
||||
|
|
Loading…
Reference in New Issue