[vte] lib: Rename VteTerminalPrivate



commit 8e0c94b22e17f46053ac9d9332514a23991ab44a
Author: Christian Persch <chpe src gnome org>
Date:   Tue Jul 24 21:01:15 2018 +0200

    lib: Rename VteTerminalPrivate

 src/vte.cc            | 710 +++++++++++++++++++++++++------------------------
 src/vte/vteterminal.h |   2 +-
 src/vtegtk.cc         |  10 +-
 src/vteinternal.hh    |  18 +-
 src/vteseq.cc         | 724 +++++++++++++++++++++++++-------------------------
 5 files changed, 742 insertions(+), 722 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index 7546f473..6fd3ae26 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -81,11 +81,14 @@ static inline double round(double x) {
 
 #define I_(string) (g_intern_static_string(string))
 
+namespace vte {
+namespace terminal {
+
 static int _vte_unichar_width(gunichar c, int utf8_ambiguous_width);
-static void stop_processing(VteTerminalPrivate *that);
-static void add_process_timeout(VteTerminalPrivate *that);
-static void add_update_timeout(VteTerminalPrivate *that);
-static void remove_update_timeout(VteTerminalPrivate *that);
+static void stop_processing(vte::terminal::Terminal* that);
+static void add_process_timeout(vte::terminal::Terminal* that);
+static void add_update_timeout(vte::terminal::Terminal* that);
+static void remove_update_timeout(vte::terminal::Terminal* that);
 
 static gboolean process_timeout (gpointer data);
 static gboolean update_timeout (gpointer data);
@@ -128,7 +131,7 @@ vte_g_array_fill(GArray *array, gconstpointer item, guint final_size)
 
 // FIXMEchpe replace this with a method on VteRing
 VteRowData*
-VteTerminalPrivate::ring_insert(vte::grid::row_t position,
+Terminal::ring_insert(vte::grid::row_t position,
                                 bool fill)
 {
        VteRowData *row;
@@ -148,21 +151,21 @@ VteTerminalPrivate::ring_insert(vte::grid::row_t position,
 
 // FIXMEchpe replace this with a method on VteRing
 VteRowData*
-VteTerminalPrivate::ring_append(bool fill)
+Terminal::ring_append(bool fill)
 {
        return ring_insert(_vte_ring_next(m_screen->row_data), fill);
 }
 
 // FIXMEchpe replace this with a method on VteRing
 void
-VteTerminalPrivate::ring_remove(vte::grid::row_t position)
+Terminal::ring_remove(vte::grid::row_t position)
 {
        _vte_ring_remove(m_screen->row_data, position);
 }
 
 /* Reset defaults for character insertion. */
 void
-VteTerminalPrivate::reset_default_attributes(bool reset_hyperlink)
+Terminal::reset_default_attributes(bool reset_hyperlink)
 {
         auto const hyperlink_idx_save = m_defaults.attr.hyperlink_idx;
         m_defaults = m_color_defaults = m_fill_defaults = basic_cell;
@@ -172,45 +175,45 @@ VteTerminalPrivate::reset_default_attributes(bool reset_hyperlink)
 
 //FIXMEchpe this function is bad
 inline vte::view::coord_t
-VteTerminalPrivate::scroll_delta_pixel() const
+Terminal::scroll_delta_pixel() const
 {
         return round(m_screen->scroll_delta * m_cell_height);
 }
 
 /*
- * VteTerminalPrivate::pixel_to_row:
+ * Terminal::pixel_to_row:
  * @y: Y coordinate is relative to viewport, top padding excluded
  *
  * Returns: absolute row
  */
 inline vte::grid::row_t
-VteTerminalPrivate::pixel_to_row(vte::view::coord_t y) const
+Terminal::pixel_to_row(vte::view::coord_t y) const
 {
         return (scroll_delta_pixel() + y) / m_cell_height;
 }
 
 /*
- * VteTerminalPrivate::pixel_to_row:
+ * Terminal::pixel_to_row:
  * @row: absolute row
  *
  * Returns: Y coordinate relative to viewport with top padding excluded. If the row is
  *   outside the viewport, may return any value < 0 or >= height
  */
 inline vte::view::coord_t
-VteTerminalPrivate::row_to_pixel(vte::grid::row_t row) const
+Terminal::row_to_pixel(vte::grid::row_t row) const
 {
         // FIXMEchpe this is bad!
         return row * m_cell_height - (glong)round(m_screen->scroll_delta * m_cell_height);
 }
 
 inline vte::grid::row_t
-VteTerminalPrivate::first_displayed_row() const
+Terminal::first_displayed_row() const
 {
         return pixel_to_row(0);
 }
 
 inline vte::grid::row_t
-VteTerminalPrivate::last_displayed_row() const
+Terminal::last_displayed_row() const
 {
         /* Get the logical row number displayed at the bottom pixel position */
         auto r = pixel_to_row(m_view_usable_extents.height() - 1);
@@ -226,7 +229,7 @@ VteTerminalPrivate::last_displayed_row() const
 }
 
 void
-VteTerminalPrivate::invalidate_cells(vte::grid::column_t column_start,
+Terminal::invalidate_cells(vte::grid::column_t column_start,
                                      int n_columns,
                                      vte::grid::row_t row_start,
                                      int n_rows)
@@ -291,7 +294,7 @@ VteTerminalPrivate::invalidate_cells(vte::grid::column_t column_start,
 }
 
 void
-VteTerminalPrivate::invalidate_region(vte::grid::column_t scolumn,
+Terminal::invalidate_region(vte::grid::column_t scolumn,
                                       vte::grid::column_t ecolumn,
                                       vte::grid::row_t srow,
                                       vte::grid::row_t erow,
@@ -316,14 +319,14 @@ VteTerminalPrivate::invalidate_region(vte::grid::column_t scolumn,
 }
 
 void
-VteTerminalPrivate::invalidate(vte::grid::span const& s,
+Terminal::invalidate(vte::grid::span const& s,
                                bool block)
 {
         invalidate_region(s.start_column(), s.end_column(), s.start_row(), s.end_row(), block);
 }
 
 void
-VteTerminalPrivate::invalidate_all()
+Terminal::invalidate_all()
 {
        if (G_UNLIKELY (!widget_realized()))
                 return;
@@ -361,7 +364,7 @@ VteTerminalPrivate::invalidate_all()
 /* Scroll a rectangular region up or down by a fixed number of lines,
  * negative = up, positive = down. */
 void
-VteTerminalPrivate::scroll_region (long row,
+Terminal::scroll_region (long row,
                                    long count,
                                    long delta)
 {
@@ -385,7 +388,7 @@ VteTerminalPrivate::scroll_region (long row,
 /* Find the row in the given position in the backscroll buffer. */
 // FIXMEchpe replace this with a method on VteRing
 VteRowData const*
-VteTerminalPrivate::find_row_data(vte::grid::row_t row) const
+Terminal::find_row_data(vte::grid::row_t row) const
 {
        VteRowData const* rowdata = nullptr;
 
@@ -398,7 +401,7 @@ VteTerminalPrivate::find_row_data(vte::grid::row_t row) const
 /* Find the row in the given position in the backscroll buffer. */
 // FIXMEchpe replace this with a method on VteRing
 VteRowData*
-VteTerminalPrivate::find_row_data_writable(vte::grid::row_t row) const
+Terminal::find_row_data_writable(vte::grid::row_t row) const
 {
        VteRowData *rowdata = nullptr;
 
@@ -411,7 +414,7 @@ VteTerminalPrivate::find_row_data_writable(vte::grid::row_t row) const
 /* Find the character an the given position in the backscroll buffer. */
 // FIXMEchpe replace this with a method on VteRing
 VteCell const*
-VteTerminalPrivate::find_charcell(vte::grid::column_t col,
+Terminal::find_charcell(vte::grid::column_t col,
                                   vte::grid::row_t row) const
 {
        VteRowData const* rowdata;
@@ -426,7 +429,7 @@ VteTerminalPrivate::find_charcell(vte::grid::column_t col,
 
 // FIXMEchpe replace this with a method on VteRing
 vte::grid::column_t
-VteTerminalPrivate::find_start_column(vte::grid::column_t col,
+Terminal::find_start_column(vte::grid::column_t col,
                                       vte::grid::row_t row) const
 {
        VteRowData const* row_data = find_row_data(row);
@@ -443,7 +446,7 @@ VteTerminalPrivate::find_start_column(vte::grid::column_t col,
 
 // FIXMEchpe replace this with a method on VteRing
 vte::grid::column_t
-VteTerminalPrivate::find_end_column(vte::grid::column_t col,
+Terminal::find_end_column(vte::grid::column_t col,
                                     vte::grid::row_t row) const
 {
        VteRowData const* row_data = find_row_data(row);
@@ -468,7 +471,7 @@ VteTerminalPrivate::find_end_column(vte::grid::column_t col,
 // FIXMEchpe this is for the view, so use int not gssize
 // FIXMEchpe this is only ever called with left_only=false, so remove the param
 gssize
-VteTerminalPrivate::get_preedit_width(bool left_only)
+Terminal::get_preedit_width(bool left_only)
 {
        gssize ret = 0;
 
@@ -491,7 +494,7 @@ VteTerminalPrivate::get_preedit_width(bool left_only)
  * to the left of the cursor, or the entire string, in gunichars. */
 // FIXMEchpe this returns gssize but inside it uses int...
 gssize
-VteTerminalPrivate::get_preedit_length(bool left_only)
+Terminal::get_preedit_length(bool left_only)
 {
        ssize_t i = 0;
 
@@ -509,7 +512,7 @@ VteTerminalPrivate::get_preedit_length(bool left_only)
 }
 
 void
-VteTerminalPrivate::invalidate_cell(vte::grid::column_t col,
+Terminal::invalidate_cell(vte::grid::column_t col,
                                     vte::grid::row_t row)
 {
        int columns;
@@ -549,7 +552,7 @@ VteTerminalPrivate::invalidate_cell(vte::grid::column_t col,
 }
 
 void
-VteTerminalPrivate::invalidate_cursor_once(bool periodic)
+Terminal::invalidate_cursor_once(bool periodic)
 {
         if (G_UNLIKELY(!widget_realized()))
                 return;
@@ -598,14 +601,14 @@ VteTerminalPrivate::invalidate_cursor_once(bool periodic)
 /* Invalidate the cursor repeatedly. */
 // FIXMEchpe this continually adds and removes the blink timeout. Find a better solution
 static gboolean
-invalidate_cursor_periodic_cb(VteTerminalPrivate *that)
+invalidate_cursor_periodic_cb(vte::terminal::Terminal* that)
 {
         that->invalidate_cursor_periodic();
         return G_SOURCE_REMOVE;
 }
 
 void
-VteTerminalPrivate::invalidate_cursor_periodic()
+Terminal::invalidate_cursor_periodic()
 {
        m_cursor_blink_state = !m_cursor_blink_state;
        m_cursor_blink_time += m_cursor_blink_cycle;
@@ -630,7 +633,7 @@ VteTerminalPrivate::invalidate_cursor_periodic()
 
 /* Emit a "selection_changed" signal. */
 void
-VteTerminalPrivate::emit_selection_changed()
+Terminal::emit_selection_changed()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS,
                        "Emitting `selection-changed'.\n");
@@ -639,7 +642,7 @@ VteTerminalPrivate::emit_selection_changed()
 
 /* Emit a "commit" signal. */
 void
-VteTerminalPrivate::emit_commit(char const* text,
+Terminal::emit_commit(char const* text,
                                 gssize length)
 {
        char const* result = NULL;
@@ -665,7 +668,7 @@ VteTerminalPrivate::emit_commit(char const* text,
 }
 
 void
-VteTerminalPrivate::queue_contents_changed()
+Terminal::queue_contents_changed()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS,
                        "Queueing `contents-changed'.\n");
@@ -674,7 +677,7 @@ VteTerminalPrivate::queue_contents_changed()
 
 //FIXMEchpe this has only one caller
 void
-VteTerminalPrivate::queue_cursor_moved()
+Terminal::queue_cursor_moved()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS,
                        "Queueing `cursor-moved'.\n");
@@ -698,7 +701,7 @@ emit_eof_idle_cb(VteTerminal *terminal)
 }
 
 void
-VteTerminalPrivate::emit_eof()
+Terminal::emit_eof()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS,
                        "Emitting `eof'.\n");
@@ -708,7 +711,7 @@ VteTerminalPrivate::emit_eof()
 /* Emit a "eof" signal. */
 // FIXMEchpe any particular reason not to handle this immediately?
 void
-VteTerminalPrivate::queue_eof()
+Terminal::queue_eof()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Queueing `eof'.\n");
         g_idle_add_full(G_PRIORITY_HIGH,
@@ -719,7 +722,7 @@ VteTerminalPrivate::queue_eof()
 
 /* Emit a "char-size-changed" signal. */
 void
-VteTerminalPrivate::emit_char_size_changed(int width,
+Terminal::emit_char_size_changed(int width,
                                            int height)
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS,
@@ -731,7 +734,7 @@ VteTerminalPrivate::emit_char_size_changed(int width,
 
 /* Emit an "increase-font-size" signal. */
 void
-VteTerminalPrivate::emit_increase_font_size()
+Terminal::emit_increase_font_size()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS,
                        "Emitting `increase-font-size'.\n");
@@ -740,7 +743,7 @@ VteTerminalPrivate::emit_increase_font_size()
 
 /* Emit a "decrease-font-size" signal. */
 void
-VteTerminalPrivate::emit_decrease_font_size()
+Terminal::emit_decrease_font_size()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS,
                        "Emitting `decrease-font-size'.\n");
@@ -749,7 +752,7 @@ VteTerminalPrivate::emit_decrease_font_size()
 
 /* Emit a "text-inserted" signal. */
 void
-VteTerminalPrivate::emit_text_inserted()
+Terminal::emit_text_inserted()
 {
        if (!m_accessible_emit) {
                return;
@@ -761,7 +764,7 @@ VteTerminalPrivate::emit_text_inserted()
 
 /* Emit a "text-deleted" signal. */
 void
-VteTerminalPrivate::emit_text_deleted()
+Terminal::emit_text_deleted()
 {
        if (!m_accessible_emit) {
                return;
@@ -773,7 +776,7 @@ VteTerminalPrivate::emit_text_deleted()
 
 /* Emit a "text-modified" signal. */
 void
-VteTerminalPrivate::emit_text_modified()
+Terminal::emit_text_modified()
 {
        if (!m_accessible_emit) {
                return;
@@ -785,7 +788,7 @@ VteTerminalPrivate::emit_text_modified()
 
 /* Emit a "text-scrolled" signal. */
 void
-VteTerminalPrivate::emit_text_scrolled(long delta)
+Terminal::emit_text_scrolled(long delta)
 {
        if (!m_accessible_emit) {
                return;
@@ -797,14 +800,14 @@ VteTerminalPrivate::emit_text_scrolled(long delta)
 }
 
 void
-VteTerminalPrivate::emit_copy_clipboard()
+Terminal::emit_copy_clipboard()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting 'copy-clipboard'.\n");
        g_signal_emit(m_terminal, signals[SIGNAL_COPY_CLIPBOARD], 0);
 }
 
 void
-VteTerminalPrivate::emit_paste_clipboard()
+Terminal::emit_paste_clipboard()
 {
        _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting 'paste-clipboard'.\n");
        g_signal_emit(m_terminal, signals[SIGNAL_PASTE_CLIPBOARD], 0);
@@ -812,7 +815,7 @@ VteTerminalPrivate::emit_paste_clipboard()
 
 /* Emit a "hyperlink_hover_uri_changed" signal. */
 void
-VteTerminalPrivate::emit_hyperlink_hover_uri_changed(const GdkRectangle *bbox)
+Terminal::emit_hyperlink_hover_uri_changed(const GdkRectangle *bbox)
 {
         GObject *object = G_OBJECT(m_terminal);
 
@@ -823,7 +826,7 @@ VteTerminalPrivate::emit_hyperlink_hover_uri_changed(const GdkRectangle *bbox)
 }
 
 void
-VteTerminalPrivate::deselect_all()
+Terminal::deselect_all()
 {
        if (m_has_selection) {
                gint sx, sy, ex, ey, extra;
@@ -851,7 +854,7 @@ VteTerminalPrivate::deselect_all()
 
 /* Clear the cache of the screen contents we keep. */
 void
-VteTerminalPrivate::match_contents_clear()
+Terminal::match_contents_clear()
 {
        match_hilite_clear();
        if (m_match_contents != nullptr) {
@@ -865,7 +868,7 @@ VteTerminalPrivate::match_contents_clear()
 }
 
 void
-VteTerminalPrivate::match_contents_refresh()
+Terminal::match_contents_refresh()
 
 {
        match_contents_clear();
@@ -918,7 +921,7 @@ regex_match_clear (struct vte_match_regex *regex)
 }
 
 void
-VteTerminalPrivate::set_cursor_from_regex_match(struct vte_match_regex *regex)
+Terminal::set_cursor_from_regex_match(struct vte_match_regex *regex)
 {
         GdkCursor *gdk_cursor = nullptr;
 
@@ -950,7 +953,7 @@ VteTerminalPrivate::set_cursor_from_regex_match(struct vte_match_regex *regex)
 }
 
 void
-VteTerminalPrivate::regex_match_remove_all()
+Terminal::regex_match_remove_all()
 {
        struct vte_match_regex *regex;
        guint i;
@@ -970,7 +973,7 @@ VteTerminalPrivate::regex_match_remove_all()
 }
 
 void
-VteTerminalPrivate::regex_match_remove(int tag)
+Terminal::regex_match_remove(int tag)
 {
        struct vte_match_regex *regex;
 
@@ -990,13 +993,13 @@ VteTerminalPrivate::regex_match_remove(int tag)
 }
 
 GdkCursor *
-VteTerminalPrivate::widget_cursor_new(GdkCursorType cursor_type) const
+Terminal::widget_cursor_new(GdkCursorType cursor_type) const
 {
        return gdk_cursor_new_for_display(gtk_widget_get_display(m_widget), cursor_type);
 }
 
 int
-VteTerminalPrivate::regex_match_add(struct vte_match_regex *new_regex_match)
+Terminal::regex_match_add(struct vte_match_regex *new_regex_match)
 {
         struct vte_match_regex *regex_match;
         guint ret, len;
@@ -1031,7 +1034,7 @@ VteTerminalPrivate::regex_match_add(struct vte_match_regex *new_regex_match)
 }
 
 struct vte_match_regex *
-VteTerminalPrivate::regex_match_get(int tag)
+Terminal::regex_match_get(int tag)
 {
        if ((guint)tag >= m_match_regexes->len)
                 return nullptr;
@@ -1040,7 +1043,7 @@ VteTerminalPrivate::regex_match_get(int tag)
 }
 
 void
-VteTerminalPrivate::regex_match_set_cursor(int tag,
+Terminal::regex_match_set_cursor(int tag,
                                            GdkCursor *gdk_cursor)
 {
         struct vte_match_regex *regex = regex_match_get(tag);
@@ -1055,7 +1058,7 @@ VteTerminalPrivate::regex_match_set_cursor(int tag,
 }
 
 void
-VteTerminalPrivate::regex_match_set_cursor(int tag,
+Terminal::regex_match_set_cursor(int tag,
                                            GdkCursorType cursor_type)
 {
         struct vte_match_regex *regex = regex_match_get(tag);
@@ -1070,7 +1073,7 @@ VteTerminalPrivate::regex_match_set_cursor(int tag,
 }
 
 void
-VteTerminalPrivate::regex_match_set_cursor(int tag,
+Terminal::regex_match_set_cursor(int tag,
                                            char const* cursor_name)
 {
         struct vte_match_regex *regex = regex_match_get(tag);
@@ -1098,7 +1101,7 @@ VteTerminalPrivate::regex_match_set_cursor(int tag,
  * line in @sattr_ptr and @eattr_ptr.
  */
 bool
-VteTerminalPrivate::match_rowcol_to_offset(vte::grid::column_t column,
+Terminal::match_rowcol_to_offset(vte::grid::column_t column,
                                            vte::grid::row_t row,
                                            gsize *offset_ptr,
                                            gsize *sattr_ptr,
@@ -1215,7 +1218,7 @@ VteTerminalPrivate::match_rowcol_to_offset(vte::grid::column_t column,
 
 /* creates a pcre match context with appropriate limits */
 pcre2_match_context_8 *
-VteTerminalPrivate::create_match_context()
+Terminal::create_match_context()
 {
         pcre2_match_context_8 *match_context;
 
@@ -1227,7 +1230,7 @@ VteTerminalPrivate::create_match_context()
 }
 
 bool
-VteTerminalPrivate::match_check_pcre(
+Terminal::match_check_pcre(
                  pcre2_match_data_8 *match_data,
                  pcre2_match_context_8 *match_context,
                  VteRegex *regex,
@@ -1346,7 +1349,7 @@ VteTerminalPrivate::match_check_pcre(
 }
 
 char *
-VteTerminalPrivate::match_check_internal_pcre(vte::grid::column_t column,
+Terminal::match_check_internal_pcre(vte::grid::column_t column,
                                               vte::grid::row_t row,
                                               int *tag,
                                               gsize *start,
@@ -1448,7 +1451,7 @@ VteTerminalPrivate::match_check_internal_pcre(vte::grid::column_t column,
  * Returns: (transfer full): the matched string, or %NULL
  */
 char *
-VteTerminalPrivate::match_check_internal(vte::grid::column_t column,
+Terminal::match_check_internal(vte::grid::column_t column,
                                          vte::grid::row_t row,
                                          int *tag,
                                          gsize *start,
@@ -1470,7 +1473,7 @@ VteTerminalPrivate::match_check_internal(vte::grid::column_t column,
 }
 
 char *
-VteTerminalPrivate::regex_match_check(vte::grid::column_t column,
+Terminal::regex_match_check(vte::grid::column_t column,
                                       vte::grid::row_t row,
                                       int *tag)
 {
@@ -1503,7 +1506,7 @@ VteTerminalPrivate::regex_match_check(vte::grid::column_t column,
 }
 
 /*
- * VteTerminalPrivate::view_coords_from_event:
+ * Terminal::view_coords_from_event:
  * @event: a #GdkEvent
  *
  * Translates the event coordinates to view coordinates, by
@@ -1513,7 +1516,7 @@ VteTerminalPrivate::regex_match_check(vte::grid::column_t column,
  * at that side; use view_coords_visible() to check for that.
  */
 vte::view::coords
-VteTerminalPrivate::view_coords_from_event(GdkEvent const* event) const
+Terminal::view_coords_from_event(GdkEvent const* event) const
 {
         double x, y;
         if (event == nullptr ||
@@ -1525,7 +1528,7 @@ VteTerminalPrivate::view_coords_from_event(GdkEvent const* event) const
 }
 
 /*
- * VteTerminalPrivate::grid_coords_from_event:
+ * Terminal::grid_coords_from_event:
  * @event: a #GdkEvent
  *
  * Translates the event coordinates to view coordinates, by
@@ -1535,27 +1538,27 @@ VteTerminalPrivate::view_coords_from_event(GdkEvent const* event) const
  * at that side; use grid_coords_visible() to check for that.
  */
 vte::grid::coords
-VteTerminalPrivate::grid_coords_from_event(GdkEvent const* event) const
+Terminal::grid_coords_from_event(GdkEvent const* event) const
 {
         return grid_coords_from_view_coords(view_coords_from_event(event));
 }
 
 /*
- * VteTerminalPrivate::confined_grid_coords_from_event:
+ * Terminal::confined_grid_coords_from_event:
  * @event: a #GdkEvent
  *
  * Like grid_coords_from_event(), but also confines the coordinates
  * to an actual cell in the visible area.
  */
 vte::grid::coords
-VteTerminalPrivate::confined_grid_coords_from_event(GdkEvent const* event) const
+Terminal::confined_grid_coords_from_event(GdkEvent const* event) const
 {
         auto pos = view_coords_from_event(event);
         return confined_grid_coords_from_view_coords(pos);
 }
 
 /*
- * VteTerminalPrivate::grid_coords_from_view_coords:
+ * Terminal::grid_coords_from_view_coords:
  * @pos: the view coordinates
  *
  * Translates view coordinates to grid coordinates. If the view coordinates point to
@@ -1563,7 +1566,7 @@ VteTerminalPrivate::confined_grid_coords_from_event(GdkEvent const* event) const
  * < first_displayed_row() or > last_displayed_row(), resp.
  */
 vte::grid::coords
-VteTerminalPrivate::grid_coords_from_view_coords(vte::view::coords const& pos) const
+Terminal::grid_coords_from_view_coords(vte::view::coords const& pos) const
 {
         vte::grid::column_t col;
         if (pos.x >= 0 && pos.x < m_view_usable_extents.width())
@@ -1579,21 +1582,21 @@ VteTerminalPrivate::grid_coords_from_view_coords(vte::view::coords const& pos) c
 }
 
 /*
- * VteTerminalPrivate::confined_grid_coords_from_view_coords:
+ * Terminal::confined_grid_coords_from_view_coords:
  * @pos: the view coordinates
  *
  * Like grid_coords_from_view_coords(), but also confines the coordinates
  * to an actual cell in the visible area.
  */
 vte::grid::coords
-VteTerminalPrivate::confined_grid_coords_from_view_coords(vte::view::coords const& pos) const
+Terminal::confined_grid_coords_from_view_coords(vte::view::coords const& pos) const
 {
         auto rowcol = grid_coords_from_view_coords(pos);
         return confine_grid_coords(rowcol);
 }
 
 /*
- * VteTerminalPrivate::view_coords_from_grid_coords:
+ * Terminal::view_coords_from_grid_coords:
  * @rowcol: the grid coordinates
  *
  * Translates grid coordinates to view coordinates. If the view coordinates are
@@ -1602,21 +1605,21 @@ VteTerminalPrivate::confined_grid_coords_from_view_coords(vte::view::coords cons
  * Returns: %true if the coordinates are inside the usable area
  */
 vte::view::coords
-VteTerminalPrivate::view_coords_from_grid_coords(vte::grid::coords const& rowcol) const
+Terminal::view_coords_from_grid_coords(vte::grid::coords const& rowcol) const
 {
         return vte::view::coords(rowcol.column() * m_cell_width,
                                  row_to_pixel(rowcol.row()));
 }
 
 bool
-VteTerminalPrivate::view_coords_visible(vte::view::coords const& pos) const
+Terminal::view_coords_visible(vte::view::coords const& pos) const
 {
         return pos.x >= 0 && pos.x < m_view_usable_extents.width() &&
                pos.y >= 0 && pos.y < m_view_usable_extents.height();
 }
 
 bool
-VteTerminalPrivate::grid_coords_visible(vte::grid::coords const& rowcol) const
+Terminal::grid_coords_visible(vte::grid::coords const& rowcol) const
 {
         return rowcol.column() >= 0 &&
                rowcol.column() < m_column_count &&
@@ -1625,7 +1628,7 @@ VteTerminalPrivate::grid_coords_visible(vte::grid::coords const& rowcol) const
 }
 
 vte::grid::coords
-VteTerminalPrivate::confine_grid_coords(vte::grid::coords const& rowcol) const
+Terminal::confine_grid_coords(vte::grid::coords const& rowcol) const
 {
         /* Confine clicks to the nearest actual cell. This is especially useful for
          * fullscreen vte so that you can click on the very edge of the screen.
@@ -1638,7 +1641,7 @@ VteTerminalPrivate::confine_grid_coords(vte::grid::coords const& rowcol) const
 }
 
 bool
-VteTerminalPrivate::rowcol_from_event(GdkEvent *event,
+Terminal::rowcol_from_event(GdkEvent *event,
                                       long *column,
                                       long *row)
 {
@@ -1652,7 +1655,7 @@ VteTerminalPrivate::rowcol_from_event(GdkEvent *event,
 }
 
 char *
-VteTerminalPrivate::hyperlink_check(GdkEvent *event)
+Terminal::hyperlink_check(GdkEvent *event)
 {
         long col, row;
         const char *hyperlink;
@@ -1678,7 +1681,7 @@ VteTerminalPrivate::hyperlink_check(GdkEvent *event)
 }
 
 char *
-VteTerminalPrivate::regex_match_check(GdkEvent *event,
+Terminal::regex_match_check(GdkEvent *event,
                                       int *tag)
 {
         long col, row;
@@ -1691,7 +1694,7 @@ VteTerminalPrivate::regex_match_check(GdkEvent *event,
 }
 
 bool
-VteTerminalPrivate::regex_match_check_extra(GdkEvent *event,
+Terminal::regex_match_check_extra(GdkEvent *event,
                                             VteRegex **regexes,
                                             gsize n_regexes,
                                             guint32 match_flags,
@@ -1750,7 +1753,7 @@ VteTerminalPrivate::regex_match_check_extra(GdkEvent *event,
 
 /* Emit an adjustment changed signal on our adjustment object. */
 void
-VteTerminalPrivate::emit_adjustment_changed()
+Terminal::emit_adjustment_changed()
 {
        if (m_adjustment_changed_pending) {
                bool changed = false;
@@ -1841,14 +1844,14 @@ VteTerminalPrivate::emit_adjustment_changed()
 /* Queue an adjustment-changed signal to be delivered when convenient. */
 // FIXMEchpe this has just one caller, fold it into the call site
 void
-VteTerminalPrivate::queue_adjustment_changed()
+Terminal::queue_adjustment_changed()
 {
        m_adjustment_changed_pending = true;
        add_update_timeout(this);
 }
 
 void
-VteTerminalPrivate::queue_adjustment_value_changed(double v)
+Terminal::queue_adjustment_value_changed(double v)
 {
        if (!_vte_double_equal(v, m_screen->scroll_delta)) {
                 _vte_debug_print(VTE_DEBUG_ADJ,
@@ -1861,7 +1864,7 @@ VteTerminalPrivate::queue_adjustment_value_changed(double v)
 }
 
 void
-VteTerminalPrivate::queue_adjustment_value_changed_clamped(double v)
+Terminal::queue_adjustment_value_changed_clamped(double v)
 {
        double lower = gtk_adjustment_get_lower(m_vadjustment);
        double upper = gtk_adjustment_get_upper(m_vadjustment);
@@ -1872,7 +1875,7 @@ VteTerminalPrivate::queue_adjustment_value_changed_clamped(double v)
 }
 
 void
-VteTerminalPrivate::adjust_adjustments()
+Terminal::adjust_adjustments()
 {
        g_assert(m_screen != nullptr);
        g_assert(m_screen->row_data != nullptr);
@@ -1896,7 +1899,7 @@ VteTerminalPrivate::adjust_adjustments()
 /* Update the adjustment field of the widget.  This function should be called
  * whenever we add rows to or remove rows from the history or switch screens. */
 void
-VteTerminalPrivate::adjust_adjustments_full()
+Terminal::adjust_adjustments_full()
 {
        g_assert(m_screen != NULL);
        g_assert(m_screen->row_data != NULL);
@@ -1907,7 +1910,7 @@ VteTerminalPrivate::adjust_adjustments_full()
 
 /* Scroll a fixed number of lines up or down in the current screen. */
 void
-VteTerminalPrivate::scroll_lines(long lines)
+Terminal::scroll_lines(long lines)
 {
        double destination;
        _vte_debug_print(VTE_DEBUG_ADJ, "Scrolling %ld lines.\n", lines);
@@ -1925,13 +1928,13 @@ VteTerminalPrivate::scroll_lines(long lines)
 
 /* Scroll so that the scroll delta is the minimum value. */
 void
-VteTerminalPrivate::maybe_scroll_to_top()
+Terminal::maybe_scroll_to_top()
 {
        queue_adjustment_value_changed(_vte_ring_delta(m_screen->row_data));
 }
 
 void
-VteTerminalPrivate::maybe_scroll_to_bottom()
+Terminal::maybe_scroll_to_bottom()
 {
        queue_adjustment_value_changed(m_screen->insert_delta);
        _vte_debug_print(VTE_DEBUG_ADJ,
@@ -1939,7 +1942,7 @@ VteTerminalPrivate::maybe_scroll_to_bottom()
 }
 
 /*
- * VteTerminalPrivate::set_encoding:
+ * Terminal::set_encoding:
  * @codeset: (allow-none): a valid #GIConv target, or %NULL to use UTF-8
  *
  * Changes the encoding the terminal will expect data from the child to
@@ -1949,7 +1952,7 @@ VteTerminalPrivate::maybe_scroll_to_bottom()
  * Returns: %true if the encoding could be changed to the specified one
  */
 bool
-VteTerminalPrivate::set_encoding(char const* codeset)
+Terminal::set_encoding(char const* codeset)
 {
 #ifdef WITH_ICONV
        if (codeset == nullptr) {
@@ -2041,7 +2044,7 @@ VteTerminalPrivate::set_encoding(char const* codeset)
 }
 
 bool
-VteTerminalPrivate::set_cjk_ambiguous_width(int width)
+Terminal::set_cjk_ambiguous_width(int width)
 {
         g_assert(width == 1 || width == 2);
 
@@ -2054,7 +2057,7 @@ VteTerminalPrivate::set_cjk_ambiguous_width(int width)
 
 // FIXMEchpe replace this with a method on VteRing
 VteRowData *
-VteTerminalPrivate::insert_rows (guint cnt)
+Terminal::insert_rows (guint cnt)
 {
        VteRowData *row;
        do {
@@ -2066,7 +2069,7 @@ VteTerminalPrivate::insert_rows (guint cnt)
 /* Make sure we have enough rows and columns to hold data at the current
  * cursor position. */
 VteRowData *
-VteTerminalPrivate::ensure_row()
+Terminal::ensure_row()
 {
        VteRowData *row;
 
@@ -2086,7 +2089,7 @@ VteTerminalPrivate::ensure_row()
 }
 
 VteRowData *
-VteTerminalPrivate::ensure_cursor()
+Terminal::ensure_cursor()
 {
        VteRowData *row = ensure_row();
         _vte_row_data_fill(row, &basic_cell, m_screen->cursor.col);
@@ -2097,7 +2100,7 @@ VteTerminalPrivate::ensure_cursor()
 /* Update the insert delta so that the screen which includes it also
  * includes the end of the buffer. */
 void
-VteTerminalPrivate::update_insert_delta()
+Terminal::update_insert_delta()
 {
        /* The total number of lines.  Add one to the cursor offset
         * because it's zero-based. */
@@ -2126,7 +2129,7 @@ VteTerminalPrivate::update_insert_delta()
 
 /* Apply the desired mouse pointer, based on certain member variables. */
 void
-VteTerminalPrivate::apply_mouse_cursor()
+Terminal::apply_mouse_cursor()
 {
         if (!widget_realized())
                 return;
@@ -2165,7 +2168,7 @@ VteTerminalPrivate::apply_mouse_cursor()
 
 /* Show or hide the pointer if autohiding is enabled. */
 void
-VteTerminalPrivate::set_pointer_autohidden(bool autohidden)
+Terminal::set_pointer_autohidden(bool autohidden)
 {
         if (autohidden == m_mouse_cursor_autohidden)
                 return;
@@ -2185,7 +2188,7 @@ VteTerminalPrivate::set_pointer_autohidden(bool autohidden)
  * VTE_CURSOR_FG, VTE_HIGHLIGHT_BG or VTE_HIGHLIGHT_FG.
  */
 vte::color::rgb const*
-VteTerminalPrivate::get_color(int entry) const
+Terminal::get_color(int entry) const
 {
        VtePaletteColor const* palette_color = &m_palette[entry];
        guint source;
@@ -2197,7 +2200,7 @@ VteTerminalPrivate::get_color(int entry) const
 
 /* Set up a palette entry with a more-or-less match for the requested color. */
 void
-VteTerminalPrivate::set_color(int entry,
+Terminal::set_color(int entry,
                               int source,
                               vte::color::rgb const& proposed)
 {
@@ -2229,7 +2232,7 @@ VteTerminalPrivate::set_color(int entry,
 }
 
 void
-VteTerminalPrivate::reset_color(int entry,
+Terminal::reset_color(int entry,
                                 int source)
 {
         g_assert(entry >= 0 && entry < VTE_PALETTE_SIZE);
@@ -2258,7 +2261,7 @@ VteTerminalPrivate::reset_color(int entry,
 }
 
 bool
-VteTerminalPrivate::set_background_alpha(double alpha)
+Terminal::set_background_alpha(double alpha)
 {
         g_assert(alpha >= 0. && alpha <= 1.);
 
@@ -2275,13 +2278,13 @@ VteTerminalPrivate::set_background_alpha(double alpha)
 }
 
 void
-VteTerminalPrivate::set_colors_default()
+Terminal::set_colors_default()
 {
         set_colors(nullptr, nullptr, nullptr, 0);
 }
 
 /*
- * VteTerminalPrivate::set_colors:
+ * Terminal::set_colors:
  * @terminal: a #VteTerminal
  * @foreground: (allow-none): the new foreground color, or %NULL
  * @background: (allow-none): the new background color, or %NULL
@@ -2299,7 +2302,7 @@ VteTerminalPrivate::set_colors_default()
  * greater than 0, the new background color is taken from @palette[0].
  */
 void
-VteTerminalPrivate::set_colors(vte::color::rgb const* foreground,
+Terminal::set_colors(vte::color::rgb const* foreground,
                                vte::color::rgb const* background,
                                vte::color::rgb const* new_palette,
                                gsize palette_size)
@@ -2396,14 +2399,14 @@ VteTerminalPrivate::set_colors(vte::color::rgb const* foreground,
 }
 
 /*
- * VteTerminalPrivate::set_color_bold:
+ * Terminal::set_color_bold:
  * @bold: (allow-none): the new bold color or %NULL
  *
  * Sets the color used to draw bold text in the default foreground color.
  * If @bold is %NULL then the default color is used.
  */
 void
-VteTerminalPrivate::set_color_bold(vte::color::rgb const& color)
+Terminal::set_color_bold(vte::color::rgb const& color)
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Set %s color to (%04x,%04x,%04x).\n", "bold",
@@ -2412,7 +2415,7 @@ VteTerminalPrivate::set_color_bold(vte::color::rgb const& color)
 }
 
 void
-VteTerminalPrivate::reset_color_bold()
+Terminal::reset_color_bold()
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Reset %s color.\n", "bold");
@@ -2420,13 +2423,13 @@ VteTerminalPrivate::reset_color_bold()
 }
 
 /*
- * VteTerminalPrivate::set_color_foreground:
+ * Terminal::set_color_foreground:
  * @foreground: the new foreground color
  *
  * Sets the foreground color used to draw normal text.
  */
 void
-VteTerminalPrivate::set_color_foreground(vte::color::rgb const& color)
+Terminal::set_color_foreground(vte::color::rgb const& color)
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Set %s color to (%04x,%04x,%04x).\n", "foreground",
@@ -2435,7 +2438,7 @@ VteTerminalPrivate::set_color_foreground(vte::color::rgb const& color)
 }
 
 /*
- * VteTerminalPrivate::set_color_background:
+ * Terminal::set_color_background:
  * @background: the new background color
  *
  * Sets the background color for text which does not have a specific background
@@ -2443,7 +2446,7 @@ VteTerminalPrivate::set_color_foreground(vte::color::rgb const& color)
  * the terminal is not transparent.
  */
 void
-VteTerminalPrivate::set_color_background(vte::color::rgb const& color)
+Terminal::set_color_background(vte::color::rgb const& color)
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Set %s color to (%04x,%04x,%04x).\n", "background",
@@ -2452,7 +2455,7 @@ VteTerminalPrivate::set_color_background(vte::color::rgb const& color)
 }
 
 /*
- * VteTerminalPrivate::set_color_cursor_background:
+ * Terminal::set_color_cursor_background:
  * @cursor_background: (allow-none): the new color to use for the text cursor, or %NULL
  *
  * Sets the background color for text which is under the cursor.  If %NULL, text
@@ -2460,7 +2463,7 @@ VteTerminalPrivate::set_color_background(vte::color::rgb const& color)
  * reversed.
  */
 void
-VteTerminalPrivate::set_color_cursor_background(vte::color::rgb const& color)
+Terminal::set_color_cursor_background(vte::color::rgb const& color)
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Set %s color to (%04x,%04x,%04x).\n", "cursor background",
@@ -2469,7 +2472,7 @@ VteTerminalPrivate::set_color_cursor_background(vte::color::rgb const& color)
 }
 
 void
-VteTerminalPrivate::reset_color_cursor_background()
+Terminal::reset_color_cursor_background()
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Reset %s color.\n", "cursor background");
@@ -2477,7 +2480,7 @@ VteTerminalPrivate::reset_color_cursor_background()
 }
 
 /*
- * VteTerminalPrivate::set_color_cursor_foreground:
+ * Terminal::set_color_cursor_foreground:
  * @cursor_foreground: (allow-none): the new color to use for the text cursor, or %NULL
  *
  * Sets the foreground color for text which is under the cursor.  If %NULL, text
@@ -2485,7 +2488,7 @@ VteTerminalPrivate::reset_color_cursor_background()
  * reversed.
  */
 void
-VteTerminalPrivate::set_color_cursor_foreground(vte::color::rgb const& color)
+Terminal::set_color_cursor_foreground(vte::color::rgb const& color)
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Set %s color to (%04x,%04x,%04x).\n", "cursor foreground",
@@ -2494,7 +2497,7 @@ VteTerminalPrivate::set_color_cursor_foreground(vte::color::rgb const& color)
 }
 
 void
-VteTerminalPrivate::reset_color_cursor_foreground()
+Terminal::reset_color_cursor_foreground()
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Reset %s color.\n", "cursor foreground");
@@ -2502,7 +2505,7 @@ VteTerminalPrivate::reset_color_cursor_foreground()
 }
 
 /*
- * VteTerminalPrivate::set_color_highlight_background:
+ * Terminal::set_color_highlight_background:
  * @highlight_background: (allow-none): the new color to use for highlighted text, or %NULL
  *
  * Sets the background color for text which is highlighted.  If %NULL,
@@ -2511,7 +2514,7 @@ VteTerminalPrivate::reset_color_cursor_foreground()
  * be drawn with foreground and background colors reversed.
  */
 void
-VteTerminalPrivate::set_color_highlight_background(vte::color::rgb const& color)
+Terminal::set_color_highlight_background(vte::color::rgb const& color)
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Set %s color to (%04x,%04x,%04x).\n", "highlight background",
@@ -2520,7 +2523,7 @@ VteTerminalPrivate::set_color_highlight_background(vte::color::rgb const& color)
 }
 
 void
-VteTerminalPrivate::reset_color_highlight_background()
+Terminal::reset_color_highlight_background()
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Reset %s color.\n", "highlight background");
@@ -2528,7 +2531,7 @@ VteTerminalPrivate::reset_color_highlight_background()
 }
 
 /*
- * VteTerminalPrivate::set_color_highlight_foreground:
+ * Terminal::set_color_highlight_foreground:
  * @highlight_foreground: (allow-none): the new color to use for highlighted text, or %NULL
  *
  * Sets the foreground color for text which is highlighted.  If %NULL,
@@ -2537,7 +2540,7 @@ VteTerminalPrivate::reset_color_highlight_background()
  * be drawn with foreground and background colors reversed.
  */
 void
-VteTerminalPrivate::set_color_highlight_foreground(vte::color::rgb const& color)
+Terminal::set_color_highlight_foreground(vte::color::rgb const& color)
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Set %s color to (%04x,%04x,%04x).\n", "highlight foreground",
@@ -2546,7 +2549,7 @@ VteTerminalPrivate::set_color_highlight_foreground(vte::color::rgb const& color)
 }
 
 void
-VteTerminalPrivate::reset_color_highlight_foreground()
+Terminal::reset_color_highlight_foreground()
 {
         _vte_debug_print(VTE_DEBUG_MISC,
                          "Reset %s color.\n", "highlight foreground");
@@ -2554,7 +2557,7 @@ VteTerminalPrivate::reset_color_highlight_foreground()
 }
 
 /*
- * VteTerminalPrivate::cleanup_fragments:
+ * Terminal::cleanup_fragments:
  * @start: the starting column, inclusive
  * @end: the end column, exclusive
  *
@@ -2574,7 +2577,7 @@ VteTerminalPrivate::reset_color_highlight_foreground()
  * because the caller can't reasonably be expected to take care of this.
  */
 void
-VteTerminalPrivate::cleanup_fragments(long start,
+Terminal::cleanup_fragments(long start,
                                       long end)
 {
         VteRowData *row = ensure_row();
@@ -2659,7 +2662,7 @@ VteTerminalPrivate::cleanup_fragments(long start,
 
 /* Cursor down, with scrolling. */
 void
-VteTerminalPrivate::cursor_down(bool explicit_sequence)
+Terminal::cursor_down(bool explicit_sequence)
 {
        long start, end;
 
@@ -2726,7 +2729,7 @@ VteTerminalPrivate::cursor_down(bool explicit_sequence)
 
 /* Drop the scrollback. */
 void
-VteTerminalPrivate::drop_scrollback()
+Terminal::drop_scrollback()
 {
         /* Only for normal screen; alternate screen doesn't have a scrollback. */
         _vte_ring_drop_scrollback (m_normal_screen.row_data,
@@ -2740,7 +2743,7 @@ VteTerminalPrivate::drop_scrollback()
 
 /* Restore cursor on a screen. */
 void
-VteTerminalPrivate::restore_cursor(VteScreen *screen__)
+Terminal::restore_cursor(VteScreen *screen__)
 {
         screen__->cursor.col = screen__->saved.cursor.col;
         screen__->cursor.row = screen__->insert_delta + CLAMP(screen__->saved.cursor.row,
@@ -2761,7 +2764,7 @@ VteTerminalPrivate::restore_cursor(VteScreen *screen__)
 
 /* Save cursor on a screen__. */
 void
-VteTerminalPrivate::save_cursor(VteScreen *screen__)
+Terminal::save_cursor(VteScreen *screen__)
 {
         screen__->saved.cursor.col = screen__->cursor.col;
         screen__->saved.cursor.row = screen__->cursor.row - screen__->insert_delta;
@@ -2781,7 +2784,7 @@ VteTerminalPrivate::save_cursor(VteScreen *screen__)
 
 /* Insert a single character into the stored data array. */
 void
-VteTerminalPrivate::insert_char(gunichar c,
+Terminal::insert_char(gunichar c,
                                 bool insert,
                                 bool invalidate_now)
 {
@@ -3006,12 +3009,12 @@ static void
 reaper_child_exited_cb(VteReaper *reaper,
                        int ipid,
                        int status,
-                       VteTerminalPrivate *that)
+                       vte::terminal::Terminal* that)
 {
         GPid pid = GPid(ipid);
 
         auto terminal = that->m_terminal;
-        /* keep the VteTerminalPrivate in a death grip */
+        /* keep the vte::terminal::Terminal in a death grip */
         g_object_ref(terminal);
         that->child_watch_done(pid, status);
         g_object_unref(terminal);
@@ -3019,7 +3022,7 @@ reaper_child_exited_cb(VteReaper *reaper,
 }
 
 void
-VteTerminalPrivate::child_watch_done(GPid pid,
+Terminal::child_watch_done(GPid pid,
                                      int status)
 {
        if (pid != m_pty_pid)
@@ -3065,7 +3068,7 @@ VteTerminalPrivate::child_watch_done(GPid pid,
 }
 
 static void
-mark_input_source_invalid_cb(VteTerminalPrivate *that)
+mark_input_source_invalid_cb(vte::terminal::Terminal* that)
 {
        _vte_debug_print (VTE_DEBUG_IO, "removed poll of io_read_cb\n");
        that->m_pty_input_source = 0;
@@ -3075,13 +3078,13 @@ mark_input_source_invalid_cb(VteTerminalPrivate *that)
 static gboolean
 io_read_cb(GIOChannel *channel,
            GIOCondition condition,
-           VteTerminalPrivate *that)
+           vte::terminal::Terminal* that)
 {
         return that->pty_io_read(channel, condition);
 }
 
 void
-VteTerminalPrivate::connect_pty_read()
+Terminal::connect_pty_read()
 {
        if (m_pty_channel == NULL)
                return;
@@ -3099,7 +3102,7 @@ VteTerminalPrivate::connect_pty_read()
 }
 
 static void
-mark_output_source_invalid_cb(VteTerminalPrivate *that)
+mark_output_source_invalid_cb(vte::terminal::Terminal* that)
 {
        _vte_debug_print (VTE_DEBUG_IO, "removed poll of io_write_cb\n");
        that->m_pty_output_source = 0;
@@ -3109,13 +3112,13 @@ mark_output_source_invalid_cb(VteTerminalPrivate *that)
 static gboolean
 io_write_cb(GIOChannel *channel,
             GIOCondition condition,
-            VteTerminalPrivate *that)
+            vte::terminal::Terminal* that)
 {
         return that->pty_io_write(channel, condition);
 }
 
 void
-VteTerminalPrivate::connect_pty_write()
+Terminal::connect_pty_write()
 {
         g_assert(m_pty != nullptr);
         g_warn_if_fail(m_input_enabled);
@@ -3141,7 +3144,7 @@ VteTerminalPrivate::connect_pty_write()
 }
 
 void
-VteTerminalPrivate::disconnect_pty_read()
+Terminal::disconnect_pty_read()
 {
        if (m_pty_input_source != 0) {
                _vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_read\n");
@@ -3152,7 +3155,7 @@ VteTerminalPrivate::disconnect_pty_read()
 }
 
 void
-VteTerminalPrivate::disconnect_pty_write()
+Terminal::disconnect_pty_write()
 {
        if (m_pty_output_source != 0) {
                _vte_debug_print (VTE_DEBUG_IO, "disconnecting poll of vte_terminal_io_write\n");
@@ -3163,13 +3166,13 @@ VteTerminalPrivate::disconnect_pty_write()
 }
 
 void
-VteTerminalPrivate::pty_termios_changed()
+Terminal::pty_termios_changed()
 {
         _vte_debug_print(VTE_DEBUG_IO, "Termios changed\n");
 }
 
 void
-VteTerminalPrivate::pty_scroll_lock_changed(bool locked)
+Terminal::pty_scroll_lock_changed(bool locked)
 {
         _vte_debug_print(VTE_DEBUG_IO, "Output %s (^%c)\n",
                          locked ? "stopped" : "started",
@@ -3177,7 +3180,7 @@ VteTerminalPrivate::pty_scroll_lock_changed(bool locked)
 }
 
 /*
- * VteTerminalPrivate::watch_child:
+ * Terminal::watch_child:
  * @child_pid: a #GPid
  *
  * Watches @child_pid. When the process exists, the #VteTerminal::child-exited
@@ -3195,7 +3198,7 @@ VteTerminalPrivate::pty_scroll_lock_changed(bool locked)
  * the %G_SPAWN_DO_NOT_REAP_CHILD flag MUST have been passed.
  */
 void
-VteTerminalPrivate::watch_child (GPid child_pid)
+Terminal::watch_child (GPid child_pid)
 {
         // FIXMEchpe: support passing child_pid = -1 to remove the wathch
         g_assert(child_pid != -1);
@@ -3231,7 +3234,7 @@ VteTerminalPrivate::watch_child (GPid child_pid)
 }
 
 /*
- * VteTerminalPrivate::spawn_sync:
+ * Terminal::spawn_sync:
  * @pty_flags: flags from #VtePtyFlags
  * @working_directory: (allow-none): the name of a directory the command should start
  *   in, or %NULL to use the current working directory
@@ -3258,7 +3261,7 @@ VteTerminalPrivate::watch_child (GPid child_pid)
  * Returns: %TRUE on success, or %FALSE on error with @error filled in
  */
 bool
-VteTerminalPrivate::spawn_sync(VtePtyFlags pty_flags,
+Terminal::spawn_sync(VtePtyFlags pty_flags,
                                const char *working_directory,
                                char **argv,
                                char **envv,
@@ -3312,7 +3315,7 @@ VteTerminalPrivate::spawn_sync(VtePtyFlags pty_flags,
 
 /* Handle an EOF from the client. */
 void
-VteTerminalPrivate::pty_channel_eof()
+Terminal::pty_channel_eof()
 {
         GObject *object = G_OBJECT(m_terminal);
 
@@ -3328,7 +3331,7 @@ VteTerminalPrivate::pty_channel_eof()
 
 /* Reset the input method context. */
 void
-VteTerminalPrivate::im_reset()
+Terminal::im_reset()
 {
        if (widget_realized() && m_im_context)
                gtk_im_context_reset(m_im_context);
@@ -3412,7 +3415,7 @@ _vte_conv(GIConv conv,
 }
 
 void
-VteTerminalPrivate::convert_incoming() noexcept
+Terminal::convert_incoming() noexcept
 {
         /* This is for legacy applications, so efficiency is not
          * of any concern. Flatten the chunks into one big buffer,
@@ -3513,7 +3516,7 @@ VteTerminalPrivate::convert_incoming() noexcept
 #endif /* WITH_ICONV */
 
 void
-VteTerminalPrivate::process_incoming()
+Terminal::process_incoming()
 {
        VteVisualPosition saved_cursor;
        gboolean saved_cursor_visible;
@@ -3831,7 +3834,7 @@ VteTerminalPrivate::process_incoming()
 }
 
 bool
-VteTerminalPrivate::pty_io_read(GIOChannel *channel,
+Terminal::pty_io_read(GIOChannel *channel,
                                 GIOCondition condition)
 {
        int err = 0;
@@ -4001,7 +4004,7 @@ out:
 }
 
 /*
- * VteTerminalPrivate::feed:
+ * Terminal::feed:
  * @data: (array length=length) (element-type guint8): a string in the terminal's current encoding
  * @length: the length of the string, or -1 to use the full length or a nul-terminated string
  *
@@ -4010,7 +4013,7 @@ out:
  * to mess with your users.
  */
 void
-VteTerminalPrivate::feed(char const* data,
+Terminal::feed(char const* data,
                          gssize length_,
                          bool start_processing_)
 {
@@ -4058,7 +4061,7 @@ VteTerminalPrivate::feed(char const* data,
 }
 
 bool
-VteTerminalPrivate::pty_io_write(GIOChannel *channel,
+Terminal::pty_io_write(GIOChannel *channel,
                                  GIOCondition condition)
 {
        gssize count;
@@ -4089,7 +4092,7 @@ VteTerminalPrivate::pty_io_write(GIOChannel *channel,
 
 /* Convert some UTF-8 data to send to the child. */
 void
-VteTerminalPrivate::send_child(char const* data,
+Terminal::send_child(char const* data,
                                gssize length,
                                bool local_echo) noexcept
 {
@@ -4192,7 +4195,7 @@ VteTerminalPrivate::send_child(char const* data,
  * at the keyboard.
  */
 void
-VteTerminalPrivate::feed_child(char const *text,
+Terminal::feed_child(char const *text,
                                gssize length)
 {
         g_assert(length == 0 || text != nullptr);
@@ -4209,14 +4212,14 @@ VteTerminalPrivate::feed_child(char const *text,
 }
 
 /*
- * VteTerminalPrivate::feed_child_binary:
+ * Terminal::feed_child_binary:
  * @data: data to send to the child
  * @length: length of @data
  *
  * Sends a block of binary data to the child.
  */
 void
-VteTerminalPrivate::feed_child_binary(guint8 const* data,
+Terminal::feed_child_binary(guint8 const* data,
                                       gsize length)
 {
         g_assert(length == 0 || data != nullptr);
@@ -4241,7 +4244,7 @@ VteTerminalPrivate::feed_child_binary(guint8 const* data,
 }
 
 void
-VteTerminalPrivate::feed_child_using_modes(char const* data,
+Terminal::feed_child_using_modes(char const* data,
                                            gssize length)
 {
        if (length == -1)
@@ -4252,7 +4255,7 @@ VteTerminalPrivate::feed_child_using_modes(char const* data,
 }
 
 void
-VteTerminalPrivate::send(vte::parser::u8SequenceBuilder const& builder,
+Terminal::send(vte::parser::u8SequenceBuilder const& builder,
                          bool c1,
                          vte::parser::u8SequenceBuilder::Introducer introducer,
                          vte::parser::u8SequenceBuilder::ST st) noexcept
@@ -4263,7 +4266,7 @@ VteTerminalPrivate::send(vte::parser::u8SequenceBuilder const& builder,
 }
 
 void
-VteTerminalPrivate::send(vte::parser::Sequence const& seq,
+Terminal::send(vte::parser::Sequence const& seq,
                          vte::parser::u8SequenceBuilder const& builder) noexcept
 {
         // FIXMEchpe take c1 & ST from @seq
@@ -4271,7 +4274,7 @@ VteTerminalPrivate::send(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::send(unsigned int type,
+Terminal::send(unsigned int type,
                          std::initializer_list<int> params) noexcept
 {
         // FIXMEchpe take c1 & ST from @seq
@@ -4279,7 +4282,7 @@ VteTerminalPrivate::send(unsigned int type,
 }
 
 void
-VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
+Terminal::reply(vte::parser::Sequence const& seq,
                           unsigned int type,
                           std::initializer_list<int> params) noexcept
 {
@@ -4288,7 +4291,7 @@ VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
 
 #if 0
 void
-VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
+Terminal::reply(vte::parser::Sequence const& seq,
                           unsigned int type,
                           std::initializer_list<int> params,
                           std::string const& str) noexcept
@@ -4300,7 +4303,7 @@ VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
 #endif
 
 void
-VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
+Terminal::reply(vte::parser::Sequence const& seq,
                           unsigned int type,
                           std::initializer_list<int> params,
                           vte::parser::ReplyBuilder const& builder) noexcept
@@ -4316,7 +4319,7 @@ VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
+Terminal::reply(vte::parser::Sequence const& seq,
                           unsigned int type,
                           std::initializer_list<int> params,
                           char const* format,
@@ -4339,13 +4342,13 @@ VteTerminalPrivate::reply(vte::parser::Sequence const& seq,
 static void
 vte_terminal_im_commit_cb(GtkIMContext *im_context,
                           char const* text,
-                          VteTerminalPrivate *that)
+                          vte::terminal::Terminal* that)
 {
         that->im_commit(text);
 }
 
 void
-VteTerminalPrivate::im_commit(char const* text)
+Terminal::im_commit(char const* text)
 {
        _vte_debug_print(VTE_DEBUG_EVENTS,
                        "Input method committed `%s'.\n", text);
@@ -4360,13 +4363,13 @@ VteTerminalPrivate::im_commit(char const* text)
 /* We've started pre-editing. */
 static void
 vte_terminal_im_preedit_start_cb(GtkIMContext *im_context,
-                                 VteTerminalPrivate *that)
+                                 vte::terminal::Terminal* that)
 {
         that->im_preedit_start();
 }
 
 void
-VteTerminalPrivate::im_preedit_start()
+Terminal::im_preedit_start()
 {
        _vte_debug_print(VTE_DEBUG_EVENTS,
                        "Input method pre-edit started.\n");
@@ -4376,13 +4379,13 @@ VteTerminalPrivate::im_preedit_start()
 /* We've stopped pre-editing. */
 static void
 vte_terminal_im_preedit_end_cb(GtkIMContext *im_context,
-                               VteTerminalPrivate *that)
+                               vte::terminal::Terminal* that)
 {
         that->im_preedit_end();
 }
 
 void
-VteTerminalPrivate::im_preedit_end()
+Terminal::im_preedit_end()
 {
        _vte_debug_print(VTE_DEBUG_EVENTS,
                        "Input method pre-edit ended.\n");
@@ -4392,13 +4395,13 @@ VteTerminalPrivate::im_preedit_end()
 /* The pre-edit string changed. */
 static void
 vte_terminal_im_preedit_changed_cb(GtkIMContext *im_context,
-                                   VteTerminalPrivate *that)
+                                   vte::terminal::Terminal* that)
 {
         that->im_preedit_changed();
 }
 
 void
-VteTerminalPrivate::im_preedit_changed()
+Terminal::im_preedit_changed()
 {
        gchar *str;
        PangoAttrList *attrs;
@@ -4432,13 +4435,13 @@ VteTerminalPrivate::im_preedit_changed()
 
 static gboolean
 vte_terminal_im_retrieve_surrounding_cb(GtkIMContext *im_context,
-                                        VteTerminalPrivate *that)
+                                        vte::terminal::Terminal* that)
 {
         return that->im_retrieve_surrounding();
 }
 
 bool
-VteTerminalPrivate::im_retrieve_surrounding()
+Terminal::im_retrieve_surrounding()
 {
         /* FIXME: implement this! Bug #726191 */
         _vte_debug_print(VTE_DEBUG_EVENTS,
@@ -4450,13 +4453,13 @@ static gboolean
 vte_terminal_im_delete_surrounding_cb(GtkIMContext *im_context,
                                       int offset,
                                       int n_chars,
-                                      VteTerminalPrivate *that)
+                                      vte::terminal::Terminal* that)
 {
         return that->im_delete_surrounding(offset, n_chars);
 }
 
 bool
-VteTerminalPrivate::im_delete_surrounding(int offset,
+Terminal::im_delete_surrounding(int offset,
                                           int n_chars)
 {
         /* FIXME: implement this! Bug #726191 */
@@ -4467,7 +4470,7 @@ VteTerminalPrivate::im_delete_surrounding(int offset,
 }
 
 void
-VteTerminalPrivate::im_update_cursor()
+Terminal::im_update_cursor()
 {
        if (!widget_realized())
                 return;
@@ -4482,7 +4485,7 @@ VteTerminalPrivate::im_update_cursor()
 }
 
 void
-VteTerminalPrivate::widget_style_updated()
+Terminal::widget_style_updated()
 {
         set_font_desc(m_unscaled_font_desc);
 
@@ -4517,7 +4520,7 @@ VteTerminalPrivate::widget_style_updated()
 }
 
 void
-VteTerminalPrivate::add_cursor_timeout()
+Terminal::add_cursor_timeout()
 {
        if (m_cursor_blink_tag)
                return; /* already added */
@@ -4531,7 +4534,7 @@ VteTerminalPrivate::add_cursor_timeout()
 }
 
 void
-VteTerminalPrivate::remove_cursor_timeout()
+Terminal::remove_cursor_timeout()
 {
        if (m_cursor_blink_tag == 0)
                return; /* already removed */
@@ -4546,7 +4549,7 @@ VteTerminalPrivate::remove_cursor_timeout()
 
 /* Activates / disactivates the cursor blink timer to reduce wakeups */
 void
-VteTerminalPrivate::check_cursor_blink()
+Terminal::check_cursor_blink()
 {
        if (m_has_focus &&
            m_cursor_blinks &&
@@ -4557,7 +4560,7 @@ VteTerminalPrivate::check_cursor_blink()
 }
 
 void
-VteTerminalPrivate::remove_text_blink_timeout()
+Terminal::remove_text_blink_timeout()
 {
         if (m_text_blink_tag == 0)
                 return;
@@ -4567,7 +4570,7 @@ VteTerminalPrivate::remove_text_blink_timeout()
 }
 
 void
-VteTerminalPrivate::beep()
+Terminal::beep()
 {
        if (m_audible_bell) {
                 GdkWindow *window = gtk_widget_get_window(m_widget);
@@ -4576,7 +4579,7 @@ VteTerminalPrivate::beep()
 }
 
 guint
-VteTerminalPrivate::translate_ctrlkey(GdkEventKey *event)
+Terminal::translate_ctrlkey(GdkEventKey *event)
 {
        guint keyval;
        GdkKeymap *keymap;
@@ -4608,7 +4611,7 @@ VteTerminalPrivate::translate_ctrlkey(GdkEventKey *event)
 }
 
 void
-VteTerminalPrivate::read_modifiers(GdkEvent *event)
+Terminal::read_modifiers(GdkEvent *event)
 {
         GdkKeymap *keymap;
        GdkModifierType mods;
@@ -4633,7 +4636,7 @@ VteTerminalPrivate::read_modifiers(GdkEvent *event)
 }
 
 bool
-VteTerminalPrivate::widget_key_press(GdkEventKey *event)
+Terminal::widget_key_press(GdkEventKey *event)
 {
        char *normal = NULL;
        gssize normal_length = 0;
@@ -5050,7 +5053,7 @@ VteTerminalPrivate::widget_key_press(GdkEventKey *event)
 }
 
 bool
-VteTerminalPrivate::widget_key_release(GdkEventKey *event)
+Terminal::widget_key_release(GdkEventKey *event)
 {
        read_modifiers((GdkEvent*)event);
 
@@ -5105,7 +5108,7 @@ static const guint8 word_char_by_category[] = {
 };
 
 /*
- * VteTerminalPrivate::is_word_char:
+ * Terminal::is_word_char:
  * @c: a candidate Unicode code point
  *
  * Checks if a particular character is considered to be part of a word or not.
@@ -5113,7 +5116,7 @@ static const guint8 word_char_by_category[] = {
  * Returns: %TRUE if the character is considered to be part of a word
  */
 bool
-VteTerminalPrivate::is_word_char(gunichar c) const
+Terminal::is_word_char(gunichar c) const
 {
         const guint8 v = word_char_by_category[g_unichar_type(c)];
 
@@ -5131,7 +5134,7 @@ VteTerminalPrivate::is_word_char(gunichar c) const
 /* Check if the characters in the two given locations are in the same class
  * (word vs. non-word characters). */
 bool
-VteTerminalPrivate::is_same_class(vte::grid::column_t acol,
+Terminal::is_same_class(vte::grid::column_t acol,
                                   vte::grid::row_t arow,
                                   vte::grid::column_t bcol,
                                   vte::grid::row_t brow) const
@@ -5160,7 +5163,7 @@ VteTerminalPrivate::is_same_class(vte::grid::column_t acol,
 /* Check if we soft-wrapped on the given line. */
 // FIXMEchpe replace this with a method on VteRing
 bool
-VteTerminalPrivate::line_is_wrappable(vte::grid::row_t row) const
+Terminal::line_is_wrappable(vte::grid::row_t row) const
 {
        VteRowData const* rowdata = find_row_data(row);
        return rowdata && rowdata->attr.soft_wrapped;
@@ -5228,7 +5231,7 @@ vte_cell_is_between(glong col, glong row,
 /* Check if a cell is selected or not. */
 // FIXMEchpe: replace this by just using vte::grid::span for selection and then this simply becomes 
.contains()
 bool
-VteTerminalPrivate::cell_is_selected(vte::grid::column_t col,
+Terminal::cell_is_selected(vte::grid::column_t col,
                                      vte::grid::row_t row) const
 {
        /* If there's nothing selected, it's an easy question to answer. */
@@ -5254,7 +5257,7 @@ VteTerminalPrivate::cell_is_selected(vte::grid::column_t col,
 }
 
 void
-VteTerminalPrivate::widget_paste_received(char const* text)
+Terminal::widget_paste_received(char const* text)
 {
        gchar *paste, *p;
         gsize run;
@@ -5325,7 +5328,7 @@ VteTerminalPrivate::widget_paste_received(char const* text)
 }
 
 bool
-VteTerminalPrivate::feed_mouse_event(vte::grid::coords const& rowcol /* confined */,
+Terminal::feed_mouse_event(vte::grid::coords const& rowcol /* confined */,
                                      int button,
                                      bool is_drag,
                                      bool is_release)
@@ -5407,13 +5410,13 @@ VteTerminalPrivate::feed_mouse_event(vte::grid::coords const& rowcol /* confined
 }
 
 void
-VteTerminalPrivate::feed_focus_event(bool in)
+Terminal::feed_focus_event(bool in)
 {
         send(in ? VTE_REPLY_XTERM_FOCUS_IN : VTE_REPLY_XTERM_FOCUS_OUT, {});
 }
 
 void
-VteTerminalPrivate::feed_focus_event_initial()
+Terminal::feed_focus_event_initial()
 {
         /* We immediately send the terminal a focus event, since otherwise
          * it has no way to know the current status.
@@ -5422,14 +5425,14 @@ VteTerminalPrivate::feed_focus_event_initial()
 }
 
 void
-VteTerminalPrivate::maybe_feed_focus_event(bool in)
+Terminal::maybe_feed_focus_event(bool in)
 {
         if (m_modes_private.XTERM_FOCUS())
                 feed_focus_event(in);
 }
 
 /*
- * VteTerminalPrivate::maybe_send_mouse_button:
+ * Terminal::maybe_send_mouse_button:
  * @terminal:
  * @event:
  *
@@ -5439,7 +5442,7 @@ VteTerminalPrivate::maybe_feed_focus_event(bool in)
  * Returns: %TRUE iff the event was consumed
  */
 bool
-VteTerminalPrivate::maybe_send_mouse_button(vte::grid::coords const& unconfined_rowcol,
+Terminal::maybe_send_mouse_button(vte::grid::coords const& unconfined_rowcol,
                                             GdkEventType event_type,
                                             int event_button)
 {
@@ -5468,7 +5471,7 @@ VteTerminalPrivate::maybe_send_mouse_button(vte::grid::coords const& unconfined_
 }
 
 /*
- * VteTerminalPrivate::maybe_send_mouse_drag:
+ * Terminal::maybe_send_mouse_drag:
  * @terminal:
  * @event:
  *
@@ -5478,7 +5481,7 @@ VteTerminalPrivate::maybe_send_mouse_button(vte::grid::coords const& unconfined_
  * Returns: %TRUE iff the event was consumed
  */
 bool
-VteTerminalPrivate::maybe_send_mouse_drag(vte::grid::coords const& unconfined_rowcol,
+Terminal::maybe_send_mouse_drag(vte::grid::coords const& unconfined_rowcol,
                                           GdkEventType event_type)
 {
         auto rowcol = confine_grid_coords(unconfined_rowcol);
@@ -5525,14 +5528,14 @@ VteTerminalPrivate::maybe_send_mouse_drag(vte::grid::coords const& unconfined_ro
 }
 
 /*
- * VteTerminalPrivate::hyperlink_invalidate_and_get_bbox
+ * Terminal::hyperlink_invalidate_and_get_bbox
  *
  * Invalidates cells belonging to the non-zero hyperlink idx, in order to
  * stop highlighting the previously hovered hyperlink or start highlighting
  * the new one. Optionally stores the coordinates of the bounding box.
  */
 void
-VteTerminalPrivate::hyperlink_invalidate_and_get_bbox(vte::base::Ring::hyperlink_idx_t idx,
+Terminal::hyperlink_invalidate_and_get_bbox(vte::base::Ring::hyperlink_idx_t idx,
                                                       GdkRectangle *bbox)
 {
         auto first_row = first_displayed_row();
@@ -5575,13 +5578,13 @@ VteTerminalPrivate::hyperlink_invalidate_and_get_bbox(vte::base::Ring::hyperlink
 }
 
 /*
- * VteTerminalPrivate::hyperlink_hilite_update:
+ * Terminal::hyperlink_hilite_update:
  *
  * Checks the coordinates for hyperlink. Updates m_hyperlink_hover_idx
  * and m_hyperlink_hover_uri, and schedules to update the highlighting.
  */
 void
-VteTerminalPrivate::hyperlink_hilite_update()
+Terminal::hyperlink_hilite_update()
 {
         const VteRowData *rowdata;
         bool do_check_hilite;
@@ -5658,12 +5661,12 @@ VteTerminalPrivate::hyperlink_hilite_update()
 }
 
 /*
- * VteTerminalPrivate::match_hilite_clear:
+ * Terminal::match_hilite_clear:
  *
  * Reset match variables and invalidate the old match region if highlighted.
  */
 void
-VteTerminalPrivate::match_hilite_clear()
+Terminal::match_hilite_clear()
 {
         invalidate_match_span();
 
@@ -5677,7 +5680,7 @@ VteTerminalPrivate::match_hilite_clear()
 }
 
 void
-VteTerminalPrivate::invalidate_match_span()
+Terminal::invalidate_match_span()
 {
         _vte_debug_print(VTE_DEBUG_EVENTS,
                          "Invalidating match span %s\n", m_match_span.to_string());
@@ -5685,14 +5688,14 @@ VteTerminalPrivate::invalidate_match_span()
 }
 
 /*
- * VteTerminalPrivate::match_hilite_update:
+ * Terminal::match_hilite_update:
  *
  * Checks the coordinates for dingu matches, setting m_match_span to
  * the match region or the no-matches region, and if there is a match,
  * sets it to display highlighted.
  */
 void
-VteTerminalPrivate::match_hilite_update()
+Terminal::match_hilite_update()
 {
         /* m_mouse_last_position contains the current position, see bug 789536 comment 24. */
         auto pos = m_mouse_last_position;
@@ -5765,12 +5768,12 @@ static void
 clipboard_clear_cb(GtkClipboard *clipboard,
                    gpointer user_data)
 {
-       VteTerminalPrivate *that = reinterpret_cast<VteTerminalPrivate*>(user_data);
+       auto that = reinterpret_cast<vte::terminal::Terminal*>(user_data);
         that->widget_clipboard_cleared(clipboard);
 }
 
 void
-VteTerminalPrivate::widget_clipboard_cleared(GtkClipboard *clipboard_)
+Terminal::widget_clipboard_cleared(GtkClipboard *clipboard_)
 {
         if (m_changing_selection)
                 return;
@@ -5794,7 +5797,7 @@ clipboard_copy_cb(GtkClipboard *clipboard,
                   guint info,
                   gpointer user_data)
 {
-       VteTerminalPrivate *that = reinterpret_cast<VteTerminalPrivate*>(user_data);
+       auto that = reinterpret_cast<vte::terminal::Terminal*>(user_data);
         that->widget_clipboard_requested(clipboard, data, info);
 }
 
@@ -5814,7 +5817,7 @@ text_to_utf16_mozilla(GString* text,
 }
 
 void
-VteTerminalPrivate::widget_clipboard_requested(GtkClipboard *target_clipboard,
+Terminal::widget_clipboard_requested(GtkClipboard *target_clipboard,
                                                GtkSelectionData *data,
                                                guint info)
 {
@@ -5862,7 +5865,7 @@ template <unsigned int redbits,
           unsigned int greenbits,
           unsigned int bluebits>
 void
-VteTerminalPrivate::rgb_from_index(guint index,
+Terminal::rgb_from_index(guint index,
                                    vte::color::rgb& color) const
 {
         bool dim = false;
@@ -5891,7 +5894,7 @@ VteTerminalPrivate::rgb_from_index(guint index,
 }
 
 GString*
-VteTerminalPrivate::get_text(vte::grid::row_t start_row,
+Terminal::get_text(vte::grid::row_t start_row,
                              vte::grid::column_t start_col,
                              vte::grid::row_t end_row,
                              vte::grid::column_t end_col,
@@ -6035,7 +6038,7 @@ VteTerminalPrivate::get_text(vte::grid::row_t start_row,
 }
 
 GString*
-VteTerminalPrivate::get_text_displayed(bool wrap,
+Terminal::get_text_displayed(bool wrap,
                                        bool include_trailing_spaces,
                                        GArray *attributes)
 {
@@ -6049,7 +6052,7 @@ VteTerminalPrivate::get_text_displayed(bool wrap,
  * doesn't know about sub-row displays.
  */
 GString*
-VteTerminalPrivate::get_text_displayed_a11y(bool wrap,
+Terminal::get_text_displayed_a11y(bool wrap,
                                             bool include_trailing_spaces,
                                             GArray *attributes)
 {
@@ -6060,7 +6063,7 @@ VteTerminalPrivate::get_text_displayed_a11y(bool wrap,
 }
 
 GString*
-VteTerminalPrivate::get_selected_text(GArray *attributes)
+Terminal::get_selected_text(GArray *attributes)
 {
        return get_text(m_selection_start.row,
                         m_selection_start.col,
@@ -6074,7 +6077,7 @@ VteTerminalPrivate::get_selected_text(GArray *attributes)
 
 #ifdef VTE_DEBUG
 unsigned int
-VteTerminalPrivate::checksum_area(vte::grid::row_t start_row,
+Terminal::checksum_area(vte::grid::row_t start_row,
                                   vte::grid::column_t start_col,
                                   vte::grid::row_t end_row,
                                   vte::grid::column_t end_col)
@@ -6123,7 +6126,7 @@ vte_terminal_cellattr_equal(VteCellAttr const* attr1,
  * evolution's mail editor component.
  */
 char *
-VteTerminalPrivate::cellattr_to_html(VteCellAttr const* attr,
+Terminal::cellattr_to_html(VteCellAttr const* attr,
                                      char const* text) const
 {
        GString *string;
@@ -6214,7 +6217,7 @@ VteTerminalPrivate::cellattr_to_html(VteCellAttr const* attr,
  * indexing and returns the VteCellAttr.
  */
 VteCellAttr const*
-VteTerminalPrivate::char_to_cell_attr(VteCharAttributes const* attr) const
+Terminal::char_to_cell_attr(VteCharAttributes const* attr) const
 {
        VteCell const* cell = find_charcell(attr->column, attr->row);
        if (cell)
@@ -6223,7 +6226,7 @@ VteTerminalPrivate::char_to_cell_attr(VteCharAttributes const* attr) const
 }
 
 /*
- * VteTerminalPrivate::attributes_to_html:
+ * Terminal::attributes_to_html:
  * @text: A string as returned by the vte_terminal_get_* family of functions.
  * @attrs: (array) (element-type Vte.CharAttributes): text attributes, as created by vte_terminal_get_*
  *
@@ -6235,7 +6238,7 @@ VteTerminalPrivate::char_to_cell_attr(VteCharAttributes const* attr) const
  * Returns: (transfer full): a newly allocated text string, or %NULL.
  */
 GString*
-VteTerminalPrivate::attributes_to_html(GString* text_string,
+Terminal::attributes_to_html(GString* text_string,
                                        GArray* attrs)
 {
        GString *string;
@@ -6333,7 +6336,7 @@ targets_for_format(VteFormat format,
 /* Place the selected text onto the clipboard.  Do this asynchronously so that
  * we get notified when the selection we placed on the clipboard is replaced. */
 void
-VteTerminalPrivate::widget_copy(VteSelection sel,
+Terminal::widget_copy(VteSelection sel,
                                 VteFormat format)
 {
         /* Only put HTML on the CLIPBOARD, not PRIMARY */
@@ -6390,7 +6393,7 @@ VteTerminalPrivate::widget_copy(VteSelection sel,
 
 /* Paste from the given clipboard. */
 void
-VteTerminalPrivate::widget_paste(GdkAtom board)
+Terminal::widget_paste(GdkAtom board)
 {
         if (!m_input_enabled)
                 return;
@@ -6401,11 +6404,11 @@ VteTerminalPrivate::widget_paste(GdkAtom board)
 
         _vte_debug_print(VTE_DEBUG_SELECTION, "Requesting clipboard contents.\n");
 
-        m_paste_request.request_text(clip, &VteTerminalPrivate::widget_paste_received, this);
+        m_paste_request.request_text(clip, &Terminal::widget_paste_received, this);
 }
 
 void
-VteTerminalPrivate::invalidate_selection()
+Terminal::invalidate_selection()
 {
         invalidate_region(m_selection_start.col,
                           m_selection_end.col,
@@ -6416,7 +6419,7 @@ VteTerminalPrivate::invalidate_selection()
 
 /* Confine coordinates into the visible area. Padding is already subtracted. */
 void
-VteTerminalPrivate::confine_coordinates(long *xp,
+Terminal::confine_coordinates(long *xp,
                                         long *yp)
 {
        long x = *xp;
@@ -6448,7 +6451,7 @@ VteTerminalPrivate::confine_coordinates(long *xp,
 
 /* Start selection at the location of the event. */
 void
-VteTerminalPrivate::start_selection(long x,
+Terminal::start_selection(long x,
                                     long y,
                                     enum vte_selection_type type)
 {
@@ -6500,7 +6503,7 @@ VteTerminalPrivate::start_selection(long x,
 }
 
 bool
-VteTerminalPrivate::maybe_end_selection()
+Terminal::maybe_end_selection()
 {
        if (m_selecting) {
                /* Copy only if something was selected. */
@@ -6535,7 +6538,7 @@ math_div (long a, long b)
 
 /* Helper */
 void
-VteTerminalPrivate::extend_selection_expand()
+Terminal::extend_selection_expand()
 {
        long i, j;
        const VteCell *cell;
@@ -6734,7 +6737,7 @@ VteTerminalPrivate::extend_selection_expand()
 
 /* Extend selection to include the given event coordinates. */
 void
-VteTerminalPrivate::extend_selection(long x,
+Terminal::extend_selection(long x,
                                      long y,
                                      bool always_grow,
                                      bool force)
@@ -6959,12 +6962,12 @@ VteTerminalPrivate::extend_selection(long x,
 }
 
 /*
- * VteTerminalPrivate::select_all:
+ * Terminal::select_all:
  *
  * Selects all text within the terminal (including the scrollback buffer).
  */
 void
-VteTerminalPrivate::select_all()
+Terminal::select_all()
 {
        deselect_all();
 
@@ -6987,18 +6990,18 @@ VteTerminalPrivate::select_all()
 
 /* Autoscroll a bit. */
 static gboolean
-vte_terminal_autoscroll_cb(VteTerminalPrivate *that)
+vte_terminal_autoscroll_cb(vte::terminal::Terminal* that)
 {
         return that->autoscroll() ? G_SOURCE_CONTINUE : G_SOURCE_REMOVE;
 }
 
 /*
- * VteTerminalPrivate::autoscroll():
+ * Terminal::autoscroll():
  *
  * Returns: %true to continue autoscrolling, %false to stop
  */
 bool
-VteTerminalPrivate::autoscroll()
+Terminal::autoscroll()
 {
        bool extend = false;
        long x, y, xmax, ymax;
@@ -7050,7 +7053,7 @@ VteTerminalPrivate::autoscroll()
 
 /* Start autoscroll. */
 void
-VteTerminalPrivate::start_autoscroll()
+Terminal::start_autoscroll()
 {
        if (m_mouse_autoscroll_tag != 0)
                 return;
@@ -7065,7 +7068,7 @@ VteTerminalPrivate::start_autoscroll()
 
 /* Stop autoscroll. */
 void
-VteTerminalPrivate::stop_autoscroll()
+Terminal::stop_autoscroll()
 {
        if (m_mouse_autoscroll_tag == 0)
                 return;
@@ -7075,7 +7078,7 @@ VteTerminalPrivate::stop_autoscroll()
 }
 
 bool
-VteTerminalPrivate::widget_motion_notify(GdkEventMotion *event)
+Terminal::widget_motion_notify(GdkEventMotion *event)
 {
        bool handled = false;
 
@@ -7140,7 +7143,7 @@ VteTerminalPrivate::widget_motion_notify(GdkEventMotion *event)
 }
 
 bool
-VteTerminalPrivate::widget_button_press(GdkEventButton *event)
+Terminal::widget_button_press(GdkEventButton *event)
 {
        bool handled = false;
        gboolean start_selecting = FALSE, extend_selecting = FALSE;
@@ -7292,7 +7295,7 @@ VteTerminalPrivate::widget_button_press(GdkEventButton *event)
 }
 
 bool
-VteTerminalPrivate::widget_button_release(GdkEventButton *event)
+Terminal::widget_button_release(GdkEventButton *event)
 {
        bool handled = false;
 
@@ -7345,7 +7348,7 @@ VteTerminalPrivate::widget_button_release(GdkEventButton *event)
 }
 
 void
-VteTerminalPrivate::widget_focus_in(GdkEventFocus *event)
+Terminal::widget_focus_in(GdkEventFocus *event)
 {
        _vte_debug_print(VTE_DEBUG_EVENTS, "Focus in.\n");
 
@@ -7377,7 +7380,7 @@ VteTerminalPrivate::widget_focus_in(GdkEventFocus *event)
 }
 
 void
-VteTerminalPrivate::widget_focus_out(GdkEventFocus *event)
+Terminal::widget_focus_out(GdkEventFocus *event)
 {
        _vte_debug_print(VTE_DEBUG_EVENTS, "Focus out.\n");
 
@@ -7411,7 +7414,7 @@ VteTerminalPrivate::widget_focus_out(GdkEventFocus *event)
 }
 
 void
-VteTerminalPrivate::widget_enter(GdkEventCrossing *event)
+Terminal::widget_enter(GdkEventCrossing *event)
 {
         GdkEvent* base_event = reinterpret_cast<GdkEvent*>(event);
         auto pos = view_coords_from_event(base_event);
@@ -7428,7 +7431,7 @@ VteTerminalPrivate::widget_enter(GdkEventCrossing *event)
 }
 
 void
-VteTerminalPrivate::widget_leave(GdkEventCrossing *event)
+Terminal::widget_leave(GdkEventCrossing *event)
 {
         GdkEvent* base_event = reinterpret_cast<GdkEvent*>(event);
         auto pos = view_coords_from_event(base_event);
@@ -7467,7 +7470,7 @@ visibility_state_str(GdkVisibilityState state)
  * here. Similarly, increase cell_width_scale to get nonzero char_spacing.{left,right}.
  */
 void
-VteTerminalPrivate::apply_font_metrics(int cell_width,
+Terminal::apply_font_metrics(int cell_width,
                                        int cell_height,
                                        int char_ascent,
                                        int char_descent,
@@ -7537,7 +7540,7 @@ VteTerminalPrivate::apply_font_metrics(int cell_width,
 }
 
 void
-VteTerminalPrivate::ensure_font()
+Terminal::ensure_font()
 {
        if (m_draw != NULL) {
                /* Load default fonts, if no fonts have been loaded. */
@@ -7566,7 +7569,7 @@ VteTerminalPrivate::ensure_font()
 }
 
 void
-VteTerminalPrivate::update_font()
+Terminal::update_font()
 {
         /* We'll get called again later */
         if (m_unscaled_font_desc == nullptr)
@@ -7596,7 +7599,7 @@ VteTerminalPrivate::update_font()
 }
 
 /*
- * VteTerminalPrivate::set_font_desc:
+ * Terminal::set_font_desc:
  * @font_desc: (allow-none): a #PangoFontDescription for the desired font, or %nullptr
  *
  * Sets the font used for rendering all text displayed by the terminal,
@@ -7606,7 +7609,7 @@ VteTerminalPrivate::update_font()
  * and columns.  The font scale is applied to the specified font.
  */
 bool
-VteTerminalPrivate::set_font_desc(PangoFontDescription const* font_desc)
+Terminal::set_font_desc(PangoFontDescription const* font_desc)
 {
        /* Create an owned font description. */
         PangoFontDescription *desc;
@@ -7655,7 +7658,7 @@ VteTerminalPrivate::set_font_desc(PangoFontDescription const* font_desc)
 }
 
 bool
-VteTerminalPrivate::set_font_scale(gdouble scale)
+Terminal::set_font_scale(gdouble scale)
 {
         /* FIXME: compare old and new scale in pixel space */
         if (_vte_double_equal(scale, m_font_scale))
@@ -7668,7 +7671,7 @@ VteTerminalPrivate::set_font_scale(gdouble scale)
 }
 
 bool
-VteTerminalPrivate::set_cell_width_scale(double scale)
+Terminal::set_cell_width_scale(double scale)
 {
         /* FIXME: compare old and new scale in pixel space */
         if (_vte_double_equal(scale, m_cell_width_scale))
@@ -7685,7 +7688,7 @@ VteTerminalPrivate::set_cell_width_scale(double scale)
 }
 
 bool
-VteTerminalPrivate::set_cell_height_scale(double scale)
+Terminal::set_cell_height_scale(double scale)
 {
         /* FIXME: compare old and new scale in pixel space */
         if (_vte_double_equal(scale, m_cell_height_scale))
@@ -7703,7 +7706,7 @@ VteTerminalPrivate::set_cell_height_scale(double scale)
 
 /* Read and refresh our perception of the size of the PTY. */
 void
-VteTerminalPrivate::refresh_size()
+Terminal::refresh_size()
 {
         if (!m_pty)
                 return;
@@ -7726,7 +7729,7 @@ VteTerminalPrivate::refresh_size()
 
 /* Resize the given screen (normal or alternate) of the terminal. */
 void
-VteTerminalPrivate::screen_set_size(VteScreen *screen_,
+Terminal::screen_set_size(VteScreen *screen_,
                                     long old_columns,
                                     long old_rows,
                                     bool do_rewrap)
@@ -7862,7 +7865,7 @@ VteTerminalPrivate::screen_set_size(VteScreen *screen_,
 }
 
 void
-VteTerminalPrivate::set_size(long columns,
+Terminal::set_size(long columns,
                              long rows)
 {
        glong old_columns, old_rows;
@@ -7920,13 +7923,13 @@ VteTerminalPrivate::set_size(long columns,
 
 /* Redraw the widget. */
 static void
-vte_terminal_vadjustment_value_changed_cb(VteTerminalPrivate *that)
+vte_terminal_vadjustment_value_changed_cb(vte::terminal::Terminal* that)
 {
         that->vadjustment_value_changed();
 }
 
 void
-VteTerminalPrivate::vadjustment_value_changed()
+Terminal::vadjustment_value_changed()
 {
        /* Read the new adjustment value and save the difference. */
        double adj = gtk_adjustment_get_value(m_vadjustment);
@@ -7950,7 +7953,7 @@ VteTerminalPrivate::vadjustment_value_changed()
 }
 
 void
-VteTerminalPrivate::widget_set_hadjustment(GtkAdjustment *adjustment)
+Terminal::widget_set_hadjustment(GtkAdjustment *adjustment)
 {
   if (adjustment == m_hadjustment)
     return;
@@ -7962,7 +7965,7 @@ VteTerminalPrivate::widget_set_hadjustment(GtkAdjustment *adjustment)
 }
 
 void
-VteTerminalPrivate::widget_set_vadjustment(GtkAdjustment *adjustment)
+Terminal::widget_set_vadjustment(GtkAdjustment *adjustment)
 {
        if (adjustment != nullptr && adjustment == m_vadjustment)
                return;
@@ -7993,7 +7996,7 @@ VteTerminalPrivate::widget_set_vadjustment(GtkAdjustment *adjustment)
                                 this);
 }
 
-VteTerminalPrivate::VteTerminalPrivate(VteTerminal *t) :
+Terminal::Terminal(VteTerminal *t) :
         m_terminal(t),
         m_widget(&t->widget),
         m_row_count(VTE_ROWS),
@@ -8187,7 +8190,7 @@ VteTerminalPrivate::VteTerminalPrivate(VteTerminal *t) :
 }
 
 void
-VteTerminalPrivate::widget_constructed()
+Terminal::widget_constructed()
 {
         /* Set the style as early as possible, before GTK+ starts
          * invoking various callbacks. This is needed in order to
@@ -8197,7 +8200,7 @@ VteTerminalPrivate::widget_constructed()
 }
 
 void
-VteTerminalPrivate::widget_get_preferred_width(int *minimum_width,
+Terminal::widget_get_preferred_width(int *minimum_width,
                                                int *natural_width)
 {
        _vte_debug_print(VTE_DEBUG_LIFECYCLE, "vte_terminal_get_preferred_width()\n");
@@ -8224,7 +8227,7 @@ VteTerminalPrivate::widget_get_preferred_width(int *minimum_width,
 }
 
 void
-VteTerminalPrivate::widget_get_preferred_height(int *minimum_height,
+Terminal::widget_get_preferred_height(int *minimum_height,
                                                 int *natural_height)
 {
        _vte_debug_print(VTE_DEBUG_LIFECYCLE, "vte_terminal_get_preferred_height()\n");
@@ -8251,7 +8254,7 @@ VteTerminalPrivate::widget_get_preferred_height(int *minimum_height,
 }
 
 void
-VteTerminalPrivate::widget_size_allocate(GtkAllocation *allocation)
+Terminal::widget_size_allocate(GtkAllocation *allocation)
 {
        glong width, height;
        gboolean repaint, update_scrollback;
@@ -8310,7 +8313,7 @@ VteTerminalPrivate::widget_size_allocate(GtkAllocation *allocation)
 }
 
 void
-VteTerminalPrivate::widget_unrealize()
+Terminal::widget_unrealize()
 {
        _vte_debug_print(VTE_DEBUG_LIFECYCLE, "vte_terminal_unrealize()\n");
 
@@ -8384,13 +8387,13 @@ VteTerminalPrivate::widget_unrealize()
 static void
 vte_terminal_settings_notify_cb (GtkSettings *settings,
                                  GParamSpec *pspec,
-                                 VteTerminalPrivate *that)
+                                 vte::terminal::Terminal* that)
 {
         that->widget_settings_notify();
 }
 
 void
-VteTerminalPrivate::widget_settings_notify()
+Terminal::widget_settings_notify()
 {
         gboolean blink;
         int blink_time = 1000;
@@ -8423,7 +8426,7 @@ VteTerminalPrivate::widget_settings_notify()
 }
 
 void
-VteTerminalPrivate::widget_screen_changed (GdkScreen *previous_screen)
+Terminal::widget_screen_changed (GdkScreen *previous_screen)
 {
         GtkSettings *settings;
 
@@ -8450,7 +8453,7 @@ VteTerminalPrivate::widget_screen_changed (GdkScreen *previous_screen)
                           G_CALLBACK (vte_terminal_settings_notify_cb), this);
 }
 
-VteTerminalPrivate::~VteTerminalPrivate()
+Terminal::~Terminal()
 {
        struct vte_match_regex *regex;
        int sel;
@@ -8584,7 +8587,7 @@ VteTerminalPrivate::~VteTerminalPrivate()
 }
 
 void
-VteTerminalPrivate::widget_realize()
+Terminal::widget_realize()
 {
        _vte_debug_print(VTE_DEBUG_LIFECYCLE, "vte_terminal_realize()\n");
 
@@ -8672,14 +8675,14 @@ VteTerminalPrivate::widget_realize()
 }
 
 void
-VteTerminalPrivate::widget_map()
+Terminal::widget_map()
 {
         if (m_event_window)
                 gdk_window_show_unraised(m_event_window);
 }
 
 void
-VteTerminalPrivate::widget_unmap()
+Terminal::widget_unmap()
 {
         if (m_event_window)
                 gdk_window_hide(m_event_window);
@@ -8694,7 +8697,7 @@ swap (guint *a, guint *b)
 
 // FIXMEchpe probably @attr should be passed by ref
 void
-VteTerminalPrivate::determine_colors(VteCellAttr const* attr,
+Terminal::determine_colors(VteCellAttr const* attr,
                                      bool is_selected,
                                      bool is_cursor,
                                      guint *pfore,
@@ -8786,7 +8789,7 @@ VteTerminalPrivate::determine_colors(VteCellAttr const* attr,
 }
 
 void
-VteTerminalPrivate::determine_colors(VteCell const* cell,
+Terminal::determine_colors(VteCell const* cell,
                                      bool highlight,
                                      guint *fore,
                                      guint *back,
@@ -8798,7 +8801,7 @@ VteTerminalPrivate::determine_colors(VteCell const* cell,
 }
 
 void
-VteTerminalPrivate::determine_cursor_colors(VteCell const* cell,
+Terminal::determine_cursor_colors(VteCell const* cell,
                                             bool highlight,
                                             guint *fore,
                                             guint *back,
@@ -8810,7 +8813,7 @@ VteTerminalPrivate::determine_cursor_colors(VteCell const* cell,
 }
 
 static gboolean
-invalidate_text_blink_cb(VteTerminalPrivate *that)
+invalidate_text_blink_cb(vte::terminal::Terminal* that)
 {
         that->m_text_blink_tag = 0;
         that->invalidate_all();
@@ -8819,7 +8822,7 @@ invalidate_text_blink_cb(VteTerminalPrivate *that)
 
 /* Draw a string of characters with similar attributes. */
 void
-VteTerminalPrivate::draw_cells(struct _vte_draw_text_request *items,
+Terminal::draw_cells(struct _vte_draw_text_request *items,
                                gssize n,
                                uint32_t fore,
                                uint32_t back,
@@ -9005,7 +9008,7 @@ VteTerminalPrivate::draw_cells(struct _vte_draw_text_request *items,
  * fix things.  Do this here, so that if we suddenly get red-on-black, we'll do
  * the right thing. */
 void
-VteTerminalPrivate::fudge_pango_colors(GSList *attributes,
+Terminal::fudge_pango_colors(GSList *attributes,
                                        VteCell *cells,
                                        gsize n)
 {
@@ -9076,7 +9079,7 @@ VteTerminalPrivate::fudge_pango_colors(GSList *attributes,
 
 /* Apply the attribute given in the PangoAttribute to the list of cells. */
 void
-VteTerminalPrivate::apply_pango_attr(PangoAttribute *attr,
+Terminal::apply_pango_attr(PangoAttribute *attr,
                                      VteCell *cells,
                                      gsize n_cells)
 {
@@ -9180,7 +9183,7 @@ VteTerminalPrivate::apply_pango_attr(PangoAttribute *attr,
  * typically means that the cell array should have the same length as the
  * string (byte-wise) which the attributes describe. */
 void
-VteTerminalPrivate::translate_pango_cells(PangoAttrList *attrs,
+Terminal::translate_pango_cells(PangoAttrList *attrs,
                                           VteCell *cells,
                                           gsize n_cells)
 {
@@ -9225,7 +9228,7 @@ VteTerminalPrivate::translate_pango_cells(PangoAttrList *attrs,
  * attribute string is indexed by byte in the UTF-8 representation of the string
  * of characters.  Because we draw a character at a time, this is slower. */
 void
-VteTerminalPrivate::draw_cells_with_attributes(struct _vte_draw_text_request *items,
+Terminal::draw_cells_with_attributes(struct _vte_draw_text_request *items,
                                                gssize n,
                                                PangoAttrList *attrs,
                                                bool draw_default_bg,
@@ -9268,7 +9271,7 @@ VteTerminalPrivate::draw_cells_with_attributes(struct _vte_draw_text_request *it
  * of multiple-draw APIs by finding runs of characters with identical
  * attributes and bundling them together. */
 void
-VteTerminalPrivate::draw_rows(VteScreen *screen_,
+Terminal::draw_rows(VteScreen *screen_,
                               vte::grid::row_t start_row,
                               vte::grid::row_t end_row,
                               vte::grid::column_t start_column,
@@ -9570,7 +9573,7 @@ fg_out:
 }
 
 void
-VteTerminalPrivate::expand_rectangle(cairo_rectangle_int_t& rect) const
+Terminal::expand_rectangle(cairo_rectangle_int_t& rect) const
 {
        /* increase the paint by one pixel on all sides to force the
         * inclusion of neighbouring cells */
@@ -9604,7 +9607,7 @@ VteTerminalPrivate::expand_rectangle(cairo_rectangle_int_t& rect) const
 }
 
 void
-VteTerminalPrivate::paint_area(GdkRectangle const* area)
+Terminal::paint_area(GdkRectangle const* area)
 {
         vte::grid::row_t row, row_stop;
         vte::grid::column_t col, col_stop;
@@ -9648,7 +9651,7 @@ VteTerminalPrivate::paint_area(GdkRectangle const* area)
 }
 
 void
-VteTerminalPrivate::paint_cursor()
+Terminal::paint_cursor()
 {
        struct _vte_draw_text_request item;
         vte::grid::row_t drow;
@@ -9804,7 +9807,7 @@ VteTerminalPrivate::paint_cursor()
 }
 
 void
-VteTerminalPrivate::paint_im_preedit_string()
+Terminal::paint_im_preedit_string()
 {
        int col, columns;
        long width, height;
@@ -9879,7 +9882,7 @@ VteTerminalPrivate::paint_im_preedit_string()
 }
 
 void
-VteTerminalPrivate::widget_draw(cairo_t *cr)
+Terminal::widget_draw(cairo_t *cr)
 {
         cairo_rectangle_int_t clip_rect;
         cairo_region_t *region;
@@ -10051,7 +10054,7 @@ vte_cairo_get_clip_region (cairo_t *cr)
 }
 
 void
-VteTerminalPrivate::widget_scroll(GdkEventScroll *event)
+Terminal::widget_scroll(GdkEventScroll *event)
 {
        gdouble delta_x, delta_y;
        gdouble v;
@@ -10149,7 +10152,7 @@ VteTerminalPrivate::widget_scroll(GdkEventScroll *event)
 }
 
 bool
-VteTerminalPrivate::set_audible_bell(bool setting)
+Terminal::set_audible_bell(bool setting)
 {
         if (setting == m_audible_bell)
                 return false;
@@ -10159,7 +10162,7 @@ VteTerminalPrivate::set_audible_bell(bool setting)
 }
 
 bool
-VteTerminalPrivate::set_text_blink_mode(VteTextBlinkMode setting)
+Terminal::set_text_blink_mode(VteTextBlinkMode setting)
 {
         if (setting == m_text_blink_mode)
                 return false;
@@ -10171,7 +10174,7 @@ VteTerminalPrivate::set_text_blink_mode(VteTextBlinkMode setting)
 }
 
 bool
-VteTerminalPrivate::set_allow_bold(bool setting)
+Terminal::set_allow_bold(bool setting)
 {
         if (setting == m_allow_bold)
                 return false;
@@ -10183,7 +10186,7 @@ VteTerminalPrivate::set_allow_bold(bool setting)
 }
 
 bool
-VteTerminalPrivate::set_bold_is_bright(bool setting)
+Terminal::set_bold_is_bright(bool setting)
 {
         if (setting == m_bold_is_bright)
                 return false;
@@ -10195,7 +10198,7 @@ VteTerminalPrivate::set_bold_is_bright(bool setting)
 }
 
 bool
-VteTerminalPrivate::set_allow_hyperlink(bool setting)
+Terminal::set_allow_hyperlink(bool setting)
 {
         if (setting == m_allow_hyperlink)
                 return false;
@@ -10216,7 +10219,7 @@ VteTerminalPrivate::set_allow_hyperlink(bool setting)
 }
 
 bool
-VteTerminalPrivate::set_scroll_on_output(bool scroll)
+Terminal::set_scroll_on_output(bool scroll)
 {
         if (scroll == m_scroll_on_output)
                 return false;
@@ -10226,7 +10229,7 @@ VteTerminalPrivate::set_scroll_on_output(bool scroll)
 }
 
 bool
-VteTerminalPrivate::set_scroll_on_keystroke(bool scroll)
+Terminal::set_scroll_on_keystroke(bool scroll)
 {
         if (scroll == m_scroll_on_keystroke)
                 return false;
@@ -10236,7 +10239,7 @@ VteTerminalPrivate::set_scroll_on_keystroke(bool scroll)
 }
 
 bool
-VteTerminalPrivate::set_rewrap_on_resize(bool rewrap)
+Terminal::set_rewrap_on_resize(bool rewrap)
 {
         if (rewrap == m_rewrap_on_resize)
                 return false;
@@ -10246,7 +10249,7 @@ VteTerminalPrivate::set_rewrap_on_resize(bool rewrap)
 }
 
 void
-VteTerminalPrivate::update_cursor_blinks()
+Terminal::update_cursor_blinks()
 {
         bool blink = false;
 
@@ -10274,7 +10277,7 @@ VteTerminalPrivate::update_cursor_blinks()
 }
 
 bool
-VteTerminalPrivate::set_cursor_blink_mode(VteCursorBlinkMode mode)
+Terminal::set_cursor_blink_mode(VteCursorBlinkMode mode)
 {
         if (mode == m_cursor_blink_mode)
                 return false;
@@ -10286,7 +10289,7 @@ VteTerminalPrivate::set_cursor_blink_mode(VteCursorBlinkMode mode)
 }
 
 bool
-VteTerminalPrivate::set_cursor_shape(VteCursorShape shape)
+Terminal::set_cursor_shape(VteCursorShape shape)
 {
         if (shape == m_cursor_shape)
                 return false;
@@ -10299,7 +10302,7 @@ VteTerminalPrivate::set_cursor_shape(VteCursorShape shape)
 
 /* DECSCUSR set cursor style */
 bool
-VteTerminalPrivate::set_cursor_style(VteCursorStyle style)
+Terminal::set_cursor_style(VteCursorStyle style)
 {
         if (m_cursor_style == style)
                 return false;
@@ -10313,7 +10316,7 @@ VteTerminalPrivate::set_cursor_style(VteCursorStyle style)
 }
 
 /*
- * VteTerminalPrivate::decscusr_cursor_blink:
+ * Terminal::decscusr_cursor_blink:
  *
  * Returns the cursor blink mode set by DECSCUSR. If DECSCUSR was never
  * called, or it set the blink mode to terminal default, this returns the
@@ -10322,7 +10325,7 @@ VteTerminalPrivate::set_cursor_style(VteCursorStyle style)
  * Return value: cursor blink mode
  */
 VteCursorBlinkMode
-VteTerminalPrivate::decscusr_cursor_blink()
+Terminal::decscusr_cursor_blink()
 {
         switch (m_cursor_style) {
         default:
@@ -10340,7 +10343,7 @@ VteTerminalPrivate::decscusr_cursor_blink()
 }
 
 /*
- * VteTerminalPrivate::decscusr_cursor_shape:
+ * Terminal::decscusr_cursor_shape:
  * @terminal: a #VteTerminal
  *
  * Returns the cursor shape set by DECSCUSR. If DECSCUSR was never called,
@@ -10350,7 +10353,7 @@ VteTerminalPrivate::decscusr_cursor_blink()
  * Return value: cursor shape
  */
 VteCursorShape
-VteTerminalPrivate::decscusr_cursor_shape()
+Terminal::decscusr_cursor_shape()
 {
         switch (m_cursor_style) {
         default:
@@ -10369,7 +10372,7 @@ VteTerminalPrivate::decscusr_cursor_shape()
 }
 
 bool
-VteTerminalPrivate::set_scrollback_lines(long lines)
+Terminal::set_scrollback_lines(long lines)
 {
         glong low, high, next;
         double scroll_delta;
@@ -10425,7 +10428,7 @@ VteTerminalPrivate::set_scrollback_lines(long lines)
 }
 
 bool
-VteTerminalPrivate::set_backspace_binding(VteEraseBinding binding)
+Terminal::set_backspace_binding(VteEraseBinding binding)
 {
         if (binding == m_backspace_binding)
                 return false;
@@ -10435,7 +10438,7 @@ VteTerminalPrivate::set_backspace_binding(VteEraseBinding binding)
 }
 
 bool
-VteTerminalPrivate::set_delete_binding(VteEraseBinding binding)
+Terminal::set_delete_binding(VteEraseBinding binding)
 {
         if (binding == m_delete_binding)
                 return false;
@@ -10445,7 +10448,7 @@ VteTerminalPrivate::set_delete_binding(VteEraseBinding binding)
 }
 
 bool
-VteTerminalPrivate::set_mouse_autohide(bool autohide)
+Terminal::set_mouse_autohide(bool autohide)
 {
         if (autohide == m_mouse_autohide)
                 return false;
@@ -10461,7 +10464,7 @@ VteTerminalPrivate::set_mouse_autohide(bool autohide)
 }
 
 /*
- * VteTerminalPrivate::reset:
+ * Terminal::reset:
  * @clear_tabstops: whether to reset tabstops
  * @clear_history: whether to empty the terminal's scrollback buffer
  *
@@ -10472,7 +10475,7 @@ VteTerminalPrivate::set_mouse_autohide(bool autohide)
  *
  */
 void
-VteTerminalPrivate::reset(bool clear_tabstops,
+Terminal::reset(bool clear_tabstops,
                           bool clear_history,
                           bool from_api)
 {
@@ -10586,7 +10589,7 @@ VteTerminalPrivate::reset(bool clear_tabstops,
 }
 
 bool
-VteTerminalPrivate::set_pty(VtePty *new_pty)
+Terminal::set_pty(VtePty *new_pty)
 {
         if (new_pty == m_pty)
                 return false;
@@ -10653,13 +10656,13 @@ VteTerminalPrivate::set_pty(VtePty *new_pty)
 /* We need this bit of glue to ensure that accessible objects will always
  * get signals. */
 void
-VteTerminalPrivate::subscribe_accessible_events()
+Terminal::subscribe_accessible_events()
 {
        m_accessible_emit = true;
 }
 
 void
-VteTerminalPrivate::select_text(vte::grid::column_t start_col,
+Terminal::select_text(vte::grid::column_t start_col,
                                 vte::grid::row_t start_row,
                                 vte::grid::column_t end_col,
                                 vte::grid::row_t end_row)
@@ -10682,7 +10685,7 @@ VteTerminalPrivate::select_text(vte::grid::column_t start_col,
 }
 
 void
-VteTerminalPrivate::select_empty(vte::grid::column_t col,
+Terminal::select_empty(vte::grid::column_t col,
                                  vte::grid::row_t row)
 {
         select_text(col, row, col - 1, row);
@@ -10700,7 +10703,7 @@ remove_process_timeout_source(void)
 }
 
 static void
-add_update_timeout(VteTerminalPrivate *that)
+add_update_timeout(vte::terminal::Terminal* that)
 {
        if (update_timeout_tag == 0) {
                _vte_debug_print (VTE_DEBUG_TIMEOUT,
@@ -10723,14 +10726,14 @@ add_update_timeout(VteTerminalPrivate *that)
 }
 
 void
-VteTerminalPrivate::reset_update_rects()
+Terminal::reset_update_rects()
 {
         g_array_set_size(m_update_rects, 0);
        m_invalidated_all = FALSE;
 }
 
 static bool
-remove_from_active_list(VteTerminalPrivate *that)
+remove_from_active_list(vte::terminal::Terminal* that)
 {
        if (that->m_active_terminals_link == nullptr ||
             that->m_update_rects->len != 0)
@@ -10743,7 +10746,7 @@ remove_from_active_list(VteTerminalPrivate *that)
 }
 
 static void
-stop_processing(VteTerminalPrivate *that)
+stop_processing(vte::terminal::Terminal* that)
 {
         if (!remove_from_active_list(that))
                 return;
@@ -10763,14 +10766,14 @@ stop_processing(VteTerminalPrivate *that)
 }
 
 static void
-remove_update_timeout(VteTerminalPrivate *that)
+remove_update_timeout(vte::terminal::Terminal* that)
 {
        that->reset_update_rects();
         stop_processing(that);
 }
 
 static void
-add_process_timeout(VteTerminalPrivate *that)
+add_process_timeout(vte::terminal::Terminal* that)
 {
        _vte_debug_print(VTE_DEBUG_TIMEOUT,
                        "Adding terminal to active list\n");
@@ -10787,14 +10790,14 @@ add_process_timeout(VteTerminalPrivate *that)
 }
 
 void
-VteTerminalPrivate::start_processing()
+Terminal::start_processing()
 {
        if (!is_processing())
                add_process_timeout(this);
 }
 
 void
-VteTerminalPrivate::emit_pending_signals()
+Terminal::emit_pending_signals()
 {
        GObject *object = G_OBJECT(m_terminal);
         g_object_freeze_notify(object);
@@ -10898,7 +10901,7 @@ VteTerminalPrivate::emit_pending_signals()
 }
 
 void
-VteTerminalPrivate::time_process_incoming()
+Terminal::time_process_incoming()
 {
        g_timer_reset(process_timer);
        process_incoming();
@@ -10908,7 +10911,7 @@ VteTerminalPrivate::time_process_incoming()
 }
 
 bool
-VteTerminalPrivate::process(bool emit_adj_changed)
+Terminal::process(bool emit_adj_changed)
 {
         if (m_pty_channel) {
                 if (m_pty_input_active ||
@@ -10956,7 +10959,7 @@ process_timeout (gpointer data)
                           g_list_length(g_active_terminals));
 
        for (l = g_active_terminals; l != NULL; l = next) {
-               VteTerminalPrivate *that = reinterpret_cast<VteTerminalPrivate*>(l->data);
+               auto that = reinterpret_cast<vte::terminal::Terminal*>(l->data);
                bool active;
 
                next = l->next;
@@ -11004,7 +11007,7 @@ process_timeout (gpointer data)
 }
 
 bool
-VteTerminalPrivate::invalidate_dirty_rects_and_process_updates()
+Terminal::invalidate_dirty_rects_and_process_updates()
 {
         if (G_UNLIKELY(!widget_realized()))
                 return false;
@@ -11051,7 +11054,7 @@ update_repeat_timeout (gpointer data)
                           g_list_length(g_active_terminals));
 
        for (l = g_active_terminals; l != NULL; l = next) {
-               VteTerminalPrivate *that = reinterpret_cast<VteTerminalPrivate*>(l->data);
+               auto that = reinterpret_cast<vte::terminal::Terminal*>(l->data);
 
                 next = l->next;
 
@@ -11126,7 +11129,7 @@ update_timeout (gpointer data)
         remove_process_timeout_source();
 
        for (l = g_active_terminals; l != NULL; l = next) {
-               VteTerminalPrivate *that = reinterpret_cast<VteTerminalPrivate*>(l->data);
+               auto that = reinterpret_cast<vte::terminal::Terminal*>(l->data);
 
                 next = l->next;
 
@@ -11158,7 +11161,7 @@ update_timeout (gpointer data)
 }
 
 bool
-VteTerminalPrivate::write_contents_sync (GOutputStream *stream,
+Terminal::write_contents_sync (GOutputStream *stream,
                                          VteWriteFlags flags,
                                          GCancellable *cancellable,
                                          GError **error)
@@ -11175,14 +11178,14 @@ VteTerminalPrivate::write_contents_sync (GOutputStream *stream,
 /* TODO Add properties & signals */
 
 /*
- * VteTerminalPrivate::search_set_regex:
+ * Terminal::search_set_regex:
  * @regex: (allow-none): a #VteRegex, or %nullptr
  * @flags: PCRE2 match flags, or 0
  *
  * Sets the regex to search for. Unsets the search regex when passed %nullptr.
  */
 bool
-VteTerminalPrivate::search_set_regex (VteRegex *regex,
+Terminal::search_set_regex (VteRegex *regex,
                                       guint32 flags)
 {
         struct vte_regex_and_flags *rx;
@@ -11206,7 +11209,7 @@ VteTerminalPrivate::search_set_regex (VteRegex *regex,
 }
 
 bool
-VteTerminalPrivate::search_set_wrap_around(bool wrap)
+Terminal::search_set_wrap_around(bool wrap)
 {
         if (wrap == m_search_wrap_around)
                 return false;
@@ -11216,7 +11219,7 @@ VteTerminalPrivate::search_set_wrap_around(bool wrap)
 }
 
 bool
-VteTerminalPrivate::search_rows(pcre2_match_context_8 *match_context,
+Terminal::search_rows(pcre2_match_context_8 *match_context,
                                 pcre2_match_data_8 *match_data,
                                 vte::grid::row_t start_row,
                                 vte::grid::row_t end_row,
@@ -11312,7 +11315,7 @@ VteTerminalPrivate::search_rows(pcre2_match_context_8 *match_context,
 }
 
 bool
-VteTerminalPrivate::search_rows_iter(pcre2_match_context_8 *match_context,
+Terminal::search_rows_iter(pcre2_match_context_8 *match_context,
                                      pcre2_match_data_8 *match_data,
                                      vte::grid::row_t start_row,
                                      vte::grid::row_t end_row,
@@ -11355,7 +11358,7 @@ VteTerminalPrivate::search_rows_iter(pcre2_match_context_8 *match_context,
 }
 
 bool
-VteTerminalPrivate::search_find (bool backward)
+Terminal::search_find (bool backward)
 {
         vte::grid::row_t buffer_start_row, buffer_end_row;
         vte::grid::row_t last_start_row, last_end_row;
@@ -11428,7 +11431,7 @@ VteTerminalPrivate::search_find (bool backward)
 }
 
 /*
- * VteTerminalPrivate::set_input_enabled:
+ * Terminal::set_input_enabled:
  * @enabled: whether to enable user input
  *
  * Enables or disables user input. When user input is disabled,
@@ -11438,7 +11441,7 @@ VteTerminalPrivate::search_find (bool backward)
  * Returns: %true iff the setting changed
  */
 bool
-VteTerminalPrivate::set_input_enabled (bool enabled)
+Terminal::set_input_enabled (bool enabled)
 {
         if (enabled == m_input_enabled)
                 return false;
@@ -11469,7 +11472,7 @@ VteTerminalPrivate::set_input_enabled (bool enabled)
 }
 
 bool
-VteTerminalPrivate::process_word_char_exceptions(char const *str,
+Terminal::process_word_char_exceptions(char const *str,
                                                  std::u32string& array) const noexcept
 {
         if (str == nullptr)
@@ -11526,7 +11529,7 @@ VteTerminalPrivate::process_word_char_exceptions(char const *str,
 }
 
 /*
- * VteTerminalPrivate::set_word_char_exceptions:
+ * Terminal::set_word_char_exceptions:
  * @exceptions: a string of ASCII punctuation characters, or %nullptr
  *
  * With this function you can provide a set of characters which will
@@ -11543,7 +11546,7 @@ VteTerminalPrivate::process_word_char_exceptions(char const *str,
  * Returns: %true if the word char exceptions changed
  */
 bool
-VteTerminalPrivate::set_word_char_exceptions(char const* exceptions)
+Terminal::set_word_char_exceptions(char const* exceptions)
 {
         if (g_strcmp0(exceptions, m_word_char_exceptions_string.data()) == 0)
                 return false;
@@ -11559,7 +11562,7 @@ VteTerminalPrivate::set_word_char_exceptions(char const* exceptions)
 }
 
 void
-VteTerminalPrivate::set_clear_background(bool setting)
+Terminal::set_clear_background(bool setting)
 {
         if (m_clear_background == setting)
                 return;
@@ -11567,3 +11570,6 @@ VteTerminalPrivate::set_clear_background(bool setting)
         m_clear_background = setting;
         invalidate_all();
 }
+
+} // namespace terminal
+} // namespace vte
diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
index 04c8b189..89539cc4 100644
--- a/src/vte/vteterminal.h
+++ b/src/vte/vteterminal.h
@@ -53,7 +53,7 @@ typedef struct _VteCharAttributes       VteCharAttributes;
 struct _VteTerminal {
        GtkWidget widget;
         /*< private >*/
-       gpointer *_unused_padding[1];
+       gpointer *_unused_padding[1]; /* FIXMEchpe: remove this field on the next ABI break */
 };
 
 /**
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index 46119c47..613eb5f9 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -69,6 +69,8 @@ struct _VteTerminalClassPrivate {
         GtkStyleProvider *style_provider;
 };
 
+typedef vte::terminal::Terminal VteTerminalPrivate;
+
 #ifdef VTE_DEBUG
 G_DEFINE_TYPE_WITH_CODE(VteTerminal, vte_terminal, GTK_TYPE_WIDGET,
                         G_ADD_PRIVATE(VteTerminal)
@@ -84,7 +86,7 @@ G_DEFINE_TYPE_WITH_CODE(VteTerminal, vte_terminal, GTK_TYPE_WIDGET,
                         G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, NULL))
 #endif
 
-#define IMPL(t) (reinterpret_cast<VteTerminalPrivate*>(vte_terminal_get_instance_private(t)))
+#define IMPL(t) (reinterpret_cast<vte::terminal::Terminal*>(vte_terminal_get_instance_private(t)))
 
 guint signals[LAST_SIGNAL];
 GParamSpec *pspecs[LAST_PROP];
@@ -100,7 +102,7 @@ valid_color(GdkRGBA const* color)
                color->alpha >= 0. && color->alpha <= 1.;
 }
 
-VteTerminalPrivate *_vte_terminal_get_impl(VteTerminal *terminal)
+vte::terminal::Terminal* _vte_terminal_get_impl(VteTerminal *terminal)
 {
         return IMPL(terminal);
 }
@@ -378,7 +380,7 @@ vte_terminal_init(VteTerminal *terminal)
 
        /* Initialize private data. NOTE: place is zeroed */
        place = vte_terminal_get_instance_private(terminal);
-        new (place) VteTerminalPrivate(terminal);
+        new (place) vte::terminal::Terminal(terminal);
 
         gtk_widget_set_has_window(&terminal->widget, FALSE);
 }
@@ -388,7 +390,7 @@ vte_terminal_finalize(GObject *object)
 {
        VteTerminal *terminal = VTE_TERMINAL (object);
 
-        IMPL(terminal)->~VteTerminalPrivate();
+        IMPL(terminal)->~Terminal();
 
        /* Call the inherited finalize() method. */
        G_OBJECT_CLASS(vte_terminal_parent_class)->finalize(object);
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index 22d4987e..306c1848 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -22,6 +22,7 @@
 
 #include "vtedefines.hh"
 #include "vtetypes.hh"
+#include "vtedraw.hh"
 #include "reaper.hh"
 #include "ring.hh"
 #include "buffer.h"
@@ -323,11 +324,13 @@ private:
         Request *m_request;
 };
 
-/* Terminal private data. */
-class VteTerminalPrivate {
+namespace vte {
+namespace terminal {
+
+class Terminal {
 public:
-        VteTerminalPrivate(VteTerminal *t);
-        ~VteTerminalPrivate();
+        Terminal(VteTerminal *t);
+        ~Terminal();
 
 public:
         VteTerminal *m_terminal;
@@ -434,7 +437,7 @@ public:
         GString *m_selection[LAST_VTE_SELECTION];
         GtkClipboard *m_clipboard[LAST_VTE_SELECTION];
 
-        ClipboardTextRequestGtk<VteTerminalPrivate> m_paste_request;
+        ClipboardTextRequestGtk<Terminal> m_paste_request;
 
        /* Miscellaneous options. */
         VteEraseBinding m_backspace_binding;
@@ -1354,9 +1357,12 @@ public:
 #undef _VTE_NOP
 };
 
+} // namespace terminal
+} // namespace vte
+
 extern GTimer *process_timer;
 
-VteTerminalPrivate *_vte_terminal_get_impl(VteTerminal *terminal);
+vte::terminal::Terminal* _vte_terminal_get_impl(VteTerminal *terminal);
 
 static inline bool
 _vte_double_equal(double a,
diff --git a/src/vteseq.cc b/src/vteseq.cc
index 98f71b87..88ec4777 100644
--- a/src/vteseq.cc
+++ b/src/vteseq.cc
@@ -164,9 +164,12 @@ vte::parser::Sequence::ucs4_to_utf8(gunichar const* str,
         return result;
 }
 
+namespace vte {
+namespace terminal {
+
 /* Emit a "bell" signal. */
 void
-VteTerminalPrivate::emit_bell()
+Terminal::emit_bell()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `bell'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_BELL], 0);
@@ -174,7 +177,7 @@ VteTerminalPrivate::emit_bell()
 
 /* Emit a "deiconify-window" signal. */
 void
-VteTerminalPrivate::emit_deiconify_window()
+Terminal::emit_deiconify_window()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `deiconify-window'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_DEICONIFY_WINDOW], 0);
@@ -182,7 +185,7 @@ VteTerminalPrivate::emit_deiconify_window()
 
 /* Emit a "iconify-window" signal. */
 void
-VteTerminalPrivate::emit_iconify_window()
+Terminal::emit_iconify_window()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `iconify-window'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_ICONIFY_WINDOW], 0);
@@ -190,7 +193,7 @@ VteTerminalPrivate::emit_iconify_window()
 
 /* Emit a "raise-window" signal. */
 void
-VteTerminalPrivate::emit_raise_window()
+Terminal::emit_raise_window()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `raise-window'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_RAISE_WINDOW], 0);
@@ -198,7 +201,7 @@ VteTerminalPrivate::emit_raise_window()
 
 /* Emit a "lower-window" signal. */
 void
-VteTerminalPrivate::emit_lower_window()
+Terminal::emit_lower_window()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `lower-window'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_LOWER_WINDOW], 0);
@@ -206,7 +209,7 @@ VteTerminalPrivate::emit_lower_window()
 
 /* Emit a "maximize-window" signal. */
 void
-VteTerminalPrivate::emit_maximize_window()
+Terminal::emit_maximize_window()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `maximize-window'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_MAXIMIZE_WINDOW], 0);
@@ -214,7 +217,7 @@ VteTerminalPrivate::emit_maximize_window()
 
 /* Emit a "refresh-window" signal. */
 void
-VteTerminalPrivate::emit_refresh_window()
+Terminal::emit_refresh_window()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `refresh-window'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_REFRESH_WINDOW], 0);
@@ -222,7 +225,7 @@ VteTerminalPrivate::emit_refresh_window()
 
 /* Emit a "restore-window" signal. */
 void
-VteTerminalPrivate::emit_restore_window()
+Terminal::emit_restore_window()
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `restore-window'.\n");
         g_signal_emit(m_terminal, signals[SIGNAL_RESTORE_WINDOW], 0);
@@ -230,7 +233,7 @@ VteTerminalPrivate::emit_restore_window()
 
 /* Emit a "move-window" signal.  (Pixels.) */
 void
-VteTerminalPrivate::emit_move_window(guint x,
+Terminal::emit_move_window(guint x,
                                      guint y)
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `move-window'.\n");
@@ -239,7 +242,7 @@ VteTerminalPrivate::emit_move_window(guint x,
 
 /* Emit a "resize-window" signal.  (Grid size.) */
 void
-VteTerminalPrivate::emit_resize_window(guint columns,
+Terminal::emit_resize_window(guint columns,
                                        guint rows)
 {
         _vte_debug_print(VTE_DEBUG_SIGNALS, "Emitting `resize-window'.\n");
@@ -264,20 +267,20 @@ VteTerminalPrivate::emit_resize_window(guint columns,
  * sequences that disable the special cased mode in xterm).  (Bug 731155.)
  */
 void
-VteTerminalPrivate::ensure_cursor_is_onscreen()
+Terminal::ensure_cursor_is_onscreen()
 {
         if (G_UNLIKELY (m_screen->cursor.col >= m_column_count))
                 m_screen->cursor.col = m_column_count - 1;
 }
 
 void
-VteTerminalPrivate::home_cursor()
+Terminal::home_cursor()
 {
         set_cursor_coords(0, 0);
 }
 
 void
-VteTerminalPrivate::clear_screen()
+Terminal::clear_screen()
 {
         auto row = m_screen->cursor.row - m_screen->insert_delta;
         auto initial = _vte_ring_next(m_screen->row_data);
@@ -297,7 +300,7 @@ VteTerminalPrivate::clear_screen()
 
 /* Clear the current line. */
 void
-VteTerminalPrivate::clear_current_line()
+Terminal::clear_current_line()
 {
        VteRowData *rowdata;
 
@@ -323,7 +326,7 @@ VteTerminalPrivate::clear_current_line()
 
 /* Clear above the current line. */
 void
-VteTerminalPrivate::clear_above_current()
+Terminal::clear_above_current()
 {
        /* If the cursor is actually on the screen, clear data in the row
         * which corresponds to the cursor. */
@@ -347,7 +350,7 @@ VteTerminalPrivate::clear_above_current()
 
 /* Scroll the text, but don't move the cursor.  Negative = up, positive = down. */
 void
-VteTerminalPrivate::scroll_text(vte::grid::row_t scroll_amount)
+Terminal::scroll_text(vte::grid::row_t scroll_amount)
 {
         vte::grid::row_t start, end;
         if (m_scrolling_restricted) {
@@ -385,27 +388,27 @@ VteTerminalPrivate::scroll_text(vte::grid::row_t scroll_amount)
 }
 
 void
-VteTerminalPrivate::restore_cursor()
+Terminal::restore_cursor()
 {
         restore_cursor(m_screen);
         ensure_cursor_is_onscreen();
 }
 
 void
-VteTerminalPrivate::save_cursor()
+Terminal::save_cursor()
 {
         save_cursor(m_screen);
 }
 
 /* Switch to normal screen. */
 void
-VteTerminalPrivate::switch_normal_screen()
+Terminal::switch_normal_screen()
 {
         switch_screen(&m_normal_screen);
 }
 
 void
-VteTerminalPrivate::switch_screen(VteScreen *new_screen)
+Terminal::switch_screen(VteScreen *new_screen)
 {
         /* if (new_screen == m_screen) return; ? */
 
@@ -431,13 +434,13 @@ VteTerminalPrivate::switch_screen(VteScreen *new_screen)
 
 /* Switch to alternate screen. */
 void
-VteTerminalPrivate::switch_alternate_screen()
+Terminal::switch_alternate_screen()
 {
         switch_screen(&m_alternate_screen);
 }
 
 void
-VteTerminalPrivate::set_mode_ecma(vte::parser::Sequence const& seq,
+Terminal::set_mode_ecma(vte::parser::Sequence const& seq,
                                   bool set) noexcept
 {
         auto const n_params = seq.size();
@@ -458,7 +461,7 @@ VteTerminalPrivate::set_mode_ecma(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::update_mouse_protocol() noexcept
+Terminal::update_mouse_protocol() noexcept
 {
         if (m_modes_private.XTERM_MOUSE_ANY_EVENT())
                 m_mouse_tracking_mode = MOUSE_TRACKING_ALL_MOTION_TRACKING;
@@ -483,7 +486,7 @@ VteTerminalPrivate::update_mouse_protocol() noexcept
 }
 
 void
-VteTerminalPrivate::set_mode_private(int mode,
+Terminal::set_mode_private(int mode,
                                      bool set) noexcept
 {
         /* Pre actions */
@@ -588,7 +591,7 @@ VteTerminalPrivate::set_mode_private(int mode,
 }
 
 void
-VteTerminalPrivate::set_mode_private(vte::parser::Sequence const& seq,
+Terminal::set_mode_private(vte::parser::Sequence const& seq,
                                      bool set) noexcept
 {
         auto const n_params = seq.size();
@@ -609,7 +612,7 @@ VteTerminalPrivate::set_mode_private(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::save_mode_private(vte::parser::Sequence const& seq,
+Terminal::save_mode_private(vte::parser::Sequence const& seq,
                                       bool save) noexcept
 {
         auto const n_params = seq.size();
@@ -645,7 +648,7 @@ VteTerminalPrivate::save_mode_private(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::set_character_replacement(unsigned slot)
+Terminal::set_character_replacement(unsigned slot)
 {
         g_assert(slot < G_N_ELEMENTS(m_character_replacements));
         m_character_replacement = &m_character_replacements[slot];
@@ -653,7 +656,7 @@ VteTerminalPrivate::set_character_replacement(unsigned slot)
 
 /* Clear from the cursor position (inclusive!) to the beginning of the line. */
 void
-VteTerminalPrivate::clear_to_bol()
+Terminal::clear_to_bol()
 {
         ensure_cursor_is_onscreen();
 
@@ -685,7 +688,7 @@ VteTerminalPrivate::clear_to_bol()
 
 /* Clear to the right of the cursor and below the current line. */
 void
-VteTerminalPrivate::clear_below_current()
+Terminal::clear_below_current()
 {
         ensure_cursor_is_onscreen();
 
@@ -742,7 +745,7 @@ VteTerminalPrivate::clear_below_current()
 
 /* Clear from the cursor position to the end of the line. */
 void
-VteTerminalPrivate::clear_to_eol()
+Terminal::clear_to_eol()
 {
        /* If we were to strictly emulate xterm, we'd ensure the cursor is onscreen.
         * But due to https://bugzilla.gnome.org/show_bug.cgi?id=740789 we intentionally
@@ -777,13 +780,13 @@ VteTerminalPrivate::clear_to_eol()
 }
 
 /*
- * VteTerminalPrivate::set_cursor_column:
+ * Terminal::set_cursor_column:
  * @col: the column. 0-based from 0 to m_column_count - 1
  *
  * Sets the cursor column to @col, clamped to the range 0..m_column_count-1.
  */
 void
-VteTerminalPrivate::set_cursor_column(vte::grid::column_t col)
+Terminal::set_cursor_column(vte::grid::column_t col)
 {
        _vte_debug_print(VTE_DEBUG_PARSER,
                          "Moving cursor to column %ld.\n", col);
@@ -791,20 +794,20 @@ VteTerminalPrivate::set_cursor_column(vte::grid::column_t col)
 }
 
 void
-VteTerminalPrivate::set_cursor_column1(vte::grid::column_t col)
+Terminal::set_cursor_column1(vte::grid::column_t col)
 {
         set_cursor_column(col - 1);
 }
 
 /*
- * VteTerminalPrivate::set_cursor_row:
+ * Terminal::set_cursor_row:
  * @row: the row. 0-based and relative to the scrolling region
  *
  * Sets the cursor row to @row. @row is relative to the scrolling region
  * (0 if restricted scrolling is off).
  */
 void
-VteTerminalPrivate::set_cursor_row(vte::grid::row_t row)
+Terminal::set_cursor_row(vte::grid::row_t row)
 {
         vte::grid::row_t start_row, end_row;
         if (m_modes_private.DEC_ORIGIN() &&
@@ -822,19 +825,19 @@ VteTerminalPrivate::set_cursor_row(vte::grid::row_t row)
 }
 
 void
-VteTerminalPrivate::set_cursor_row1(vte::grid::row_t row)
+Terminal::set_cursor_row1(vte::grid::row_t row)
 {
         set_cursor_row(row - 1);
 }
 
 /*
- * VteTerminalPrivate::get_cursor_row:
+ * Terminal::get_cursor_row:
  *
  * Returns: the relative cursor row, 0-based and relative to the scrolling region
  * if set (regardless of origin mode).
  */
 vte::grid::row_t
-VteTerminalPrivate::get_cursor_row() const
+Terminal::get_cursor_row() const
 {
         auto row = m_screen->cursor.row - m_screen->insert_delta;
         /* Note that we do NOT check DEC_ORIGIN mode here! */
@@ -845,13 +848,13 @@ VteTerminalPrivate::get_cursor_row() const
 }
 
 vte::grid::column_t
-VteTerminalPrivate::get_cursor_column() const
+Terminal::get_cursor_column() const
 {
         return m_screen->cursor.col;
 }
 
 /*
- * VteTerminalPrivate::set_cursor_coords:
+ * Terminal::set_cursor_coords:
  * @row: the row. 0-based and relative to the scrolling region
  * @col: the column. 0-based from 0 to m_column_count - 1
  *
@@ -861,7 +864,7 @@ VteTerminalPrivate::get_cursor_column() const
  * Sets the cursor column to @col, clamped to the range 0..m_column_count-1.
  */
 void
-VteTerminalPrivate::set_cursor_coords(vte::grid::row_t row,
+Terminal::set_cursor_coords(vte::grid::row_t row,
                                       vte::grid::column_t column)
 {
         set_cursor_column(column);
@@ -869,7 +872,7 @@ VteTerminalPrivate::set_cursor_coords(vte::grid::row_t row,
 }
 
 void
-VteTerminalPrivate::set_cursor_coords1(vte::grid::row_t row,
+Terminal::set_cursor_coords1(vte::grid::row_t row,
                                       vte::grid::column_t column)
 {
         set_cursor_column1(column);
@@ -878,7 +881,7 @@ VteTerminalPrivate::set_cursor_coords1(vte::grid::row_t row,
 
 /* Delete a character at the current cursor position. */
 void
-VteTerminalPrivate::delete_character()
+Terminal::delete_character()
 {
        VteRowData *rowdata;
        long col;
@@ -915,7 +918,7 @@ VteTerminalPrivate::delete_character()
 }
 
 void
-VteTerminalPrivate::move_cursor_down(vte::grid::row_t rows)
+Terminal::move_cursor_down(vte::grid::row_t rows)
 {
         rows = CLAMP(rows, 1, m_row_count);
 
@@ -934,7 +937,7 @@ VteTerminalPrivate::move_cursor_down(vte::grid::row_t rows)
 }
 
 void
-VteTerminalPrivate::erase_characters(long count)
+Terminal::erase_characters(long count)
 {
        VteCell *cell;
        long col, i;
@@ -974,7 +977,7 @@ VteTerminalPrivate::erase_characters(long count)
 
 /* Insert a blank character. */
 void
-VteTerminalPrivate::insert_blank_character()
+Terminal::insert_blank_character()
 {
         ensure_cursor_is_onscreen();
 
@@ -984,7 +987,7 @@ VteTerminalPrivate::insert_blank_character()
 }
 
 void
-VteTerminalPrivate::move_cursor_backward(vte::grid::column_t columns)
+Terminal::move_cursor_backward(vte::grid::column_t columns)
 {
         ensure_cursor_is_onscreen();
 
@@ -994,7 +997,7 @@ VteTerminalPrivate::move_cursor_backward(vte::grid::column_t columns)
 }
 
 void
-VteTerminalPrivate::move_cursor_forward(vte::grid::column_t columns)
+Terminal::move_cursor_forward(vte::grid::column_t columns)
 {
         columns = CLAMP(columns, 1, m_column_count);
 
@@ -1009,14 +1012,14 @@ VteTerminalPrivate::move_cursor_forward(vte::grid::column_t columns)
 }
 
 void
-VteTerminalPrivate::line_feed()
+Terminal::line_feed()
 {
         ensure_cursor_is_onscreen();
         cursor_down(true);
 }
 
 void
-VteTerminalPrivate::move_cursor_tab_backward(int count)
+Terminal::move_cursor_tab_backward(int count)
 {
         if (count == 0)
                 return;
@@ -1026,7 +1029,7 @@ VteTerminalPrivate::move_cursor_tab_backward(int count)
 }
 
 void
-VteTerminalPrivate::move_cursor_tab_forward(int count)
+Terminal::move_cursor_tab_forward(int count)
 {
         if (count == 0)
                 return;
@@ -1086,7 +1089,7 @@ VteTerminalPrivate::move_cursor_tab_forward(int count)
 }
 
 void
-VteTerminalPrivate::move_cursor_up(vte::grid::row_t rows)
+Terminal::move_cursor_up(vte::grid::row_t rows)
 {
         // FIXMEchpe allow 0 as no-op?
         rows = CLAMP(rows, 1, m_row_count);
@@ -1123,7 +1126,7 @@ VteTerminalPrivate::move_cursor_up(vte::grid::row_t rows)
  */
 template<unsigned int redbits, unsigned int greenbits, unsigned int bluebits>
 bool
-VteTerminalPrivate::seq_parse_sgr_color(vte::parser::Sequence const& seq,
+Terminal::seq_parse_sgr_color(vte::parser::Sequence const& seq,
                                         unsigned int &idx,
                                         uint32_t& color) const noexcept
 {
@@ -1208,7 +1211,7 @@ VteTerminalPrivate::seq_parse_sgr_color(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::erase_in_display(vte::parser::Sequence const& seq)
+Terminal::erase_in_display(vte::parser::Sequence const& seq)
 {
         /* We don't implement the protected attribute, so we can ignore selective:
          * bool selective = (seq.command() == VTE_CMD_DECSED);
@@ -1243,7 +1246,7 @@ VteTerminalPrivate::erase_in_display(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::erase_in_line(vte::parser::Sequence const& seq)
+Terminal::erase_in_line(vte::parser::Sequence const& seq)
 {
         /* We don't implement the protected attribute, so we can ignore selective:
          * bool selective = (seq.command() == VTE_CMD_DECSEL);
@@ -1271,7 +1274,7 @@ VteTerminalPrivate::erase_in_line(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::insert_lines(vte::grid::row_t param)
+Terminal::insert_lines(vte::grid::row_t param)
 {
         vte::grid::row_t end, i;
 
@@ -1305,7 +1308,7 @@ VteTerminalPrivate::insert_lines(vte::grid::row_t param)
 }
 
 void
-VteTerminalPrivate::delete_lines(vte::grid::row_t param)
+Terminal::delete_lines(vte::grid::row_t param)
 {
         vte::grid::row_t end, i;
 
@@ -1340,7 +1343,7 @@ VteTerminalPrivate::delete_lines(vte::grid::row_t param)
 }
 
 bool
-VteTerminalPrivate::get_osc_color_index(int osc,
+Terminal::get_osc_color_index(int osc,
                                         int value,
                                         int& index) const noexcept
 {
@@ -1375,7 +1378,7 @@ VteTerminalPrivate::get_osc_color_index(int osc,
 }
 
 void
-VteTerminalPrivate::set_color(vte::parser::Sequence const& seq,
+Terminal::set_color(vte::parser::Sequence const& seq,
                               vte::parser::StringTokeniser::const_iterator& token,
                               vte::parser::StringTokeniser::const_iterator const& endtoken,
                               int osc) noexcept
@@ -1400,7 +1403,7 @@ VteTerminalPrivate::set_color(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::set_color_index(vte::parser::Sequence const& seq,
+Terminal::set_color_index(vte::parser::Sequence const& seq,
                                     vte::parser::StringTokeniser::const_iterator& token,
                                     vte::parser::StringTokeniser::const_iterator const& endtoken,
                                     int number,
@@ -1437,7 +1440,7 @@ VteTerminalPrivate::set_color_index(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::set_special_color(vte::parser::Sequence const& seq,
+Terminal::set_special_color(vte::parser::Sequence const& seq,
                                       vte::parser::StringTokeniser::const_iterator& token,
                                       vte::parser::StringTokeniser::const_iterator const& endtoken,
                                       int index,
@@ -1451,7 +1454,7 @@ VteTerminalPrivate::set_special_color(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::reset_color(vte::parser::Sequence const& seq,
+Terminal::reset_color(vte::parser::Sequence const& seq,
                                 vte::parser::StringTokeniser::const_iterator& token,
                                 vte::parser::StringTokeniser::const_iterator const& endtoken,
                                 int osc) noexcept
@@ -1486,7 +1489,7 @@ VteTerminalPrivate::reset_color(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::set_current_directory_uri(vte::parser::Sequence const& seq,
+Terminal::set_current_directory_uri(vte::parser::Sequence const& seq,
                                               vte::parser::StringTokeniser::const_iterator& token,
                                               vte::parser::StringTokeniser::const_iterator const& endtoken) 
noexcept
 {
@@ -1508,7 +1511,7 @@ VteTerminalPrivate::set_current_directory_uri(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::set_current_file_uri(vte::parser::Sequence const& seq,
+Terminal::set_current_file_uri(vte::parser::Sequence const& seq,
                                          vte::parser::StringTokeniser::const_iterator& token,
                                          vte::parser::StringTokeniser::const_iterator const& endtoken) 
noexcept
 
@@ -1531,7 +1534,7 @@ VteTerminalPrivate::set_current_file_uri(vte::parser::Sequence const& seq,
 }
 
 void
-VteTerminalPrivate::set_current_hyperlink(vte::parser::Sequence const& seq,
+Terminal::set_current_hyperlink(vte::parser::Sequence const& seq,
                                           vte::parser::StringTokeniser::const_iterator& token,
                                           vte::parser::StringTokeniser::const_iterator const& endtoken) 
noexcept
 {
@@ -1613,12 +1616,12 @@ VteTerminalPrivate::set_current_hyperlink(vte::parser::Sequence const& seq,
  */
 
 void
-VteTerminalPrivate::NONE(vte::parser::Sequence const& seq)
+Terminal::NONE(vte::parser::Sequence const& seq)
 {
 }
 
 void
-VteTerminalPrivate::GRAPHIC(vte::parser::Sequence const& seq)
+Terminal::GRAPHIC(vte::parser::Sequence const& seq)
 {
 #if 0
         struct vte_char ch = VTE_CHAR_NULL;
@@ -1654,7 +1657,7 @@ VteTerminalPrivate::GRAPHIC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ACK(vte::parser::Sequence const& seq)
+Terminal::ACK(vte::parser::Sequence const& seq)
 {
         /*
          * ACK - acknowledge
@@ -1666,7 +1669,7 @@ VteTerminalPrivate::ACK(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ACS(vte::parser::Sequence const& seq)
+Terminal::ACS(vte::parser::Sequence const& seq)
 {
         /* ACS - announce-code-structure
          *
@@ -1748,7 +1751,7 @@ VteTerminalPrivate::ACS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::BEL(vte::parser::Sequence const& seq)
+Terminal::BEL(vte::parser::Sequence const& seq)
 {
         /*
          * BEL - sound bell tone
@@ -1761,7 +1764,7 @@ VteTerminalPrivate::BEL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::BPH(vte::parser::Sequence const& seq)
+Terminal::BPH(vte::parser::Sequence const& seq)
 {
         /*
          * BPH - break permitted here
@@ -1773,7 +1776,7 @@ VteTerminalPrivate::BPH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::BS(vte::parser::Sequence const& seq)
+Terminal::BS(vte::parser::Sequence const& seq)
 {
         /*
          * BS - backspace
@@ -1797,7 +1800,7 @@ VteTerminalPrivate::BS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CBT(vte::parser::Sequence const& seq)
+Terminal::CBT(vte::parser::Sequence const& seq)
 {
         /*
          * CBT - cursor-backward-tabulation
@@ -1819,7 +1822,7 @@ VteTerminalPrivate::CBT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CCH(vte::parser::Sequence const& seq)
+Terminal::CCH(vte::parser::Sequence const& seq)
 {
         /*
          * CCH - cancel character
@@ -1835,7 +1838,7 @@ VteTerminalPrivate::CCH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CHA(vte::parser::Sequence const& seq)
+Terminal::CHA(vte::parser::Sequence const& seq)
 {
         /*
          * CHA - cursor-horizontal-absolute
@@ -1868,7 +1871,7 @@ VteTerminalPrivate::CHA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CHT(vte::parser::Sequence const& seq)
+Terminal::CHT(vte::parser::Sequence const& seq)
 {
         /*
          * CHT - cursor-horizontal-forward-tabulation
@@ -1893,7 +1896,7 @@ VteTerminalPrivate::CHT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CMD(vte::parser::Sequence const& seq)
+Terminal::CMD(vte::parser::Sequence const& seq)
 {
         /*
          * CMD - coding method delimiter
@@ -1906,7 +1909,7 @@ VteTerminalPrivate::CMD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CNL(vte::parser::Sequence const& seq)
+Terminal::CNL(vte::parser::Sequence const& seq)
 {
         /*
          * CNL - cursor-next-line
@@ -1939,7 +1942,7 @@ VteTerminalPrivate::CNL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CPL(vte::parser::Sequence const& seq)
+Terminal::CPL(vte::parser::Sequence const& seq)
 {
         /*
          * CPL - cursor-preceding-line
@@ -1970,7 +1973,7 @@ VteTerminalPrivate::CPL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CR(vte::parser::Sequence const& seq)
+Terminal::CR(vte::parser::Sequence const& seq)
 {
         /*
          * CR - carriage-return
@@ -1987,7 +1990,7 @@ VteTerminalPrivate::CR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CTC(vte::parser::Sequence const& seq)
+Terminal::CTC(vte::parser::Sequence const& seq)
 {
         /*
          * CTC - cursor tabulation control
@@ -2036,7 +2039,7 @@ VteTerminalPrivate::CTC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CUB(vte::parser::Sequence const& seq)
+Terminal::CUB(vte::parser::Sequence const& seq)
 {
         /*
          * CUB - cursor-backward
@@ -2066,7 +2069,7 @@ VteTerminalPrivate::CUB(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CUD(vte::parser::Sequence const& seq)
+Terminal::CUD(vte::parser::Sequence const& seq)
 {
         /*
          * CUD - cursor-down
@@ -2097,7 +2100,7 @@ VteTerminalPrivate::CUD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CUF(vte::parser::Sequence const& seq)
+Terminal::CUF(vte::parser::Sequence const& seq)
 {
         /*
          * CUF -cursor-forward
@@ -2127,7 +2130,7 @@ VteTerminalPrivate::CUF(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CUP(vte::parser::Sequence const& seq)
+Terminal::CUP(vte::parser::Sequence const& seq)
 {
         /*
          * CUP - cursor-position
@@ -2164,7 +2167,7 @@ VteTerminalPrivate::CUP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CUU(vte::parser::Sequence const& seq)
+Terminal::CUU(vte::parser::Sequence const& seq)
 {
         /*
          * CUU - cursor-up
@@ -2195,7 +2198,7 @@ VteTerminalPrivate::CUU(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CVT(vte::parser::Sequence const& seq)
+Terminal::CVT(vte::parser::Sequence const& seq)
 {
         /*
          * CVT - cursor line tabulation
@@ -2216,7 +2219,7 @@ VteTerminalPrivate::CVT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::CnD(vte::parser::Sequence const& seq)
+Terminal::CnD(vte::parser::Sequence const& seq)
 {
         /*
          * CnD - Cn-designate
@@ -2231,7 +2234,7 @@ VteTerminalPrivate::CnD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DA1(vte::parser::Sequence const& seq)
+Terminal::DA1(vte::parser::Sequence const& seq)
 {
         /*
          * DA1 - primary-device-attributes
@@ -2318,7 +2321,7 @@ VteTerminalPrivate::DA1(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DA2(vte::parser::Sequence const& seq)
+Terminal::DA2(vte::parser::Sequence const& seq)
 {
         /*
          * DA2 - secondary-device-attributes
@@ -2348,7 +2351,7 @@ VteTerminalPrivate::DA2(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DA3(vte::parser::Sequence const& seq)
+Terminal::DA3(vte::parser::Sequence const& seq)
 {
         /*
          * DA3 - tertiary-device-attributes
@@ -2369,7 +2372,7 @@ VteTerminalPrivate::DA3(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DAQ(vte::parser::Sequence const& seq)
+Terminal::DAQ(vte::parser::Sequence const& seq)
 {
         /*
          * DAQ - define area qualification
@@ -2385,7 +2388,7 @@ VteTerminalPrivate::DAQ(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DC1(vte::parser::Sequence const& seq)
+Terminal::DC1(vte::parser::Sequence const& seq)
 {
         /*
          * DC1 - device-control-1 or XON
@@ -2398,7 +2401,7 @@ VteTerminalPrivate::DC1(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DC2(vte::parser::Sequence const& seq)
+Terminal::DC2(vte::parser::Sequence const& seq)
 {
         /*
          * DC2 - device-control-2
@@ -2410,7 +2413,7 @@ VteTerminalPrivate::DC2(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DC3(vte::parser::Sequence const& seq)
+Terminal::DC3(vte::parser::Sequence const& seq)
 {
         /*
          * DC3 - device-control-3 or XOFF
@@ -2424,7 +2427,7 @@ VteTerminalPrivate::DC3(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DC4(vte::parser::Sequence const& seq)
+Terminal::DC4(vte::parser::Sequence const& seq)
 {
         /*
          * DC4 - device-control-4
@@ -2436,7 +2439,7 @@ VteTerminalPrivate::DC4(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DCH(vte::parser::Sequence const& seq)
+Terminal::DCH(vte::parser::Sequence const& seq)
 {
         /*
          * DCH - delete-character
@@ -2471,7 +2474,7 @@ VteTerminalPrivate::DCH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECAC(vte::parser::Sequence const& seq)
+Terminal::DECAC(vte::parser::Sequence const& seq)
 {
         /*
          * DECAC - assign color
@@ -2490,7 +2493,7 @@ VteTerminalPrivate::DECAC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECALN(vte::parser::Sequence const& seq)
+Terminal::DECALN(vte::parser::Sequence const& seq)
 {
         /*
          * DECALN - screen-alignment-pattern
@@ -2530,7 +2533,7 @@ VteTerminalPrivate::DECALN(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECARR(vte::parser::Sequence const& seq)
+Terminal::DECARR(vte::parser::Sequence const& seq)
 {
         /*
          * DECARR - auto repeat rate
@@ -2545,7 +2548,7 @@ VteTerminalPrivate::DECARR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECATC(vte::parser::Sequence const& seq)
+Terminal::DECATC(vte::parser::Sequence const& seq)
 {
         /*
          * DECATC - alternate text color
@@ -2567,7 +2570,7 @@ VteTerminalPrivate::DECATC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECAUPSS(vte::parser::Sequence const& seq)
+Terminal::DECAUPSS(vte::parser::Sequence const& seq)
 {
         /*
          * DECAUPSS - assign user preferred supplemental sets
@@ -2589,7 +2592,7 @@ VteTerminalPrivate::DECAUPSS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECBI(vte::parser::Sequence const& seq)
+Terminal::DECBI(vte::parser::Sequence const& seq)
 {
         /*
          * DECBI - back-index
@@ -2606,7 +2609,7 @@ VteTerminalPrivate::DECBI(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECCARA(vte::parser::Sequence const& seq)
+Terminal::DECCARA(vte::parser::Sequence const& seq)
 {
         /*
          * DECCARA - change-attributes-in-rectangular-area
@@ -2642,7 +2645,7 @@ VteTerminalPrivate::DECCARA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECCKD(vte::parser::Sequence const& seq)
+Terminal::DECCKD(vte::parser::Sequence const& seq)
 {
         /*
          * DECCKD - copy key default
@@ -2655,7 +2658,7 @@ VteTerminalPrivate::DECCKD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECCRA(vte::parser::Sequence const& seq)
+Terminal::DECCRA(vte::parser::Sequence const& seq)
 {
         /*
          * DECCRA - copy-rectangular-area
@@ -2694,7 +2697,7 @@ VteTerminalPrivate::DECCRA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECCRTST(vte::parser::Sequence const& seq)
+Terminal::DECCRTST(vte::parser::Sequence const& seq)
 {
         /*
          * DECCRTST - CRT saver time
@@ -2714,7 +2717,7 @@ VteTerminalPrivate::DECCRTST(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECDC(vte::parser::Sequence const& seq)
+Terminal::DECDC(vte::parser::Sequence const& seq)
 {
         /*
          * DECDC - delete-column
@@ -2726,7 +2729,7 @@ VteTerminalPrivate::DECDC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECDHL_BH(vte::parser::Sequence const& seq)
+Terminal::DECDHL_BH(vte::parser::Sequence const& seq)
 {
         /*
          * DECDHL_BH - double-width-double-height-line: bottom half
@@ -2738,7 +2741,7 @@ VteTerminalPrivate::DECDHL_BH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECDHL_TH(vte::parser::Sequence const& seq)
+Terminal::DECDHL_TH(vte::parser::Sequence const& seq)
 {
         /*
          * DECDHL_TH - double-width-double-height-line: top half
@@ -2750,7 +2753,7 @@ VteTerminalPrivate::DECDHL_TH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECDLD(vte::parser::Sequence const& seq)
+Terminal::DECDLD(vte::parser::Sequence const& seq)
 {
         /*
          * DECDLD - dynamically redefinable character sets extension
@@ -2763,7 +2766,7 @@ VteTerminalPrivate::DECDLD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECDLDA(vte::parser::Sequence const& seq)
+Terminal::DECDLDA(vte::parser::Sequence const& seq)
 {
         /*
          * DECDLD - down line load allocation
@@ -2777,7 +2780,7 @@ VteTerminalPrivate::DECDLDA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECDMAC(vte::parser::Sequence const& seq)
+Terminal::DECDMAC(vte::parser::Sequence const& seq)
 {
         /*
          * DECDMAC - define-macro
@@ -2790,7 +2793,7 @@ VteTerminalPrivate::DECDMAC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECDWL(vte::parser::Sequence const& seq)
+Terminal::DECDWL(vte::parser::Sequence const& seq)
 {
         /*
          * DECDWL - double-width-single-height-line
@@ -2802,7 +2805,7 @@ VteTerminalPrivate::DECDWL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECEFR(vte::parser::Sequence const& seq)
+Terminal::DECEFR(vte::parser::Sequence const& seq)
 {
         /*
          * DECEFR - enable-filter-rectangle
@@ -2826,7 +2829,7 @@ VteTerminalPrivate::DECEFR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECELF(vte::parser::Sequence const& seq)
+Terminal::DECELF(vte::parser::Sequence const& seq)
 {
         /*
          * DECELF - enable-local-functions
@@ -2840,7 +2843,7 @@ VteTerminalPrivate::DECELF(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECELR(vte::parser::Sequence const& seq)
+Terminal::DECELR(vte::parser::Sequence const& seq)
 {
         /*
          * DECELR - enable-locator-reporting
@@ -2861,7 +2864,7 @@ VteTerminalPrivate::DECELR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECERA(vte::parser::Sequence const& seq)
+Terminal::DECERA(vte::parser::Sequence const& seq)
 {
         /*
          * DECERA - erase-rectangular-area
@@ -2895,7 +2898,7 @@ VteTerminalPrivate::DECERA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECES(vte::parser::Sequence const& seq)
+Terminal::DECES(vte::parser::Sequence const& seq)
 {
         /*
          * DECES - enable session
@@ -2910,7 +2913,7 @@ VteTerminalPrivate::DECES(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECFI(vte::parser::Sequence const& seq)
+Terminal::DECFI(vte::parser::Sequence const& seq)
 {
         /*
          * DECFI - forward-index
@@ -2930,7 +2933,7 @@ VteTerminalPrivate::DECFI(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECFRA(vte::parser::Sequence const& seq)
+Terminal::DECFRA(vte::parser::Sequence const& seq)
 {
         /*
          * DECFRA - fill-rectangular-area
@@ -2973,7 +2976,7 @@ VteTerminalPrivate::DECFRA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECIC(vte::parser::Sequence const& seq)
+Terminal::DECIC(vte::parser::Sequence const& seq)
 {
         /*
          * DECIC - insert-column
@@ -2988,7 +2991,7 @@ VteTerminalPrivate::DECIC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECINVM(vte::parser::Sequence const& seq)
+Terminal::DECINVM(vte::parser::Sequence const& seq)
 {
         /*
          * DECINVM - invoke-macro
@@ -3001,7 +3004,7 @@ VteTerminalPrivate::DECINVM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECKBD(vte::parser::Sequence const& seq)
+Terminal::DECKBD(vte::parser::Sequence const& seq)
 {
         /*
          * DECKBD - keyboard-language-selection
@@ -3014,7 +3017,7 @@ VteTerminalPrivate::DECKBD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECKPAM(vte::parser::Sequence const& seq)
+Terminal::DECKPAM(vte::parser::Sequence const& seq)
 {
         /*
          * DECKPAM - keypad-application-mode
@@ -3031,7 +3034,7 @@ VteTerminalPrivate::DECKPAM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECKPNM(vte::parser::Sequence const& seq)
+Terminal::DECKPNM(vte::parser::Sequence const& seq)
 {
         /*
          * DECKPNM - keypad-numeric-mode
@@ -3046,7 +3049,7 @@ VteTerminalPrivate::DECKPNM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECLANS(vte::parser::Sequence const& seq)
+Terminal::DECLANS(vte::parser::Sequence const& seq)
 {
         /*
          * DECLANS - load answerback message
@@ -3058,7 +3061,7 @@ VteTerminalPrivate::DECLANS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECLBAN(vte::parser::Sequence const& seq)
+Terminal::DECLBAN(vte::parser::Sequence const& seq)
 {
         /*
          * DECLBAN - load banner message
@@ -3072,7 +3075,7 @@ VteTerminalPrivate::DECLBAN(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECLBD(vte::parser::Sequence const& seq)
+Terminal::DECLBD(vte::parser::Sequence const& seq)
 {
         /*
          * DECLBD - locator button define
@@ -3082,7 +3085,7 @@ VteTerminalPrivate::DECLBD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECLFKC(vte::parser::Sequence const& seq)
+Terminal::DECLFKC(vte::parser::Sequence const& seq)
 {
         /*
          * DECLFKC - local-function-key-control
@@ -3095,7 +3098,7 @@ VteTerminalPrivate::DECLFKC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECLL(vte::parser::Sequence const& seq)
+Terminal::DECLL(vte::parser::Sequence const& seq)
 {
         /*
          * DECLL - load-leds
@@ -3115,7 +3118,7 @@ VteTerminalPrivate::DECLL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECLTOD(vte::parser::Sequence const& seq)
+Terminal::DECLTOD(vte::parser::Sequence const& seq)
 {
         /*
          * DECLTOD - load-time-of-day
@@ -3128,7 +3131,7 @@ VteTerminalPrivate::DECLTOD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECPAK(vte::parser::Sequence const& seq)
+Terminal::DECPAK(vte::parser::Sequence const& seq)
 {
         /*
          * DECPAK - program alphanumeric key
@@ -3141,7 +3144,7 @@ VteTerminalPrivate::DECPAK(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECPCTERM(vte::parser::Sequence const& seq)
+Terminal::DECPCTERM(vte::parser::Sequence const& seq)
 {
         /*
          * DECPCTERM - pcterm-mode
@@ -3155,7 +3158,7 @@ VteTerminalPrivate::DECPCTERM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECPCTERM_OR_XTERM_RPM(vte::parser::Sequence const& seq)
+Terminal::DECPCTERM_OR_XTERM_RPM(vte::parser::Sequence const& seq)
 {
         /*
          * There's a conflict between DECPCTERM and XTERM-RPM.
@@ -3172,7 +3175,7 @@ VteTerminalPrivate::DECPCTERM_OR_XTERM_RPM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECPFK(vte::parser::Sequence const& seq)
+Terminal::DECPFK(vte::parser::Sequence const& seq)
 {
         /*
          * DECPFK - program function key
@@ -3185,7 +3188,7 @@ VteTerminalPrivate::DECPFK(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECPKA(vte::parser::Sequence const& seq)
+Terminal::DECPKA(vte::parser::Sequence const& seq)
 {
         /*
          * DECPKA - program-key-action
@@ -3204,7 +3207,7 @@ VteTerminalPrivate::DECPKA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECPKFMR(vte::parser::Sequence const& seq)
+Terminal::DECPKFMR(vte::parser::Sequence const& seq)
 {
         /*
          * DECPKFMR - program-key-free-memory-report
@@ -3216,7 +3219,7 @@ VteTerminalPrivate::DECPKFMR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECPS(vte::parser::Sequence const& seq)
+Terminal::DECPS(vte::parser::Sequence const& seq)
 {
         /*
          * DECPS - play sound
@@ -3239,7 +3242,7 @@ VteTerminalPrivate::DECPS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRARA(vte::parser::Sequence const& seq)
+Terminal::DECRARA(vte::parser::Sequence const& seq)
 {
         /*
          * DECRARA - reverse-attributes-in-rectangular-area
@@ -3278,7 +3281,7 @@ VteTerminalPrivate::DECRARA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRC(vte::parser::Sequence const& seq)
+Terminal::DECRC(vte::parser::Sequence const& seq)
 {
         /*
          * DECRC - restore-cursor
@@ -3301,7 +3304,7 @@ VteTerminalPrivate::DECRC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECREGIS(vte::parser::Sequence const& seq)
+Terminal::DECREGIS(vte::parser::Sequence const& seq)
 {
         /*
          * DECREGIS - ReGIS graphics
@@ -3311,7 +3314,7 @@ VteTerminalPrivate::DECREGIS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECREQTPARM(vte::parser::Sequence const& seq)
+Terminal::DECREQTPARM(vte::parser::Sequence const& seq)
 {
         /*
          * DECREQTPARM - request-terminal-parameters
@@ -3380,7 +3383,7 @@ VteTerminalPrivate::DECREQTPARM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQCRA(vte::parser::Sequence const& seq)
+Terminal::DECRQCRA(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQCRA - request checksum of rectangular area
@@ -3464,7 +3467,7 @@ VteTerminalPrivate::DECRQCRA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQDE(vte::parser::Sequence const& seq)
+Terminal::DECRQDE(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQDE - request-display-extent
@@ -3477,7 +3480,7 @@ VteTerminalPrivate::DECRQDE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQKT(vte::parser::Sequence const& seq)
+Terminal::DECRQKT(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQKT - request-key-type
@@ -3489,7 +3492,7 @@ VteTerminalPrivate::DECRQKT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQLP(vte::parser::Sequence const& seq)
+Terminal::DECRQLP(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQLP - request-locator-position
@@ -3502,7 +3505,7 @@ VteTerminalPrivate::DECRQLP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQM_ECMA(vte::parser::Sequence const& seq)
+Terminal::DECRQM_ECMA(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQM_ECMA - request-mode-ecma
@@ -3540,7 +3543,7 @@ VteTerminalPrivate::DECRQM_ECMA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQM_DEC(vte::parser::Sequence const& seq)
+Terminal::DECRQM_DEC(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQM_DEC - request-mode-dec
@@ -3569,7 +3572,7 @@ VteTerminalPrivate::DECRQM_DEC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQPKFM(vte::parser::Sequence const& seq)
+Terminal::DECRQPKFM(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQPKFM - request-program-key-free-memory
@@ -3581,7 +3584,7 @@ VteTerminalPrivate::DECRQPKFM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQPSR(vte::parser::Sequence const& seq)
+Terminal::DECRQPSR(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQPSR - request-presentation-state-report
@@ -3623,7 +3626,7 @@ VteTerminalPrivate::DECRQPSR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQSS(vte::parser::Sequence const& seq)
+Terminal::DECRQSS(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQSS - request selection or setting
@@ -3719,7 +3722,7 @@ VteTerminalPrivate::DECRQSS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQTSR(vte::parser::Sequence const& seq)
+Terminal::DECRQTSR(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQTSR - request-terminal-state-report
@@ -3765,7 +3768,7 @@ VteTerminalPrivate::DECRQTSR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRQUPSS(vte::parser::Sequence const& seq)
+Terminal::DECRQUPSS(vte::parser::Sequence const& seq)
 {
         /*
          * DECRQUPSS - request-user-preferred-supplemental-set
@@ -3782,7 +3785,7 @@ VteTerminalPrivate::DECRQUPSS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRSPS(vte::parser::Sequence const& seq)
+Terminal::DECRSPS(vte::parser::Sequence const& seq)
 {
         /*
          * DECRSPS - restore presentation state
@@ -3811,7 +3814,7 @@ VteTerminalPrivate::DECRSPS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECRSTS(vte::parser::Sequence const& seq)
+Terminal::DECRSTS(vte::parser::Sequence const& seq)
 {
         /*
          * DECRSTS - restore terminal state
@@ -3840,7 +3843,7 @@ VteTerminalPrivate::DECRSTS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSACE(vte::parser::Sequence const& seq)
+Terminal::DECSACE(vte::parser::Sequence const& seq)
 {
         /*
          * DECSACE - select-attribute-change-extent
@@ -3865,7 +3868,7 @@ VteTerminalPrivate::DECSACE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSASD(vte::parser::Sequence const& seq)
+Terminal::DECSASD(vte::parser::Sequence const& seq)
 {
         /*
          * DECSASD - select-active-status-display
@@ -3886,7 +3889,7 @@ VteTerminalPrivate::DECSASD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSC(vte::parser::Sequence const& seq)
+Terminal::DECSC(vte::parser::Sequence const& seq)
 {
         /*
          * DECSC - save-cursor
@@ -3910,7 +3913,7 @@ VteTerminalPrivate::DECSC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSCA(vte::parser::Sequence const& seq)
+Terminal::DECSCA(vte::parser::Sequence const& seq)
 {
         /*
          * DECSCA - select character protection attribute
@@ -3947,7 +3950,7 @@ VteTerminalPrivate::DECSCA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSCL(vte::parser::Sequence const& seq)
+Terminal::DECSCL(vte::parser::Sequence const& seq)
 {
         /*
          * DECSCL - select-conformance-level
@@ -4003,7 +4006,7 @@ VteTerminalPrivate::DECSCL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSCP(vte::parser::Sequence const& seq)
+Terminal::DECSCP(vte::parser::Sequence const& seq)
 {
         /*
          * DECSCP - select-communication-port
@@ -4015,7 +4018,7 @@ VteTerminalPrivate::DECSCP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSCPP(vte::parser::Sequence const& seq)
+Terminal::DECSCPP(vte::parser::Sequence const& seq)
 {
         /*
          * DECSCPP - select-columns-per-page
@@ -4037,7 +4040,7 @@ VteTerminalPrivate::DECSCPP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSCS(vte::parser::Sequence const& seq)
+Terminal::DECSCS(vte::parser::Sequence const& seq)
 {
         /*
          * DECSCS - select-communication-speed
@@ -4049,7 +4052,7 @@ VteTerminalPrivate::DECSCS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSCUSR(vte::parser::Sequence const& seq)
+Terminal::DECSCUSR(vte::parser::Sequence const& seq)
 {
         /*
          * DECSCUSR - set-cursor-style
@@ -4081,7 +4084,7 @@ VteTerminalPrivate::DECSCUSR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSDDT(vte::parser::Sequence const& seq)
+Terminal::DECSDDT(vte::parser::Sequence const& seq)
 {
         /*
          * DECSDDT - select-disconnect-delay-time
@@ -4093,7 +4096,7 @@ VteTerminalPrivate::DECSDDT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSDPT(vte::parser::Sequence const& seq)
+Terminal::DECSDPT(vte::parser::Sequence const& seq)
 {
         /*
          * DECSDPT - select-digital-printed-data-type
@@ -4105,7 +4108,7 @@ VteTerminalPrivate::DECSDPT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSED(vte::parser::Sequence const& seq)
+Terminal::DECSED(vte::parser::Sequence const& seq)
 {
         /*
          * DECSED - selective-erase-in-display
@@ -4127,7 +4130,7 @@ VteTerminalPrivate::DECSED(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSEL(vte::parser::Sequence const& seq)
+Terminal::DECSEL(vte::parser::Sequence const& seq)
 {
         /*
          * DECSEL - selective-erase-in-line
@@ -4149,7 +4152,7 @@ VteTerminalPrivate::DECSEL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSERA(vte::parser::Sequence const& seq)
+Terminal::DECSERA(vte::parser::Sequence const& seq)
 {
         /*
          * DECSERA - selective-erase-rectangular-area
@@ -4184,7 +4187,7 @@ VteTerminalPrivate::DECSERA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSEST(vte::parser::Sequence const& seq)
+Terminal::DECSEST(vte::parser::Sequence const& seq)
 {
         /*
          * DECSEST - energy saver time
@@ -4205,7 +4208,7 @@ VteTerminalPrivate::DECSEST(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSFC(vte::parser::Sequence const& seq)
+Terminal::DECSFC(vte::parser::Sequence const& seq)
 {
         /*
          * DECSFC - select-flow-control
@@ -4217,7 +4220,7 @@ VteTerminalPrivate::DECSFC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSIXEL(vte::parser::Sequence const& seq)
+Terminal::DECSIXEL(vte::parser::Sequence const& seq)
 {
         /*
          * DECSIXEL - SIXEL graphics
@@ -4227,7 +4230,7 @@ VteTerminalPrivate::DECSIXEL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSKCV(vte::parser::Sequence const& seq)
+Terminal::DECSKCV(vte::parser::Sequence const& seq)
 {
         /*
          * DECSKCV - set-key-click-volume
@@ -4249,7 +4252,7 @@ VteTerminalPrivate::DECSKCV(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSLCK(vte::parser::Sequence const& seq)
+Terminal::DECSLCK(vte::parser::Sequence const& seq)
 {
         /*
          * DECSLCK - set-lock-key-style
@@ -4262,7 +4265,7 @@ VteTerminalPrivate::DECSLCK(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSLE(vte::parser::Sequence const& seq)
+Terminal::DECSLE(vte::parser::Sequence const& seq)
 {
         /*
          * DECSLE - select-locator-events
@@ -4274,7 +4277,7 @@ VteTerminalPrivate::DECSLE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSLPP(vte::parser::Sequence const& seq)
+Terminal::DECSLPP(vte::parser::Sequence const& seq)
 {
         /*
          * DECSLPP - set-lines-per-page
@@ -4309,7 +4312,7 @@ VteTerminalPrivate::DECSLPP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSLRM(vte::parser::Sequence const& seq)
+Terminal::DECSLRM(vte::parser::Sequence const& seq)
 {
         /*
          * DECSLRM - set left and right margins
@@ -4349,7 +4352,7 @@ VteTerminalPrivate::DECSLRM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSMBV(vte::parser::Sequence const& seq)
+Terminal::DECSMBV(vte::parser::Sequence const& seq)
 {
         /*
          * DECSMBV - set-margin-bell-volume
@@ -4371,7 +4374,7 @@ VteTerminalPrivate::DECSMBV(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSMKR(vte::parser::Sequence const& seq)
+Terminal::DECSMKR(vte::parser::Sequence const& seq)
 {
         /*
          * DECSMKR - select-modifier-key-reporting
@@ -4386,7 +4389,7 @@ VteTerminalPrivate::DECSMKR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSNLS(vte::parser::Sequence const& seq)
+Terminal::DECSNLS(vte::parser::Sequence const& seq)
 {
         /*
          * DECSNLS - set-lines-per-screen
@@ -4407,7 +4410,7 @@ VteTerminalPrivate::DECSNLS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSPMA(vte::parser::Sequence const& seq)
+Terminal::DECSPMA(vte::parser::Sequence const& seq)
 {
         /*
          * DECSPMA - session page memory allocation
@@ -4420,7 +4423,7 @@ VteTerminalPrivate::DECSPMA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSPP(vte::parser::Sequence const& seq)
+Terminal::DECSPP(vte::parser::Sequence const& seq)
 {
         /*
          * DECSPP - set-port-parameter
@@ -4434,7 +4437,7 @@ VteTerminalPrivate::DECSPP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSPPCS(vte::parser::Sequence const& seq)
+Terminal::DECSPPCS(vte::parser::Sequence const& seq)
 {
         /*
          * DECSPPCS - select-pro-printer-character-set
@@ -4447,7 +4450,7 @@ VteTerminalPrivate::DECSPPCS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSPRTT(vte::parser::Sequence const& seq)
+Terminal::DECSPRTT(vte::parser::Sequence const& seq)
 {
         /*
          * DECSPRTT - select-printer-type
@@ -4460,7 +4463,7 @@ VteTerminalPrivate::DECSPRTT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSR(vte::parser::Sequence const& seq)
+Terminal::DECSR(vte::parser::Sequence const& seq)
 {
         /*
          * DECSR - secure-reset
@@ -4489,7 +4492,7 @@ VteTerminalPrivate::DECSR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSRFR(vte::parser::Sequence const& seq)
+Terminal::DECSRFR(vte::parser::Sequence const& seq)
 {
         /*
          * DECSRFR - select-refresh-rate
@@ -4502,7 +4505,7 @@ VteTerminalPrivate::DECSRFR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSSCLS(vte::parser::Sequence const& seq)
+Terminal::DECSSCLS(vte::parser::Sequence const& seq)
 {
         /*
          * DECSSCLS - set-scroll-speed
@@ -4515,7 +4518,7 @@ VteTerminalPrivate::DECSSCLS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSSDT(vte::parser::Sequence const& seq)
+Terminal::DECSSDT(vte::parser::Sequence const& seq)
 {
         /*
          * DECSSDT - select-status-display-line-type
@@ -4537,7 +4540,7 @@ VteTerminalPrivate::DECSSDT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSSL(vte::parser::Sequence const& seq)
+Terminal::DECSSL(vte::parser::Sequence const& seq)
 {
         /*
          * DECSSL - select-setup-language
@@ -4557,7 +4560,7 @@ VteTerminalPrivate::DECSSL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECST8C(vte::parser::Sequence const& seq)
+Terminal::DECST8C(vte::parser::Sequence const& seq)
 {
         /*
          * DECST8C - set-tab-at-every-8-columns
@@ -4576,7 +4579,7 @@ VteTerminalPrivate::DECST8C(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSTBM(vte::parser::Sequence const& seq)
+Terminal::DECSTBM(vte::parser::Sequence const& seq)
 {
         /*
          * DECSTBM - set-top-and-bottom-margins
@@ -4660,7 +4663,7 @@ VteTerminalPrivate::DECSTBM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSTGLT(vte::parser::Sequence const& seq)
+Terminal::DECSTGLT(vte::parser::Sequence const& seq)
 {
         /*
          * DECSTGLT - select color lookup table
@@ -4688,7 +4691,7 @@ VteTerminalPrivate::DECSTGLT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSTR(vte::parser::Sequence const& seq)
+Terminal::DECSTR(vte::parser::Sequence const& seq)
 {
         /*
          * DECSTR - soft-terminal-reset
@@ -4702,7 +4705,7 @@ VteTerminalPrivate::DECSTR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSTRL(vte::parser::Sequence const& seq)
+Terminal::DECSTRL(vte::parser::Sequence const& seq)
 {
         /*
          * DECSTRL - set-transmit-rate-limit
@@ -4714,7 +4717,7 @@ VteTerminalPrivate::DECSTRL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSTUI(vte::parser::Sequence const& seq)
+Terminal::DECSTUI(vte::parser::Sequence const& seq)
 {
         /*
          * DECSTUI - set terminal unit ID
@@ -4727,7 +4730,7 @@ VteTerminalPrivate::DECSTUI(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSWBV(vte::parser::Sequence const& seq)
+Terminal::DECSWBV(vte::parser::Sequence const& seq)
 {
         /*
          * DECSWBV - set-warning-bell-volume
@@ -4749,7 +4752,7 @@ VteTerminalPrivate::DECSWBV(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSWL(vte::parser::Sequence const& seq)
+Terminal::DECSWL(vte::parser::Sequence const& seq)
 {
         /*
          * DECSWL - single-width-single-height-line
@@ -4761,7 +4764,7 @@ VteTerminalPrivate::DECSWL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECSZS(vte::parser::Sequence const& seq)
+Terminal::DECSZS(vte::parser::Sequence const& seq)
 {
         /*
          * DECSZS - select zero symbol
@@ -4784,7 +4787,7 @@ VteTerminalPrivate::DECSZS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECTID(vte::parser::Sequence const& seq)
+Terminal::DECTID(vte::parser::Sequence const& seq)
 {
         /*
          * DECTID - select-terminal-id
@@ -4798,7 +4801,7 @@ VteTerminalPrivate::DECTID(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECTME(vte::parser::Sequence const& seq)
+Terminal::DECTME(vte::parser::Sequence const& seq)
 {
         /*
          * DECTME - terminal-mode-emulation
@@ -4814,7 +4817,7 @@ VteTerminalPrivate::DECTME(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECTST(vte::parser::Sequence const& seq)
+Terminal::DECTST(vte::parser::Sequence const& seq)
 {
         /*
          * DECTST - invoke-confidence-test
@@ -4831,7 +4834,7 @@ VteTerminalPrivate::DECTST(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECUDK(vte::parser::Sequence const& seq)
+Terminal::DECUDK(vte::parser::Sequence const& seq)
 {
         /*
          * DECUDK - user define keys
@@ -4844,7 +4847,7 @@ VteTerminalPrivate::DECUDK(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DECUS(vte::parser::Sequence const& seq)
+Terminal::DECUS(vte::parser::Sequence const& seq)
 {
         /*
          * DECUS - update session
@@ -4856,7 +4859,7 @@ VteTerminalPrivate::DECUS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DL(vte::parser::Sequence const& seq)
+Terminal::DL(vte::parser::Sequence const& seq)
 {
         /*
          * DL - delete-line
@@ -4891,7 +4894,7 @@ VteTerminalPrivate::DL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DLE(vte::parser::Sequence const& seq)
+Terminal::DLE(vte::parser::Sequence const& seq)
 {
         /*
          * DLE - data link escape
@@ -4905,7 +4908,7 @@ VteTerminalPrivate::DLE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DMI(vte::parser::Sequence const& seq)
+Terminal::DMI(vte::parser::Sequence const& seq)
 {
         /*
          * DMI - disable manual input
@@ -4917,7 +4920,7 @@ VteTerminalPrivate::DMI(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DOCS(vte::parser::Sequence const& seq)
+Terminal::DOCS(vte::parser::Sequence const& seq)
 {
         /*
          * DOCS - designate other coding systyem
@@ -4930,7 +4933,7 @@ VteTerminalPrivate::DOCS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DSR_ECMA(vte::parser::Sequence const& seq)
+Terminal::DSR_ECMA(vte::parser::Sequence const& seq)
 {
         /*
          * DSR_ECMA - Device Status Report
@@ -4995,7 +4998,7 @@ VteTerminalPrivate::DSR_ECMA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DSR_DEC(vte::parser::Sequence const& seq)
+Terminal::DSR_DEC(vte::parser::Sequence const& seq)
 {
         /*
          * DSR_DEC - device-status-report-dec
@@ -5158,7 +5161,7 @@ VteTerminalPrivate::DSR_DEC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::DTA(vte::parser::Sequence const& seq)
+Terminal::DTA(vte::parser::Sequence const& seq)
 {
         /*
          * DTA - dimension text area
@@ -5177,7 +5180,7 @@ VteTerminalPrivate::DTA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::EA(vte::parser::Sequence const& seq)
+Terminal::EA(vte::parser::Sequence const& seq)
 {
         /*
          * EA - erase in area
@@ -5211,7 +5214,7 @@ VteTerminalPrivate::EA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ECH(vte::parser::Sequence const& seq)
+Terminal::ECH(vte::parser::Sequence const& seq)
 {
         /*
          * ECH - erase-character
@@ -5256,7 +5259,7 @@ VteTerminalPrivate::ECH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ED(vte::parser::Sequence const& seq)
+Terminal::ED(vte::parser::Sequence const& seq)
 {
         /*
          * ED - erase-in-display
@@ -5292,7 +5295,7 @@ VteTerminalPrivate::ED(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::EF(vte::parser::Sequence const& seq)
+Terminal::EF(vte::parser::Sequence const& seq)
 {
         /*
          * EF - erase in field
@@ -5320,7 +5323,7 @@ VteTerminalPrivate::EF(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::EL(vte::parser::Sequence const& seq)
+Terminal::EL(vte::parser::Sequence const& seq)
 {
         /*
          * EL - erase-in-line
@@ -5352,7 +5355,7 @@ VteTerminalPrivate::EL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::EM(vte::parser::Sequence const& seq)
+Terminal::EM(vte::parser::Sequence const& seq)
 {
         /*
          * EM - end of medium
@@ -5362,7 +5365,7 @@ VteTerminalPrivate::EM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::EMI(vte::parser::Sequence const& seq)
+Terminal::EMI(vte::parser::Sequence const& seq)
 {
         /*
          * DMI - enable manual input
@@ -5374,7 +5377,7 @@ VteTerminalPrivate::EMI(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ENQ(vte::parser::Sequence const& seq)
+Terminal::ENQ(vte::parser::Sequence const& seq)
 {
         /*
          * ENQ - enquiry
@@ -5388,7 +5391,7 @@ VteTerminalPrivate::ENQ(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::EOT(vte::parser::Sequence const& seq)
+Terminal::EOT(vte::parser::Sequence const& seq)
 {
         /*
          * EOT - end of transmission
@@ -5401,7 +5404,7 @@ VteTerminalPrivate::EOT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::EPA(vte::parser::Sequence const& seq)
+Terminal::EPA(vte::parser::Sequence const& seq)
 {
         /*
          * EPA - end of guarded area
@@ -5418,7 +5421,7 @@ VteTerminalPrivate::EPA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ESA(vte::parser::Sequence const& seq)
+Terminal::ESA(vte::parser::Sequence const& seq)
 {
         /*
          * ESA - end of selected area
@@ -5431,7 +5434,7 @@ VteTerminalPrivate::ESA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ETB(vte::parser::Sequence const& seq)
+Terminal::ETB(vte::parser::Sequence const& seq)
 {
         /*
          * ETB - end of transmission block
@@ -5444,7 +5447,7 @@ VteTerminalPrivate::ETB(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ETX(vte::parser::Sequence const& seq)
+Terminal::ETX(vte::parser::Sequence const& seq)
 {
         /*
          * ETX - end of text
@@ -5457,7 +5460,7 @@ VteTerminalPrivate::ETX(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::FF(vte::parser::Sequence const& seq)
+Terminal::FF(vte::parser::Sequence const& seq)
 {
         /*
          * FF - form-feed
@@ -5470,7 +5473,7 @@ VteTerminalPrivate::FF(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::FNK(vte::parser::Sequence const& seq)
+Terminal::FNK(vte::parser::Sequence const& seq)
 {
         /*
          * FNK - function key
@@ -5488,7 +5491,7 @@ VteTerminalPrivate::FNK(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::FNT(vte::parser::Sequence const& seq)
+Terminal::FNT(vte::parser::Sequence const& seq)
 {
         /*
          * FNT - font selection
@@ -5509,7 +5512,7 @@ VteTerminalPrivate::FNT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::GCC(vte::parser::Sequence const& seq)
+Terminal::GCC(vte::parser::Sequence const& seq)
 {
         /*
          * GCC - graphic character combination
@@ -5531,7 +5534,7 @@ VteTerminalPrivate::GCC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::GSM(vte::parser::Sequence const& seq)
+Terminal::GSM(vte::parser::Sequence const& seq)
 {
         /*
          * GSM - graphic size modification
@@ -5551,7 +5554,7 @@ VteTerminalPrivate::GSM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::GSS(vte::parser::Sequence const& seq)
+Terminal::GSS(vte::parser::Sequence const& seq)
 {
         /*
          * GSM - graphic size selection
@@ -5569,7 +5572,7 @@ VteTerminalPrivate::GSS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::GnDm(vte::parser::Sequence const& seq)
+Terminal::GnDm(vte::parser::Sequence const& seq)
 {
         /*
          * GnDm - Gn-designate 9m-charset
@@ -5611,7 +5614,7 @@ VteTerminalPrivate::GnDm(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::GnDMm(vte::parser::Sequence const& seq)
+Terminal::GnDMm(vte::parser::Sequence const& seq)
 {
         /*
          * GnDm - Gn-designate multibyte 9m-charset
@@ -5626,7 +5629,7 @@ VteTerminalPrivate::GnDMm(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::HPA(vte::parser::Sequence const& seq)
+Terminal::HPA(vte::parser::Sequence const& seq)
 {
         /*
          * HPA - horizontal position absolute
@@ -5658,7 +5661,7 @@ VteTerminalPrivate::HPA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::HPB(vte::parser::Sequence const& seq)
+Terminal::HPB(vte::parser::Sequence const& seq)
 {
         /*
          * HPA - horizontal position backward
@@ -5676,7 +5679,7 @@ VteTerminalPrivate::HPB(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::HPR(vte::parser::Sequence const& seq)
+Terminal::HPR(vte::parser::Sequence const& seq)
 {
         /*
          * HPR - horizontal-position-relative
@@ -5704,7 +5707,7 @@ VteTerminalPrivate::HPR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::HT(vte::parser::Sequence const& seq)
+Terminal::HT(vte::parser::Sequence const& seq)
 {
         /*
          * HT - character tabulation
@@ -5727,7 +5730,7 @@ VteTerminalPrivate::HT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::HTJ(vte::parser::Sequence const& seq)
+Terminal::HTJ(vte::parser::Sequence const& seq)
 {
         /*
          * HTJ - character tabulation with justification
@@ -5743,7 +5746,7 @@ VteTerminalPrivate::HTJ(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::HTS(vte::parser::Sequence const& seq)
+Terminal::HTS(vte::parser::Sequence const& seq)
 {
         /*
          * HTS - horizontal-tab-set
@@ -5759,7 +5762,7 @@ VteTerminalPrivate::HTS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::HVP(vte::parser::Sequence const& seq)
+Terminal::HVP(vte::parser::Sequence const& seq)
 {
         /*
          * HVP - horizontal-and-vertical-position
@@ -5784,7 +5787,7 @@ VteTerminalPrivate::HVP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ICH(vte::parser::Sequence const& seq)
+Terminal::ICH(vte::parser::Sequence const& seq)
 {
         /*
          * ICH - insert-character
@@ -5827,7 +5830,7 @@ VteTerminalPrivate::ICH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IDCS(vte::parser::Sequence const& seq)
+Terminal::IDCS(vte::parser::Sequence const& seq)
 {
         /*
          * IDCS - identify device control string
@@ -5845,7 +5848,7 @@ VteTerminalPrivate::IDCS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IGS(vte::parser::Sequence const& seq)
+Terminal::IGS(vte::parser::Sequence const& seq)
 {
         /*
          * IGS - identify graphic subrepertoire
@@ -5867,7 +5870,7 @@ VteTerminalPrivate::IGS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IL(vte::parser::Sequence const& seq)
+Terminal::IL(vte::parser::Sequence const& seq)
 {
         /*
          * IL - insert-line
@@ -5906,7 +5909,7 @@ VteTerminalPrivate::IL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IND(vte::parser::Sequence const& seq)
+Terminal::IND(vte::parser::Sequence const& seq)
 {
         /*
          * IND - index - DEPRECATED
@@ -5918,7 +5921,7 @@ VteTerminalPrivate::IND(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::INT(vte::parser::Sequence const& seq)
+Terminal::INT(vte::parser::Sequence const& seq)
 {
         /*
          * INT - interrupt
@@ -5928,7 +5931,7 @@ VteTerminalPrivate::INT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IRR(vte::parser::Sequence const& seq)
+Terminal::IRR(vte::parser::Sequence const& seq)
 {
         /*
          * IRR - identify-revised-registration
@@ -5942,7 +5945,7 @@ VteTerminalPrivate::IRR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IS1(vte::parser::Sequence const& seq)
+Terminal::IS1(vte::parser::Sequence const& seq)
 {
         /*
          * IS1 - information separator 1 / unit separator (US)
@@ -5952,7 +5955,7 @@ VteTerminalPrivate::IS1(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IS2(vte::parser::Sequence const& seq)
+Terminal::IS2(vte::parser::Sequence const& seq)
 {
         /*
          * IS2 - information separator 2 / record separator (RS)
@@ -5962,7 +5965,7 @@ VteTerminalPrivate::IS2(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IS3(vte::parser::Sequence const& seq)
+Terminal::IS3(vte::parser::Sequence const& seq)
 {
         /*
          * IS3 - information separator 3 / group separator (GS)
@@ -5972,7 +5975,7 @@ VteTerminalPrivate::IS3(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::IS4(vte::parser::Sequence const& seq)
+Terminal::IS4(vte::parser::Sequence const& seq)
 {
         /*
          * IS4 - information separator 4 / file separator (FS)
@@ -5982,7 +5985,7 @@ VteTerminalPrivate::IS4(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::JFY(vte::parser::Sequence const& seq)
+Terminal::JFY(vte::parser::Sequence const& seq)
 {
         /*
          * JFY - justify
@@ -5994,7 +5997,7 @@ VteTerminalPrivate::JFY(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LF(vte::parser::Sequence const& seq)
+Terminal::LF(vte::parser::Sequence const& seq)
 {
         /*
          * LF - line-feed
@@ -6013,7 +6016,7 @@ VteTerminalPrivate::LF(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LS0(vte::parser::Sequence const& seq)
+Terminal::LS0(vte::parser::Sequence const& seq)
 {
         /*
          * LS0 -locking shift 0 (8 bit)
@@ -6032,7 +6035,7 @@ VteTerminalPrivate::LS0(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LS1(vte::parser::Sequence const& seq)
+Terminal::LS1(vte::parser::Sequence const& seq)
 {
         /*
          * LS1 -locking shift 1 (8 bit)
@@ -6051,7 +6054,7 @@ VteTerminalPrivate::LS1(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LS1R(vte::parser::Sequence const& seq)
+Terminal::LS1R(vte::parser::Sequence const& seq)
 {
         /*
          * LS1R - locking-shift-1-right
@@ -6066,7 +6069,7 @@ VteTerminalPrivate::LS1R(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LS2(vte::parser::Sequence const& seq)
+Terminal::LS2(vte::parser::Sequence const& seq)
 {
         /*
          * LS2 - locking-shift-2
@@ -6081,7 +6084,7 @@ VteTerminalPrivate::LS2(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LS2R(vte::parser::Sequence const& seq)
+Terminal::LS2R(vte::parser::Sequence const& seq)
 {
         /*
          * LS2R - locking-shift-2-right
@@ -6096,7 +6099,7 @@ VteTerminalPrivate::LS2R(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LS3(vte::parser::Sequence const& seq)
+Terminal::LS3(vte::parser::Sequence const& seq)
 {
         /*
          * LS3 - locking-shift-3
@@ -6112,7 +6115,7 @@ VteTerminalPrivate::LS3(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::LS3R(vte::parser::Sequence const& seq)
+Terminal::LS3R(vte::parser::Sequence const& seq)
 {
         /*
          * LS3R - locking-shift-3-right
@@ -6127,7 +6130,7 @@ VteTerminalPrivate::LS3R(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::MC_ECMA(vte::parser::Sequence const& seq)
+Terminal::MC_ECMA(vte::parser::Sequence const& seq)
 {
         /*
          * MC_ECMA - media-copy-ecma
@@ -6140,7 +6143,7 @@ VteTerminalPrivate::MC_ECMA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::MC_DEC(vte::parser::Sequence const& seq)
+Terminal::MC_DEC(vte::parser::Sequence const& seq)
 {
         /*
          * MC_DEC - media-copy-dec
@@ -6152,7 +6155,7 @@ VteTerminalPrivate::MC_DEC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::MW(vte::parser::Sequence const& seq)
+Terminal::MW(vte::parser::Sequence const& seq)
 {
         /*
          * MW - message waiting
@@ -6164,7 +6167,7 @@ VteTerminalPrivate::MW(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::NAK(vte::parser::Sequence const& seq)
+Terminal::NAK(vte::parser::Sequence const& seq)
 {
         /*
          * NAK - negative acknowledge
@@ -6177,7 +6180,7 @@ VteTerminalPrivate::NAK(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::NBH(vte::parser::Sequence const& seq)
+Terminal::NBH(vte::parser::Sequence const& seq)
 {
         /*
          * BPH - no break permitted here
@@ -6189,7 +6192,7 @@ VteTerminalPrivate::NBH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::NEL(vte::parser::Sequence const& seq)
+Terminal::NEL(vte::parser::Sequence const& seq)
 {
         /*
          * NEL - next-line
@@ -6209,7 +6212,7 @@ VteTerminalPrivate::NEL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::NP(vte::parser::Sequence const& seq)
+Terminal::NP(vte::parser::Sequence const& seq)
 {
         /*
          * NP - next-page
@@ -6230,7 +6233,7 @@ VteTerminalPrivate::NP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::NUL(vte::parser::Sequence const& seq)
+Terminal::NUL(vte::parser::Sequence const& seq)
 {
         /*
          * NUL - nothing
@@ -6240,7 +6243,7 @@ VteTerminalPrivate::NUL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::OSC(vte::parser::Sequence const& seq)
+Terminal::OSC(vte::parser::Sequence const& seq)
 {
         /*
          * OSC - operating system command
@@ -6390,7 +6393,7 @@ VteTerminalPrivate::OSC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PEC(vte::parser::Sequence const& seq)
+Terminal::PEC(vte::parser::Sequence const& seq)
 {
         /*
          * PEC - presentation expand or contract
@@ -6402,7 +6405,7 @@ VteTerminalPrivate::PEC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PFS(vte::parser::Sequence const& seq)
+Terminal::PFS(vte::parser::Sequence const& seq)
 {
         /*
          * PFS - page format selection
@@ -6414,7 +6417,7 @@ VteTerminalPrivate::PFS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PLD(vte::parser::Sequence const& seq)
+Terminal::PLD(vte::parser::Sequence const& seq)
 {
         /*
          * PLD - partial line forward
@@ -6426,7 +6429,7 @@ VteTerminalPrivate::PLD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PLU(vte::parser::Sequence const& seq)
+Terminal::PLU(vte::parser::Sequence const& seq)
 {
         /*
          * PLU - partial line backward
@@ -6438,7 +6441,7 @@ VteTerminalPrivate::PLU(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PP(vte::parser::Sequence const& seq)
+Terminal::PP(vte::parser::Sequence const& seq)
 {
         /*
          * PP - preceding page
@@ -6459,7 +6462,7 @@ VteTerminalPrivate::PP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PPA(vte::parser::Sequence const& seq)
+Terminal::PPA(vte::parser::Sequence const& seq)
 {
         /*
          * PPA - page position absolute
@@ -6481,7 +6484,7 @@ VteTerminalPrivate::PPA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PPB(vte::parser::Sequence const& seq)
+Terminal::PPB(vte::parser::Sequence const& seq)
 {
         /*
          * PPB - page position backward
@@ -6502,7 +6505,7 @@ VteTerminalPrivate::PPB(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PPR(vte::parser::Sequence const& seq)
+Terminal::PPR(vte::parser::Sequence const& seq)
 {
         /*
          * PPR - page position foward
@@ -6523,7 +6526,7 @@ VteTerminalPrivate::PPR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PTX(vte::parser::Sequence const& seq)
+Terminal::PTX(vte::parser::Sequence const& seq)
 {
         /*
          * PTX - parallel texts
@@ -6551,7 +6554,7 @@ VteTerminalPrivate::PTX(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PU1(vte::parser::Sequence const& seq)
+Terminal::PU1(vte::parser::Sequence const& seq)
 {
         /*
          * PU1 - private use 1
@@ -6563,7 +6566,7 @@ VteTerminalPrivate::PU1(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::PU2(vte::parser::Sequence const& seq)
+Terminal::PU2(vte::parser::Sequence const& seq)
 {
         /*
          * PU1 - private use 2
@@ -6575,7 +6578,7 @@ VteTerminalPrivate::PU2(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::QUAD(vte::parser::Sequence const& seq)
+Terminal::QUAD(vte::parser::Sequence const& seq)
 {
         /*
          * QUAD - quad
@@ -6587,7 +6590,7 @@ VteTerminalPrivate::QUAD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::REP(vte::parser::Sequence const& seq)
+Terminal::REP(vte::parser::Sequence const& seq)
 {
         /*
          * REP - repeat
@@ -6611,7 +6614,7 @@ VteTerminalPrivate::REP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::RI(vte::parser::Sequence const& seq)
+Terminal::RI(vte::parser::Sequence const& seq)
 {
         /*
          * RI - reverse-index
@@ -6655,7 +6658,7 @@ VteTerminalPrivate::RI(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::RIS(vte::parser::Sequence const& seq)
+Terminal::RIS(vte::parser::Sequence const& seq)
 {
         /*
          * RIS - reset-to-initial-state
@@ -6669,7 +6672,7 @@ VteTerminalPrivate::RIS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::RLOGIN_MML(vte::parser::Sequence const& seq)
+Terminal::RLOGIN_MML(vte::parser::Sequence const& seq)
 {
         /*
          * RLOGIN_MML - RLogin music markup language
@@ -6681,7 +6684,7 @@ VteTerminalPrivate::RLOGIN_MML(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::RM_ECMA(vte::parser::Sequence const& seq)
+Terminal::RM_ECMA(vte::parser::Sequence const& seq)
 {
         /*
          * RM_ECMA - reset-mode-ecma
@@ -6695,7 +6698,7 @@ VteTerminalPrivate::RM_ECMA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::RM_DEC(vte::parser::Sequence const& seq)
+Terminal::RM_DEC(vte::parser::Sequence const& seq)
 {
         /*
          * RM_DEC - reset-mode-dec
@@ -6710,7 +6713,7 @@ VteTerminalPrivate::RM_DEC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SCORC(vte::parser::Sequence const& seq)
+Terminal::SCORC(vte::parser::Sequence const& seq)
 {
         /*
          * SCORC - SCO restore-cursor
@@ -6722,7 +6725,7 @@ VteTerminalPrivate::SCORC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SACS(vte::parser::Sequence const& seq)
+Terminal::SACS(vte::parser::Sequence const& seq)
 {
         /*
          * SACS - set additional character separation
@@ -6740,7 +6743,7 @@ VteTerminalPrivate::SACS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SAPV(vte::parser::Sequence const& seq)
+Terminal::SAPV(vte::parser::Sequence const& seq)
 {
         /*
          * SAPV - select alternative presentation variants
@@ -6759,7 +6762,7 @@ VteTerminalPrivate::SAPV(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SCO(vte::parser::Sequence const& seq)
+Terminal::SCO(vte::parser::Sequence const& seq)
 {
         /*
          * SCO - select character orientation
@@ -6777,7 +6780,7 @@ VteTerminalPrivate::SCO(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SCP(vte::parser::Sequence const& seq)
+Terminal::SCP(vte::parser::Sequence const& seq)
 {
         /*
          * SCP - select character path
@@ -6802,7 +6805,7 @@ VteTerminalPrivate::SCP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SCS(vte::parser::Sequence const& seq)
+Terminal::SCS(vte::parser::Sequence const& seq)
 {
         /*
          * SCS - set character spacing
@@ -6818,7 +6821,7 @@ VteTerminalPrivate::SCS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SD(vte::parser::Sequence const& seq)
+Terminal::SD(vte::parser::Sequence const& seq)
 {
         /*
          * SD - scroll down / pan up
@@ -6852,7 +6855,7 @@ VteTerminalPrivate::SD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SD_OR_XTERM_IHMT(vte::parser::Sequence const& seq)
+Terminal::SD_OR_XTERM_IHMT(vte::parser::Sequence const& seq)
 {
         /*
          * There's a conflict between SD and XTERM IHMT that we
@@ -6868,7 +6871,7 @@ VteTerminalPrivate::SD_OR_XTERM_IHMT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SDS(vte::parser::Sequence const& seq)
+Terminal::SDS(vte::parser::Sequence const& seq)
 {
         /*
          * SDS - start directed string
@@ -6887,7 +6890,7 @@ VteTerminalPrivate::SDS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SEE(vte::parser::Sequence const& seq)
+Terminal::SEE(vte::parser::Sequence const& seq)
 {
         /*
          * SEE - select editing extent
@@ -6908,7 +6911,7 @@ VteTerminalPrivate::SEE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SEF(vte::parser::Sequence const& seq)
+Terminal::SEF(vte::parser::Sequence const& seq)
 {
         /*
          * SEF - sheet eject and feed
@@ -6928,7 +6931,7 @@ VteTerminalPrivate::SEF(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SGR(vte::parser::Sequence const& seq)
+Terminal::SGR(vte::parser::Sequence const& seq)
 {
         /*
          * SGR - select-graphics-rendition
@@ -7073,7 +7076,7 @@ VteTerminalPrivate::SGR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SHS(vte::parser::Sequence const& seq)
+Terminal::SHS(vte::parser::Sequence const& seq)
 {
         /*
          * SHS - select character spacing
@@ -7091,7 +7094,7 @@ VteTerminalPrivate::SHS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SIMD(vte::parser::Sequence const& seq)
+Terminal::SIMD(vte::parser::Sequence const& seq)
 {
         /*
          * SIMD - select implicit movement direction
@@ -7109,7 +7112,7 @@ VteTerminalPrivate::SIMD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SL(vte::parser::Sequence const& seq)
+Terminal::SL(vte::parser::Sequence const& seq)
 {
         /*
          * SL - scroll left
@@ -7127,7 +7130,7 @@ VteTerminalPrivate::SL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SLH(vte::parser::Sequence const& seq)
+Terminal::SLH(vte::parser::Sequence const& seq)
 {
         /*
          * SLH - set line home
@@ -7146,7 +7149,7 @@ VteTerminalPrivate::SLH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SLL(vte::parser::Sequence const& seq)
+Terminal::SLL(vte::parser::Sequence const& seq)
 {
         /*
          * SLL - set line limit
@@ -7165,7 +7168,7 @@ VteTerminalPrivate::SLL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SLS(vte::parser::Sequence const& seq)
+Terminal::SLS(vte::parser::Sequence const& seq)
 {
         /*
          * SLS - set line spacing
@@ -7183,7 +7186,7 @@ VteTerminalPrivate::SLS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SM_ECMA(vte::parser::Sequence const& seq)
+Terminal::SM_ECMA(vte::parser::Sequence const& seq)
 {
         /*
          * SM_ECMA - set-mode-ecma
@@ -7197,7 +7200,7 @@ VteTerminalPrivate::SM_ECMA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SM_DEC(vte::parser::Sequence const& seq)
+Terminal::SM_DEC(vte::parser::Sequence const& seq)
 {
         /*
          * SM_DEC - set-mode-dec
@@ -7212,7 +7215,7 @@ VteTerminalPrivate::SM_DEC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SOH(vte::parser::Sequence const& seq)
+Terminal::SOH(vte::parser::Sequence const& seq)
 {
         /*
          * SOH - start of heading
@@ -7222,7 +7225,7 @@ VteTerminalPrivate::SOH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SPA(vte::parser::Sequence const& seq)
+Terminal::SPA(vte::parser::Sequence const& seq)
 {
         /*
          * SPA - start of protected area
@@ -7239,7 +7242,7 @@ VteTerminalPrivate::SPA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SPD(vte::parser::Sequence const& seq)
+Terminal::SPD(vte::parser::Sequence const& seq)
 {
         /*
          * SPD - select presentation directions
@@ -7269,7 +7272,7 @@ VteTerminalPrivate::SPD(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SPH(vte::parser::Sequence const& seq)
+Terminal::SPH(vte::parser::Sequence const& seq)
 {
         /*
          * SPH - set page home
@@ -7288,7 +7291,7 @@ VteTerminalPrivate::SPH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SPI(vte::parser::Sequence const& seq)
+Terminal::SPI(vte::parser::Sequence const& seq)
 {
         /*
          * SPI - spacing increment
@@ -7307,7 +7310,7 @@ VteTerminalPrivate::SPI(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SPL(vte::parser::Sequence const& seq)
+Terminal::SPL(vte::parser::Sequence const& seq)
 {
         /*
          * SPL - set page limit
@@ -7326,7 +7329,7 @@ VteTerminalPrivate::SPL(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SPQR(vte::parser::Sequence const& seq)
+Terminal::SPQR(vte::parser::Sequence const& seq)
 {
         /*
          * SPQR - select print quality and rapidity
@@ -7342,7 +7345,7 @@ VteTerminalPrivate::SPQR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SR(vte::parser::Sequence const& seq)
+Terminal::SR(vte::parser::Sequence const& seq)
 {
         /*
          * SL - scroll right
@@ -7360,7 +7363,7 @@ VteTerminalPrivate::SR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SRCS(vte::parser::Sequence const& seq)
+Terminal::SRCS(vte::parser::Sequence const& seq)
 {
         /*
          * SRCS - set reduced character separation
@@ -7378,7 +7381,7 @@ VteTerminalPrivate::SRCS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SRS(vte::parser::Sequence const& seq)
+Terminal::SRS(vte::parser::Sequence const& seq)
 {
         /*
          * SRS - start reversed string
@@ -7396,7 +7399,7 @@ VteTerminalPrivate::SRS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SSA(vte::parser::Sequence const& seq)
+Terminal::SSA(vte::parser::Sequence const& seq)
 {
         /*
          * SSA - start of selected area
@@ -7413,7 +7416,7 @@ VteTerminalPrivate::SSA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SSU(vte::parser::Sequence const& seq)
+Terminal::SSU(vte::parser::Sequence const& seq)
 {
         /*
          * SSU - set size unit
@@ -7429,7 +7432,7 @@ VteTerminalPrivate::SSU(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SSW(vte::parser::Sequence const& seq)
+Terminal::SSW(vte::parser::Sequence const& seq)
 {
         /*
          * SSW - set space width
@@ -7445,7 +7448,7 @@ VteTerminalPrivate::SSW(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SS2(vte::parser::Sequence const& seq)
+Terminal::SS2(vte::parser::Sequence const& seq)
 {
         /*
          * SS2 - single-shift-2
@@ -7461,7 +7464,7 @@ VteTerminalPrivate::SS2(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SS3(vte::parser::Sequence const& seq)
+Terminal::SS3(vte::parser::Sequence const& seq)
 {
         /*
          * SS3 - single-shift-3
@@ -7477,7 +7480,7 @@ VteTerminalPrivate::SS3(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::ST(vte::parser::Sequence const& seq)
+Terminal::ST(vte::parser::Sequence const& seq)
 {
         /*
          * ST - string-terminator
@@ -7490,7 +7493,7 @@ VteTerminalPrivate::ST(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::STAB(vte::parser::Sequence const& seq)
+Terminal::STAB(vte::parser::Sequence const& seq)
 {
         /*
          * STAB - selective tabulation
@@ -7507,7 +7510,7 @@ VteTerminalPrivate::STAB(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::STS(vte::parser::Sequence const& seq)
+Terminal::STS(vte::parser::Sequence const& seq)
 {
         /*
          * STS - set transmit state
@@ -7519,7 +7522,7 @@ VteTerminalPrivate::STS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::STX(vte::parser::Sequence const& seq)
+Terminal::STX(vte::parser::Sequence const& seq)
 {
         /*
          * STX - start of text
@@ -7532,7 +7535,7 @@ VteTerminalPrivate::STX(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SU(vte::parser::Sequence const& seq)
+Terminal::SU(vte::parser::Sequence const& seq)
 {
         /*
          * SU - scroll-up / pan down
@@ -7565,7 +7568,7 @@ VteTerminalPrivate::SU(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SUB(vte::parser::Sequence const& seq)
+Terminal::SUB(vte::parser::Sequence const& seq)
 {
         /*
          * SUB - substitute
@@ -7580,7 +7583,7 @@ VteTerminalPrivate::SUB(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SVS(vte::parser::Sequence const& seq)
+Terminal::SVS(vte::parser::Sequence const& seq)
 {
         /*
          * SVS - select line spacing
@@ -7599,7 +7602,7 @@ VteTerminalPrivate::SVS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::SYN(vte::parser::Sequence const& seq)
+Terminal::SYN(vte::parser::Sequence const& seq)
 {
         /*
          * SYN - synchronous idle
@@ -7612,7 +7615,7 @@ VteTerminalPrivate::SYN(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::TAC(vte::parser::Sequence const& seq)
+Terminal::TAC(vte::parser::Sequence const& seq)
 {
         /*
          * TAC - tabulation aligned centre
@@ -7625,7 +7628,7 @@ VteTerminalPrivate::TAC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::TALE(vte::parser::Sequence const& seq)
+Terminal::TALE(vte::parser::Sequence const& seq)
 {
         /*
          * TALE - tabulation aligned leading edge
@@ -7638,7 +7641,7 @@ VteTerminalPrivate::TALE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::TATE(vte::parser::Sequence const& seq)
+Terminal::TATE(vte::parser::Sequence const& seq)
 {
         /*
          * TATE - tabulation aligned trailing edge
@@ -7651,7 +7654,7 @@ VteTerminalPrivate::TATE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::TBC(vte::parser::Sequence const& seq)
+Terminal::TBC(vte::parser::Sequence const& seq)
 {
         /*
          * TBC - tab-clear
@@ -7698,7 +7701,7 @@ VteTerminalPrivate::TBC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::TCC(vte::parser::Sequence const& seq)
+Terminal::TCC(vte::parser::Sequence const& seq)
 {
         /*
          * TCC - tabulation centred on character
@@ -7712,7 +7715,7 @@ VteTerminalPrivate::TCC(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::TSR(vte::parser::Sequence const& seq)
+Terminal::TSR(vte::parser::Sequence const& seq)
 {
         /*
          * TSR - tabulation stop remove
@@ -7733,7 +7736,7 @@ VteTerminalPrivate::TSR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::TSS(vte::parser::Sequence const& seq)
+Terminal::TSS(vte::parser::Sequence const& seq)
 {
         /*
          * TSS - thin space specification
@@ -7751,7 +7754,7 @@ VteTerminalPrivate::TSS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::VPA(vte::parser::Sequence const& seq)
+Terminal::VPA(vte::parser::Sequence const& seq)
 {
         /*
          * VPA - vertical line position absolute
@@ -7784,7 +7787,7 @@ VteTerminalPrivate::VPA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::VPB(vte::parser::Sequence const& seq)
+Terminal::VPB(vte::parser::Sequence const& seq)
 {
         /*
          * VPB - line position backward
@@ -7812,7 +7815,7 @@ VteTerminalPrivate::VPB(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::VPR(vte::parser::Sequence const& seq)
+Terminal::VPR(vte::parser::Sequence const& seq)
 {
         /*
          * VPR - vertical line position relative
@@ -7840,7 +7843,7 @@ VteTerminalPrivate::VPR(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::VT(vte::parser::Sequence const& seq)
+Terminal::VT(vte::parser::Sequence const& seq)
 {
         /*
          * VT - vertical-tab
@@ -7854,7 +7857,7 @@ VteTerminalPrivate::VT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::VTS(vte::parser::Sequence const& seq)
+Terminal::VTS(vte::parser::Sequence const& seq)
 {
         /*
          * VTS - line tabulation set
@@ -7867,7 +7870,7 @@ VteTerminalPrivate::VTS(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::WYCAA(vte::parser::Sequence const& seq)
+Terminal::WYCAA(vte::parser::Sequence const& seq)
 {
         /*
          * WYCAA - redefine character display attribute association
@@ -8027,7 +8030,7 @@ VteTerminalPrivate::WYCAA(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::WYDHL_BH(vte::parser::Sequence const& seq)
+Terminal::WYDHL_BH(vte::parser::Sequence const& seq)
 {
         /*
          * WYDHL_BH - single width double height line: bottom half
@@ -8039,7 +8042,7 @@ VteTerminalPrivate::WYDHL_BH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::WYDHL_TH(vte::parser::Sequence const& seq)
+Terminal::WYDHL_TH(vte::parser::Sequence const& seq)
 {
         /*
          * WYDHL_TH - single width double height line: top half
@@ -8051,7 +8054,7 @@ VteTerminalPrivate::WYDHL_TH(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::WYSCRATE(vte::parser::Sequence const& seq)
+Terminal::WYSCRATE(vte::parser::Sequence const& seq)
 {
         /*
          * WYSCRATE - set smooth scroll rate
@@ -8064,7 +8067,7 @@ VteTerminalPrivate::WYSCRATE(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::WYLSFNT(vte::parser::Sequence const& seq)
+Terminal::WYLSFNT(vte::parser::Sequence const& seq)
 {
         /*
          * WYLSFNT - load soft font
@@ -8076,7 +8079,7 @@ VteTerminalPrivate::WYLSFNT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_IHMT(vte::parser::Sequence const& seq)
+Terminal::XTERM_IHMT(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_IHMT - xterm-initiate-highlight-mouse-tracking
@@ -8086,7 +8089,7 @@ VteTerminalPrivate::XTERM_IHMT(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_MLHP(vte::parser::Sequence const& seq)
+Terminal::XTERM_MLHP(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_MLHP - xterm-memory-lock-hp-bugfix
@@ -8096,7 +8099,7 @@ VteTerminalPrivate::XTERM_MLHP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_MUHP(vte::parser::Sequence const& seq)
+Terminal::XTERM_MUHP(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_MUHP - xterm-memory-unlock-hp-bugfix
@@ -8106,7 +8109,7 @@ VteTerminalPrivate::XTERM_MUHP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_RPM(vte::parser::Sequence const& seq)
+Terminal::XTERM_RPM(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_RPM - xterm-restore-private-mode
@@ -8120,7 +8123,7 @@ VteTerminalPrivate::XTERM_RPM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_RQTCAP(vte::parser::Sequence const& seq)
+Terminal::XTERM_RQTCAP(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_TQTCAP - xterm request termcap/terminfo
@@ -8130,7 +8133,7 @@ VteTerminalPrivate::XTERM_RQTCAP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_RRV(vte::parser::Sequence const& seq)
+Terminal::XTERM_RRV(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_RRV - xterm-reset-resource-value
@@ -8140,7 +8143,7 @@ VteTerminalPrivate::XTERM_RRV(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_RTM(vte::parser::Sequence const& seq)
+Terminal::XTERM_RTM(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_RTM - xterm-reset-title-mode
@@ -8150,7 +8153,7 @@ VteTerminalPrivate::XTERM_RTM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_SGFX(vte::parser::Sequence const& seq)
+Terminal::XTERM_SGFX(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_SGFX - xterm-sixel-graphics
@@ -8160,7 +8163,7 @@ VteTerminalPrivate::XTERM_SGFX(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_SPM(vte::parser::Sequence const& seq)
+Terminal::XTERM_SPM(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_SPM - xterm-set-private-mode
@@ -8174,7 +8177,7 @@ VteTerminalPrivate::XTERM_SPM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_SRV(vte::parser::Sequence const& seq)
+Terminal::XTERM_SRV(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_SRV - xterm-set-resource-value
@@ -8184,7 +8187,7 @@ VteTerminalPrivate::XTERM_SRV(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_STM(vte::parser::Sequence const& seq)
+Terminal::XTERM_STM(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_STM - xterm-set-title-mode
@@ -8194,7 +8197,7 @@ VteTerminalPrivate::XTERM_STM(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_STCAP(vte::parser::Sequence const& seq)
+Terminal::XTERM_STCAP(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_STCAP - xterm set termcap/terminfo
@@ -8204,7 +8207,7 @@ VteTerminalPrivate::XTERM_STCAP(vte::parser::Sequence const& seq)
 }
 
 void
-VteTerminalPrivate::XTERM_WM(vte::parser::Sequence const& seq)
+Terminal::XTERM_WM(vte::parser::Sequence const& seq)
 {
         /*
          * XTERM_WM - xterm-window-management
@@ -8459,3 +8462,6 @@ VteTerminalPrivate::XTERM_WM(vte::parser::Sequence const& seq)
                 break;
         }
 }
+
+} // namespace terminal
+} // namespace vte


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]