1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-04-17 19:18:06 -05:00
Ben Harris f2d63388a8 Stop cursor attributes being temporary
When telling front ends to paint the screen, the terminal code treats
the cursor as an attribute applied to the character cell(s) it appears
in.  do_paint() detects changes to most such attributes by storing what
it last sent to the front end in term->disptext and comparing that with
what it thinks should be displayed in the window. However, before this
commit the cursor was special.  Its last-drawn position was recorded in
special structure members and invalidated parts of the display based on
those.  The cursor attributes were treated as "temporary attributes" and
were not saved in term->disptext.

This commit regularizes this and turns the cursor attributes into normal
attributes that are stored in term->disptext.  This removes a bunch of
special-case code in do_paint() because now the normal update code
handles the cursor properly, and also removes some members from the
Terminal structure.  I hope it will also make future cursor-handling
changes (for instance for input method pre-editing) simpler.

This commit makes the required semantic changes but doesn't make the
rather more pervasive change of actually renaming the attributes from
TATTR_ to ATTR_.  That will be in the next commit.
2025-04-03 21:27:36 +01:00
..
2022-01-29 18:25:34 +00:00
2022-11-11 08:44:07 +00:00
2021-10-10 15:00:30 +01:00