From 5138f022146e447d8bb0be56a06e9065b35b6489 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Thu, 1 Jul 2021 08:00:23 +0200 Subject: [PATCH] config: rename at-most-2 (value for grapheme-width-method) to double-width --- CHANGELOG.md | 2 +- config.c | 6 +++--- config.h | 2 +- doc/foot.ini.5.scd | 8 ++++---- vt.c | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9337652b..0b79b0ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,7 @@ terminfo entries. This should make 24-bit RGB colors work in tmux and neovim, without the need for config hacks or detection heuristics (https://codeberg.org/dnkl/foot/issues/615). -* `[tweak].grapheme-width-method=wcswidth|at-most-2` option to +* `[tweak].grapheme-width-method=wcswidth|double-width` option to `foot.ini`. diff --git a/config.c b/config.c index cb407c24..e02ca3de 100644 --- a/config.c +++ b/config.c @@ -2256,8 +2256,8 @@ parse_section_tweak( } else if (strcmp(key, "grapheme-width-method") == 0) { - if (strcmp(value, "at-most-2") == 0) - conf->tweak.grapheme_width_method = GRAPHEME_WIDTH_MAX_2; + if (strcmp(value, "double-width") == 0) + conf->tweak.grapheme_width_method = GRAPHEME_WIDTH_DOUBLE; else if (strcmp(value, "wcswidth") == 0) conf->tweak.grapheme_width_method = GRAPHEME_WIDTH_WCSWIDTH; @@ -2832,7 +2832,7 @@ config_load(struct config *conf, const char *conf_path, .fcft_filter = FCFT_SCALING_FILTER_LANCZOS3, .allow_overflowing_double_width_glyphs = true, .grapheme_shaping = false, - .grapheme_width_method = GRAPHEME_WIDTH_MAX_2, + .grapheme_width_method = GRAPHEME_WIDTH_DOUBLE, .delayed_render_lower_ns = 500000, /* 0.5ms */ .delayed_render_upper_ns = 16666666 / 2, /* half a frame period (60Hz) */ .max_shm_pool_size = 512 * 1024 * 1024, diff --git a/config.h b/config.h index 57305b22..2300a0ad 100644 --- a/config.h +++ b/config.h @@ -246,7 +246,7 @@ struct config { enum fcft_scaling_filter fcft_filter; bool allow_overflowing_double_width_glyphs; bool grapheme_shaping; - enum {GRAPHEME_WIDTH_WCSWIDTH, GRAPHEME_WIDTH_MAX_2} grapheme_width_method; + enum {GRAPHEME_WIDTH_WCSWIDTH, GRAPHEME_WIDTH_DOUBLE} grapheme_width_method; bool render_timer_osd; bool render_timer_log; bool damage_whole_window; diff --git a/doc/foot.ini.5.scd b/doc/foot.ini.5.scd index a0829ad7..684497ca 100644 --- a/doc/foot.ini.5.scd +++ b/doc/foot.ini.5.scd @@ -1003,19 +1003,19 @@ any of these options. *grapheme-width-method* Selects which method to use when calculating the width - (i.e. number of columns) of a grapheme cluster. One of *at-most-2* - and *wcswidth*. + (i.e. number of columns) of a grapheme cluster. One of + *double-width* and *wcswidth*. *wcswidth* simply adds together the individual width of all codepoints making up the cluster. - *at-most-2* does the same, but limits the maximum number of + *double-width* does the same, but limits the maximum number of columns to 2. This is more correct, but is likely to break applications since applications typically use *wcswidth*(3) internally to calculate the width. This results in cursor de-synchronization issues. - Default: _at-most-2_ + Default: _double-width_ *max-shm-pool-size-mb* This option controls the amount of virtual address space used by diff --git a/vt.c b/vt.c index 6ef2b782..b9a4f4b0 100644 --- a/vt.c +++ b/vt.c @@ -768,7 +768,7 @@ action_utf8_print(struct terminal *term, wchar_t wc) composed != NULL ? composed->width : base_width; switch (term->conf->tweak.grapheme_width_method) { - case GRAPHEME_WIDTH_MAX_2: + case GRAPHEME_WIDTH_DOUBLE: if (unlikely(wc == 0xfe0f)) width = 2; new_cc->width = min(grapheme_width + width, 2);