config: add option to treat emojis as double-width

This commit is contained in:
Boris Faure 2019-06-23 18:36:33 +02:00
parent cdaae389aa
commit 7cc1197a53
3 changed files with 14 additions and 2 deletions

View File

@ -7,7 +7,7 @@
#include "col.h"
#include "utils.h"
#define CONF_VER 20
#define CONF_VER 21
#define LIM(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min;}
@ -182,6 +182,8 @@ config_init(void)
(edd_base, Config, "ty_escapes", ty_escapes, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_base, Config, "changedir_to_current", changedir_to_current, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_base, Config, "emoji_dbl_width", emoji_dbl_width, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_base, Config, "shine", shine, EET_T_INT);
}
@ -291,6 +293,7 @@ config_sync(const Config *config_src, Config *config)
config->mv_always_show = config_src->mv_always_show;
config->ty_escapes = config_src->ty_escapes;
config->changedir_to_current = config_src->changedir_to_current;
config->emoji_dbl_width = config_src->emoji_dbl_width;
config->shine = config_src->shine;
}
@ -552,6 +555,7 @@ config_new(void)
config->mv_always_show = EINA_FALSE;
config->ty_escapes = EINA_TRUE;
config->changedir_to_current = EINA_TRUE;
config->emoji_dbl_width = EINA_TRUE;
for (j = 0; j < 4; j++)
{
for (i = 0; i < 12; i++)
@ -691,7 +695,11 @@ config_load(const char *key)
config->active_links_escape = config->active_links;
EINA_FALLTHROUGH;
/*pass through*/
case CONF_VER: /* 20 */
case 20:
config->emoji_dbl_width = EINA_TRUE;
EINA_FALLTHROUGH;
/*pass through*/
case CONF_VER: /* 21 */
config->version = CONF_VER;
break;
default:
@ -794,6 +802,7 @@ config_fork(const Config *config)
CPY(mv_always_show);
CPY(ty_escapes);
CPY(changedir_to_current);
CPY(emoji_dbl_width);
CPY(shine);
EINA_LIST_FOREACH(config->keys, l, key)

View File

@ -92,6 +92,7 @@ struct _Config
Eina_Bool mv_always_show;
Eina_Bool ty_escapes;
Eina_Bool changedir_to_current;
Eina_Bool emoji_dbl_width;
Config_Color colors[(4 * 12)];
Eina_List *keys;

View File

@ -57,6 +57,7 @@ CB(notabs, 1);
CB(mv_always_show, 0);
CB(ty_escapes, 0);
CB(changedir_to_current, 0);
CB(emoji_dbl_width, 0);
#undef CB
@ -445,6 +446,7 @@ options_behavior(Evas_Object *opbox, Evas_Object *term)
CX(_("Always show miniview"), mv_always_show, 0);
CX(_("Enable special Terminology escape codes"), ty_escapes, 0);
CX(_("Open new terminals in current working directory"), changedir_to_current, 0);
CX(_("Treat Emojis as double-width characters"), emoji_dbl_width, 0);
#undef CX