Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libtsm for openSUSE:Factory checked 
in at 2026-09-28 13:47:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libtsm (Old)
 and      /work/SRC/openSUSE:Factory/.libtsm.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libtsm"

Mon Sep 28 13:47:49 2026 rev:11 rq:1381137 version:4.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libtsm/libtsm.changes    2026-08-21 
17:03:16.040186290 +0200
+++ /work/SRC/openSUSE:Factory/.libtsm.new.383539/libtsm.changes        
2026-09-28 13:47:51.868939873 +0200
@@ -1,0 +2,7 @@
+Mon Sep 28 09:08:40 UTC 2026 - Fabian Vogt <[email protected]>
+
+- Updaet to 4.8.0:
+  * vte: don't emit double escape for meta+arrow keys
+  * cursor blinking rate feature
+
+-------------------------------------------------------------------

Old:
----
  v4.7.1.tar.gz

New:
----
  v4.8.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libtsm.spec ++++++
--- /var/tmp/diff_new_pack.i3mOqp/_old  2026-09-28 13:47:52.429963324 +0200
+++ /var/tmp/diff_new_pack.i3mOqp/_new  2026-09-28 13:47:52.431963408 +0200
@@ -19,7 +19,7 @@
 %global sover   4
 %global lname   libtsm%{sover}
 Name:           libtsm
-Version:        4.7.1
+Version:        4.8.0
 Release:        0
 Summary:        DEC-VT terminal emulator state machine
 License:        LGPL-2.1-or-later AND MIT

++++++ v4.7.1.tar.gz -> v4.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/NEWS.md new/libtsm-4.8.0/NEWS.md
--- old/libtsm-4.7.1/NEWS.md    2026-08-14 14:45:17.000000000 +0200
+++ new/libtsm-4.8.0/NEWS.md    2026-09-25 15:08:08.000000000 +0200
@@ -1,5 +1,13 @@
 # libtsm Release News
 
+## CHANGES WITH 4.8.0
+* vte: don't emit double escape for meta+arrow keys by @perryprog in 
https://github.com/kmscon/libtsm/pull/67
+* cursor blinking rate feature by @fnnFox in 
https://github.com/kmscon/libtsm/pull/68
+
+## New Contributors
+* @perryprog made their first contribution in 
https://github.com/kmscon/libtsm/pull/67
+* @fnnFox made their first contribution in 
https://github.com/kmscon/libtsm/pull/68
+
 ## CHANGES WITH 4.7.1
 ### Bug fixes
 * libtsm: fix tsm_screen_attr2_t by @kdj0c in 
