comp module fps toggle keybind is now a configurable action

SVN revision: 72975
This commit is contained in:
Mike Blumenkrantz 2012-06-28 06:58:06 +00:00
parent 36c7e47745
commit 9ef96e2b07
4 changed files with 56 additions and 30 deletions

View File

@ -2988,27 +2988,6 @@ _e_mod_comp_bd_property(void *data __UNUSED__,
}
//////////////////////////////////////////////////////////////////////////
static void
_e_mod_comp_fps_toggle(void)
{
if (_comp_mod)
{
Eina_List *l;
E_Comp *c;
if (_comp_mod->conf->fps_show)
{
_comp_mod->conf->fps_show = 0;
e_config_save_queue();
}
else
{
_comp_mod->conf->fps_show = 1;
e_config_save_queue();
}
EINA_LIST_FOREACH(compositors, l, c) _e_mod_comp_cb_update(c);
}
}
static Eina_Bool
_e_mod_comp_key_down(void *data __UNUSED__,
@ -3032,13 +3011,6 @@ _e_mod_comp_key_down(void *data __UNUSED__,
e_sys_action_do(E_SYS_RESTART, NULL);
}
}
else if ((!strcasecmp(ev->keyname, "f")) &&
(ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT) &&
(ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) &&
(ev->modifiers & ECORE_EVENT_MODIFIER_ALT))
{
_e_mod_comp_fps_toggle();
}
return ECORE_CALLBACK_PASS_ON;
}
@ -3055,7 +3027,7 @@ _e_mod_comp_signal_user(void *data __UNUSED__,
}
else if (ev->number == 2)
{
_e_mod_comp_fps_toggle();
e_mod_comp_fps_toggle();
}
return ECORE_CALLBACK_PASS_ON;
}
@ -3567,6 +3539,28 @@ e_mod_comp_shutdown(void)
borders = NULL;
}
void
e_mod_comp_fps_toggle(void)
{
if (_comp_mod)
{
Eina_List *l;
E_Comp *c;
if (_comp_mod->conf->fps_show)
{
_comp_mod->conf->fps_show = 0;
e_config_save_queue();
}
else
{
_comp_mod->conf->fps_show = 1;
e_config_save_queue();
}
EINA_LIST_FOREACH(compositors, l, c) _e_mod_comp_cb_update(c);
}
}
void
e_mod_comp_shadow_set(void)
{

View File

@ -8,7 +8,7 @@ typedef struct _E_Comp_Win E_Comp_Win;
Eina_Bool e_mod_comp_init(void);
void e_mod_comp_shutdown(void);
void e_mod_comp_fps_toggle(void);
void e_mod_comp_shadow_set(void);
#endif

View File

@ -19,6 +19,7 @@
/* module private routines */
Mod *_comp_mod = NULL;
static E_Action *act = NULL;
/* public module routines. all modules must have these */
EAPI E_Module_Api e_modapi =
@ -27,6 +28,18 @@ EAPI E_Module_Api e_modapi =
"Composite"
};
static void
_e_mod_action_key_cb(E_Object *obj __UNUSED__, const char *p __UNUSED__, Ecore_Event_Key *ev __UNUSED__)
{
e_mod_comp_fps_toggle();
}
static void
_e_mod_action_cb(E_Object *obj __UNUSED__, const char *p __UNUSED__)
{
e_mod_comp_fps_toggle();
}
EAPI void *
e_modapi_init(E_Module *m)
{
@ -48,6 +61,15 @@ e_modapi_init(E_Module *m)
mod->conf = e_config_domain_load("module.comp", mod->conf_edd);
/* add module supplied action */
act = e_action_add("composite");
if (act)
{
act->func.go = _e_mod_action_cb;
act->func.go_key = _e_mod_action_key_cb;
e_action_predef_name_set(_("Composite"), _("Toggle FPS Display"),
"composite", "", NULL, 0);
}
if (!mod->conf) _e_mod_config_new(m);
if (!e_config->use_composite)
@ -117,6 +139,13 @@ e_modapi_shutdown(E_Module *m)
}
_e_mod_config_free(m);
if (act)
{
e_action_predef_name_del(_("Composite"),
_("Toggle FPS Display"));
e_action_del("composite");
}
E_CONFIG_DD_FREE(mod->conf_match_edd);
E_CONFIG_DD_FREE(mod->conf_edd);
free(mod);

View File

@ -616,6 +616,9 @@ _restore_key_binding_defaults_cb(void *data,
CFG_KEYBIND_DFLT(E_BINDING_CONTEXT_ANY, "Escape",
E_BINDING_MODIFIER_ALT, 0,
"everything", NULL);
CFG_KEYBIND_DFLT(E_BINDING_CONTEXT_ANY, "f",
E_BINDING_MODIFIER_ALT | E_BINDING_MODIFIER_SHIFT | E_BINDING_MODIFIER_CTRL, 0,
"composite", NULL);
CFG_KEYBIND_DFLT(E_BINDING_CONTEXT_ANY, "l",
E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
"desk_lock", NULL);