add an option to disable cursor strobe light from typing: strobe effect enabled by default

SVN revision: 72527
This commit is contained in:
Mike Blumenkrantz 2012-06-20 08:29:08 +00:00
parent 5758281a6e
commit bc0282d50d
4 changed files with 26 additions and 1 deletions

View File

@ -56,6 +56,8 @@ config_init(void)
(edd_base, Config, "background", background, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_base, Config, "jump_on_change", jump_on_change, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_base, Config, "flicker_on_key", flicker_on_key, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_base, Config, "translucent", translucent, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
@ -136,6 +138,7 @@ config_load(const char *key)
config->background = NULL;
config->translucent = EINA_FALSE;
config->jump_on_change = EINA_FALSE;
config->flicker_on_key = EINA_TRUE;
config->wordsep = eina_stringshare_add(" '\"()[]{}=*!#$^\\:;,?`");
config->vidmod = 0;
config->mute = EINA_FALSE;

View File

@ -18,6 +18,7 @@ struct _Config
int scrollback;
int vidmod;
Eina_Bool jump_on_change;
Eina_Bool flicker_on_key;
Eina_Bool translucent;
Eina_Bool mute;
Eina_Bool temporary; /* not in EET */

View File

@ -19,6 +19,16 @@ _cb_op_behavior_jump_chg(void *data, Evas_Object *obj, void *event __UNUSED__)
config_save(config, NULL);
}
static void
_cb_op_behavior_flicker_chg(void *data, Evas_Object *obj, void *event __UNUSED__)
{
Evas_Object *term = data;
Config *config = termio_config_get(term);
config->flicker_on_key = elm_check_state_get(obj);
termio_config_update(term);
config_save(config, NULL);
}
static void
_cb_op_behavior_wsep_chg(void *data, Evas_Object *obj, void *event __UNUSED__)
{
@ -68,6 +78,16 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
evas_object_show(o);
evas_object_smart_callback_add(o, "changed",
_cb_op_behavior_jump_chg, term);
o = elm_check_add(opbox);
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set(o, EVAS_HINT_FILL, 0.5);
elm_object_text_set(o, "Flicker on key stroke");
elm_check_state_set(o, config->flicker_on_key);
elm_box_pack_end(opbox, o);
evas_object_show(o);
evas_object_smart_callback_add(o, "changed",
_cb_op_behavior_flicker_chg, term);
o = elm_separator_add(opbox);
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, 0.0);

View File

@ -453,7 +453,8 @@ _smart_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
}
keyin_handle(sd->pty, ev);
end:
edje_object_signal_emit(sd->cur.obj, "key,down", "terminology");
if (sd->config->flicker_on_key)
edje_object_signal_emit(sd->cur.obj, "key,down", "terminology");
}
static void