https://github.com/kmscon/libtsm/pull/64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/meson.build new/libtsm-4.8.0/meson.build
--- old/libtsm-4.7.1/meson.build        2026-08-14 14:45:17.000000000 +0200
+++ new/libtsm-4.8.0/meson.build        2026-09-25 15:08:08.000000000 +0200
@@ -3,7 +3,7 @@
 project(
     'libtsm',
     'c',
-    version: '4.7.1',
+    version: '4.8.0',
     license: 'MIT',
     meson_version: '>=1.1',
     default_options: [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/src/tsm/libtsm-int.h 
new/libtsm-4.8.0/src/tsm/libtsm-int.h
--- old/libtsm-4.7.1/src/tsm/libtsm-int.h       2026-08-14 14:45:17.000000000 
+0200
+++ new/libtsm-4.8.0/src/tsm/libtsm-int.h       2026-09-25 15:08:08.000000000 
+0200
@@ -149,6 +149,7 @@
        unsigned int cursor_y;                  /* current cursor y-pos */
 
        enum tsm_screen_cursor_style cstyle;    /* cursor shape */
+       uint32_t blinking_rate_ms;                              /* cursor 
blinking rate */
 
        /* tab ruler */
        bool *tab_ruler;                        /* tab-flag for all cells of 
one row */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/src/tsm/libtsm.h 
new/libtsm-4.8.0/src/tsm/libtsm.h
--- old/libtsm-4.7.1/src/tsm/libtsm.h   2026-08-14 14:45:17.000000000 +0200
+++ new/libtsm-4.8.0/src/tsm/libtsm.h   2026-09-25 15:08:08.000000000 +0200
@@ -309,6 +309,9 @@
 enum tsm_screen_cursor_style tsm_screen_get_cursor_style(struct tsm_screen 
*con);
 void tsm_screen_set_cursor_style(struct tsm_screen *con, enum 
tsm_screen_cursor_style type);
 
+uint32_t tsm_screen_get_cursor_blinking_rate_ms(struct tsm_screen *con);
+void tsm_screen_set_cursor_blinking_rate_ms(struct tsm_screen *con, uint32_t 
ms);
+
 /** @} */
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/src/tsm/libtsm.sym 
new/libtsm-4.8.0/src/tsm/libtsm.sym
--- old/libtsm-4.7.1/src/tsm/libtsm.sym 2026-08-14 14:45:17.000000000 +0200
+++ new/libtsm-4.8.0/src/tsm/libtsm.sym 2026-09-25 15:08:08.000000000 +0200
@@ -159,3 +159,9 @@
        tsm_screen_get_cursor_style;
        tsm_screen_set_cursor_style;
 } LIBTSM_4_6;
+
+LIBTSM_4_8 {
+global:
+       tsm_screen_get_cursor_blinking_rate_ms;
+       tsm_screen_set_cursor_blinking_rate_ms;
+} LIBTSM_4_7;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/src/tsm/meson.build 
new/libtsm-4.8.0/src/tsm/meson.build
--- old/libtsm-4.7.1/src/tsm/meson.build        2026-08-14 14:45:17.000000000 
+0200
+++ new/libtsm-4.8.0/src/tsm/meson.build        2026-09-25 15:08:08.000000000 
+0200
@@ -49,6 +49,6 @@
 pkg.generate(
     libtsm,
     name: 'libtsm',
-    url: 'https://github.com/Aetf/libtsm',
+    url: 'https://github.com/kmscon/libtsm',
     description: 'terminal-emulator state machine',
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/src/tsm/tsm-screen.c 
new/libtsm-4.8.0/src/tsm/tsm-screen.c
--- old/libtsm-4.7.1/src/tsm/tsm-screen.c       2026-08-14 14:45:17.000000000 
+0200
+++ new/libtsm-4.8.0/src/tsm/tsm-screen.c       2026-09-25 15:08:08.000000000 
+0200
@@ -483,6 +483,7 @@
        con->def_attr.fr = 255;
        con->def_attr.fg = 255;
        con->def_attr.fb = 255;
+       con->blinking_rate_ms = 500;
        shl_dlist_init(&con->sb.list);
 
        ret = tsm_symbol_table_new(&con->sym_table);
@@ -1690,3 +1691,26 @@
 
        con->cstyle = type;
 }
+
+SHL_EXPORT
+uint32_t tsm_screen_get_cursor_blinking_rate_ms(struct tsm_screen *con)
+{
+       if (!con)
+               return 0;
+
+       return con->blinking_rate_ms;
+}
+
+SHL_EXPORT
+void tsm_screen_set_cursor_blinking_rate_ms(struct tsm_screen *con, uint32_t 
ms)
+{
+       if (!con)
+               return;
+
+       if (ms < 50)
+               ms = 50;
+       if (ms > 5000)
+               ms = 5000;
+
+       con->blinking_rate_ms = ms;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtsm-4.7.1/src/tsm/tsm-vte.c 
new/libtsm-4.8.0/src/tsm/tsm-vte.c
--- old/libtsm-4.7.1/src/tsm/tsm-vte.c  2026-08-14 14:45:17.000000000 +0200
+++ new/libtsm-4.8.0/src/tsm/tsm-vte.c  2026-09-25 15:08:08.000000000 +0200
@@ -2171,6 +2171,11 @@
                                vte->led_cb(vte, vte->led_state, vte->led_data);
                }
                break;
+       case ']': /* Cursor blinking rate */
+               /* This behavior is similar to agetty */
+               if (vte->csi_argv[0] == 16 && vte->csi_argc >= 2)
+                       tsm_screen_set_cursor_blinking_rate_ms(vte->con, 
vte->csi_argv[1]);
+               break;
        default:
                llog_debug(vte, "unhandled CSI sequence %c", data);
        }
@@ -2821,6 +2826,8 @@
        char code_with_modifier[6] = {'\e', '[', '1', ';', '0', 'A'};
        char code[3] = {'\e', '[',  'A'};
 
+       vte->flags &= ~TSM_VTE_FLAG_PREPEND_ESCAPE;
+
        int modifier = csi_modifier_from_mask(mods);
        if (modifier) {
                code_with_modifier[4] = modifier;

Reply via email to