Commit 5a434e6c authored by Egmont Koblinger's avatar Egmont Koblinger

emulation: Save/restore alternate charset

https://bugzilla.gnome.org/show_bug.cgi?id=731205
parent aa5cd566
...@@ -246,34 +246,45 @@ struct _VteTerminalPrivate { ...@@ -246,34 +246,45 @@ struct _VteTerminalPrivate {
* screen, which seems to be a DEC-specific feature. */ * screen, which seems to be a DEC-specific feature. */
struct _VteScreen { struct _VteScreen {
VteRing row_data[1]; /* buffer contents */ VteRing row_data[1]; /* buffer contents */
VteVisualPosition cursor_current, cursor_saved;
/* the current and saved positions of
the [insertion] cursor -- current is
absolute, saved is relative to the
insertion delta */
gboolean reverse_mode; /* reverse mode */
gboolean origin_mode; /* origin mode */
gboolean sendrecv_mode; /* sendrecv mode */
gboolean insert_mode; /* insert mode */
gboolean linefeed_mode; /* linefeed mode */
struct vte_scrolling_region {
int start, end;
} scrolling_region; /* the region we scroll in */
gboolean scrolling_restricted;
long scroll_delta; /* scroll offset */ long scroll_delta; /* scroll offset */
long insert_delta; /* insertion offset */ long insert_delta; /* insertion offset */
VteCell defaults; /* default characteristics
for insertion of any new /* Stuff saved along with the cursor */
characters */ struct {
VteCell color_defaults; /* original defaults VteVisualPosition cursor;
plus the current gboolean reverse_mode;
fore/back */ gboolean origin_mode;
VteCell fill_defaults; /* original defaults gboolean sendrecv_mode;
plus the current gboolean insert_mode;
fore/back with no gboolean linefeed_mode;
character data */ VteCell defaults;
VteCell color_defaults;
VteCell fill_defaults;
VteCharacterReplacement character_replacements[2];
VteCharacterReplacement *character_replacement;
} saved;
} normal_screen, alternate_screen, *screen; } normal_screen, alternate_screen, *screen;
/* Values we save along with the cursor */
VteVisualPosition cursor; /* relative to the insertion delta */
gboolean reverse_mode; /* reverse mode */
gboolean origin_mode; /* origin mode */
gboolean sendrecv_mode; /* sendrecv mode */
gboolean insert_mode; /* insert mode */
gboolean linefeed_mode; /* linefeed mode */
VteCell defaults; /* default characteristics
for insertion of any new
characters */
VteCell color_defaults; /* original defaults
plus the current
fore/back */
VteCell fill_defaults; /* original defaults
plus the current
fore/back with no
character data */
VteCharacterReplacement character_replacements[2]; /* charsets in the G0 and G1 slots */
VteCharacterReplacement *character_replacement; /* pointer to the active one */
/* Selection information. */ /* Selection information. */
gboolean has_selection; gboolean has_selection;
gboolean selecting; gboolean selecting;
...@@ -306,8 +317,6 @@ struct _VteTerminalPrivate { ...@@ -306,8 +317,6 @@ struct _VteTerminalPrivate {
gboolean text_deleted_flag; gboolean text_deleted_flag;
gboolean rewrap_on_resize; gboolean rewrap_on_resize;
gboolean bracketed_paste_mode; gboolean bracketed_paste_mode;
VteCharacterReplacement character_replacements[2]; /* charsets in the G0 and G1 slots */
VteCharacterReplacement *character_replacement; /* pointer to the active one */
/* Scrolling options. */ /* Scrolling options. */
gboolean scroll_background; gboolean scroll_background;
...@@ -316,6 +325,12 @@ struct _VteTerminalPrivate { ...@@ -316,6 +325,12 @@ struct _VteTerminalPrivate {
gboolean alternate_screen_scroll; gboolean alternate_screen_scroll;
long scrollback_lines; long scrollback_lines;
/* Restricted scrolling */
struct vte_scrolling_region {
int start, end;
} scrolling_region; /* the region we scroll in */
gboolean scrolling_restricted;
/* Cursor shape, as set via API */ /* Cursor shape, as set via API */
VteCursorShape cursor_shape; VteCursorShape cursor_shape;
float cursor_aspect_ratio; float cursor_aspect_ratio;
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment