This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository terminology.
View the commit online.
commit af440c941e81790a542980b21575d6e0da03c27b
Author: Boris Faure <[email protected]>
AuthorDate: Thu Sep 17 19:53:20 2026 +0000
termio: render the overline attribute
check that the overline attribute exists in efl and use it if available
---
meson.build | 11 +++++++++++
src/bin/options_themepv.c | 1 +
src/bin/termiointernals.c | 7 +++++++
src/bin/termiointernals.h | 9 +++++++++
src/bin/termptyesc.c | 1 -
5 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 94da1bc5..55d6c157 100644
--- a/meson.build
+++ b/meson.build
@@ -107,6 +107,17 @@ endif
message('Checking for ELM_SEL_FORMAT_URILIST: ' + found)
+found = 'Not found'
+
+if cc.has_member('struct _Evas_Textgrid_Cell', 'overline',
+ prefix: '#include <Evas.h>',
+ dependencies: terminology_dependencies)
+ config_data.set('HAVE_TEXTGRID_OVERLINE', 1)
+ found = 'Found'
+endif
+
+message('Checking for textgrid overline: ' + found)
+
eet_bin = get_option('eet')
if eet_bin == ''
eet_bin = eet_path
diff --git a/src/bin/options_themepv.c b/src/bin/options_themepv.c
index a48857c7..28d16c32 100644
--- a/src/bin/options_themepv.c
+++ b/src/bin/options_themepv.c
@@ -59,6 +59,7 @@ _row_set(Evas_Object *o, int y, const char *txt)
tc[x].bg_extended = 0;
tc[x].underline = 0;
tc[x].strikethrough = 0;
+ TC_OVERLINE_SET(tc[x], 0);
tc[x].double_width = 0;
tc[x].fg_extended = 0;
tc[x].bg_extended = 0;
diff --git a/src/bin/termiointernals.c b/src/bin/termiointernals.c
index 6972e31d..44ba3bed 100644
--- a/src/bin/termiointernals.c
+++ b/src/bin/termiointernals.c
@@ -2537,6 +2537,7 @@ termio_internal_render(Termio *sd,
tc[x].bg_extended = 0;
tc[x].underline = 0;
tc[x].strikethrough = 0;
+ TC_OVERLINE_SET(tc[x], 0);
tc[x].bold = 0;
tc[x].italic = 0;
tc[x].double_width = 0;
@@ -2568,6 +2569,7 @@ termio_internal_render(Termio *sd,
tc[x].bg_extended = 0;
tc[x].underline = 0;
tc[x].strikethrough = 0;
+ TC_OVERLINE_SET(tc[x], 0);
tc[x].bold = 0;
tc[x].italic = 0;
tc[x].double_width = 0;
@@ -2612,6 +2614,7 @@ termio_internal_render(Termio *sd,
tc[x].bg_extended = 0;
tc[x].underline = 0;
tc[x].strikethrough = 0;
+ TC_OVERLINE_SET(tc[x], 0);
tc[x].bold = 0;
tc[x].italic = 0;
tc[x].double_width = cells[x].att.dblwidth;
@@ -2693,6 +2696,7 @@ termio_internal_render(Termio *sd,
(tc[x].bg_extended != bgext) ||
(tc[x].underline != cells[x].att.underline) ||
(tc[x].strikethrough != cells[x].att.strike) ||
+ TC_OVERLINE_DIFFERS(tc[x], cells[x].att.overlined) ||
(tc[x].double_width != cells[x].att.dblwidth);
if (cell_changed)
@@ -2705,6 +2709,7 @@ termio_internal_render(Termio *sd,
tc[x].bg_extended = bgext;
tc[x].underline = cells[x].att.underline;
tc[x].strikethrough = cells[x].att.strike;
+ TC_OVERLINE_SET(tc[x], cells[x].att.overlined);
if (sd->config->font.bolditalic)
{
tc[x].bold = cells[x].att.bold;
@@ -2805,6 +2810,7 @@ termio_internal_render(Termio *sd,
tc[xx].bg_extended = 0;
tc[xx].underline = 1;
tc[xx].strikethrough = 0;
+ TC_OVERLINE_SET(tc[xx], 0);
tc[xx].double_width = dbl;
tc[xx].codepoint = g;
if (dbl)
@@ -2817,6 +2823,7 @@ termio_internal_render(Termio *sd,
tc[xx].bg_extended = 0;
tc[xx].underline = 1;
tc[xx].strikethrough = 0;
+ TC_OVERLINE_SET(tc[xx], 0);
tc[xx].double_width = 0;
tc[xx].codepoint = 0;
}
diff --git a/src/bin/termiointernals.h b/src/bin/termiointernals.h
index 6c8d3c9d..f0781ccf 100644
--- a/src/bin/termiointernals.h
+++ b/src/bin/termiointernals.h
@@ -5,6 +5,15 @@
typedef void Term;
#endif
+/* textgrid cells only gained an overline field in efl 1.29 */
+#ifdef HAVE_TEXTGRID_OVERLINE
+# define TC_OVERLINE_SET(_tc, _v) ((_tc).overline = (_v))
+# define TC_OVERLINE_DIFFERS(_tc, _v) ((_tc).overline != (_v))
+#else
+# define TC_OVERLINE_SET(_tc, _v) ((void)0)
+# define TC_OVERLINE_DIFFERS(_tc, _v) (0)
+#endif
+
typedef struct tag_Termio Termio;
struct tag_Termio
diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c
index 0457dba3..9810e327 100644
--- a/src/bin/termptyesc.c
+++ b/src/bin/termptyesc.c
@@ -1353,7 +1353,6 @@ _handle_esc_csi_color_set(Termpty *ty, Eina_Unicode **ptr,
ty->termstate.att.encircled = 1;
break;
case 53:
- WRN("TODO: support SGR 51 - overlined attribute");
ty->termstate.att.overlined = 1;
break;
case 54:
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.