X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=terminal.h;h=606d7939cf0cfc6747ab5556281acd590ddf0166;hb=49d2cf19accb059b3b68d1fc2b78e606a578c3e8;hp=6630411744c803c074028baf532d006ba5db9e80;hpb=6b136f5c2fc94c6aa29fd7864a7126636a42e3bb;p=PuTTY.git diff --git a/terminal.h b/terminal.h index 66304117..606d7939 100644 --- a/terminal.h +++ b/terminal.h @@ -68,6 +68,7 @@ struct termline { struct bidi_cache_entry { int width; struct termchar *chars; + int *forward, *backward; /* the permutations of line positions */ }; struct terminal_tag { @@ -117,7 +118,7 @@ struct terminal_tag { int cursor_on; /* cursor enabled flag */ int reset_132; /* Flag ESC c resets to 80 cols */ int use_bce; /* Use Background coloured erase */ - int blinker; /* When blinking is the cursor on ? */ + int cblinker; /* When blinking is the cursor on ? */ int tblinker; /* When the blinking text is on */ int blink_is_real; /* Actually blink blinking text */ int term_echoing; /* Does terminal want local echo? */ @@ -136,15 +137,12 @@ struct terminal_tag { int rows, cols, savelines; int has_focus; int in_vbell; - unsigned long vbell_startpoint; + long vbell_end; int app_cursor_keys, app_keypad_keys, vt52_mode; int repeat_off, cr_lf_return; int seen_disp_event; int big_cursor; - long last_blink; /* used for real blinking control */ - long last_tblink; - int xterm_mouse; /* send mouse messages to app */ int mouse_is_down; /* used while tracking mouse buttons */ @@ -245,6 +243,19 @@ struct terminal_tag { */ int in_term_out; + /* + * We schedule a window update shortly after receiving terminal + * data. This tracks whether one is currently pending. + */ + int window_update_pending; + long next_update; + + /* + * Track pending blinks and tblinks. + */ + int tblink_pending, cblink_pending; + long next_tblink, next_cblink; + /* * These are buffers used by the bidi and Arabic shaping code. */