On Mon, Jun 08, 2026 at 10:12:50AM +0200, Jocelyn Falempe wrote:
> On 07/06/2026 16:30, Thomas Dickey wrote:
...
> > (also, I saw flash working -- once -- and not later: a bug)
> 
> flash and blink are not implemented, so I'm more surprised that it did work
> once.

infocmp kmscon:
        flash=\E[?5h$<200/>\E[?5l,

That's using DECSCNM, which is in the source code here:

tsm-render.c:142:                       if (con->flags & TSM_SCREEN_INVERSE)
tsm-screen.c:1029:      if (!(old & TSM_SCREEN_INVERSE) && (flags & 
TSM_SCREEN_INVERSE))
tsm-screen.c:1060:      if ((old & TSM_SCREEN_INVERSE) && (flags & 
TSM_SCREEN_INVERSE))
tsm-vte.c:1659:                                         TSM_SCREEN_INVERSE);
tsm-vte.c:1662:                                         TSM_SCREEN_INVERSE);

                case 5: /* DECSCNM */
                        set_reset_flag(vte, set, 
TSM_VTE_FLAG_INVERSE_SCREEN_MODE);
                        if (set)
                                tsm_screen_set_flags(vte->con,
                                                TSM_SCREEN_INVERSE);
                        else
                                tsm_screen_reset_flags(vte->con,
                                                TSM_SCREEN_INVERSE);
                        continue;


                        /* TODO: do some more sophisticated inverse here. When
                         * INVERSE mode is set, we should instead just select
                         * inverse colors instead of switching background and
                         * foreground */
                        if (con->flags & TSM_SCREEN_INVERSE)
                                attr.inverse = !attr.inverse;

                        if (in_sel || was_sel) {
                                was_sel = false;
                                attr.inverse = !attr.inverse;
                        }

-- 
Thomas E. Dickey <[email protected]>
https://invisible-island.net

Attachment: signature.asc
Description: PGP signature

Reply via email to