Hello community, here is the log from the commit of package vte for openSUSE:Factory checked in at 2018-04-19 15:22:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vte (Old) and /work/SRC/openSUSE:Factory/.vte.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vte" Thu Apr 19 15:22:35 2018 rev:110 rq:596130 version:0.52.1 Changes: -------- --- /work/SRC/openSUSE:Factory/vte/vte.changes 2018-03-26 12:37:19.425094374 +0200 +++ /work/SRC/openSUSE:Factory/.vte.new/vte.changes 2018-04-19 15:22:36.891822610 +0200 @@ -1,0 +2,8 @@ +Mon Apr 09 20:22:17 UTC 2018 - bjorn....@gmail.com + +- Update to version 0.52.1: + + lib: Filter out BS and DEL from paste. + + widget: Remove GdkVisibilityState handling. + + emulation: Add support for OSC 5;0 (bold color). + +------------------------------------------------------------------- Old: ---- vte-0.52.0.tar.xz New: ---- vte-0.52.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vte.spec ++++++ --- /var/tmp/diff_new_pack.1C50bS/_old 2018-04-19 15:22:37.387802594 +0200 +++ /var/tmp/diff_new_pack.1C50bS/_new 2018-04-19 15:22:37.391802433 +0200 @@ -22,7 +22,7 @@ %define _gtkver 3.0 %define _name vte Name: vte -Version: 0.52.0 +Version: 0.52.1 Release: 0 Summary: Terminal Emulator Library License: LGPL-2.0-only AND GPL-2.0-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.1C50bS/_old 2018-04-19 15:22:37.435800657 +0200 +++ /var/tmp/diff_new_pack.1C50bS/_new 2018-04-19 15:22:37.435800657 +0200 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> - <param name="revision">refs/tags/0.52.0</param> + <param name="revision">refs/tags/0.52.1</param> <param name="exclude">doc/vttest.*</param> </service> <service name="recompress" mode="disabled"> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.1C50bS/_old 2018-04-19 15:22:37.467799366 +0200 +++ /var/tmp/diff_new_pack.1C50bS/_new 2018-04-19 15:22:37.467799366 +0200 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">git://git.gnome.org/vte</param> - <param name="changesrevision">b4b2eb2ceeeb1625fd1f689dc2b4cceff68e4bd6</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">d00c15afcd4f50cc57d6bf3bcc87bd6cedf25529</param></service></servicedata> \ No newline at end of file ++++++ vte-0.52.0.tar.xz -> vte-0.52.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.52.0/configure.ac new/vte-0.52.1/configure.ac --- old/vte-0.52.0/configure.ac 2018-03-05 21:58:12.000000000 +0100 +++ new/vte-0.52.1/configure.ac 2018-04-09 10:56:21.000000000 +0200 @@ -1,6 +1,6 @@ m4_define([version_major],0) m4_define([version_minor],52) -m4_define([version_micro],0) +m4_define([version_micro],1) m4_define([version_triplet],version_major.version_minor.version_micro) AC_PREREQ([2.63]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.52.0/src/caps-list.hh new/vte-0.52.1/src/caps-list.hh --- old/vte-0.52.0/src/caps-list.hh 2018-03-05 21:58:12.000000000 +0100 +++ new/vte-0.52.1/src/caps-list.hh 2018-04-09 10:56:21.000000000 +0200 @@ -218,6 +218,7 @@ ENTRY(OSC "2;%s" BEL, set_window_title), ENTRY(OSC "3;%s" BEL, set_xproperty), ENTRY(OSC "4;%s" BEL, change_color_bel), + ENTRY(OSC "5;0;%s" BEL, change_bold_color_bel), ENTRY(OSC "6;%s" BEL, set_current_file_uri), ENTRY(OSC "7;%s" BEL, set_current_directory_uri), ENTRY(OSC "8;%s;%s" BEL, set_current_hyperlink), @@ -236,6 +237,8 @@ ENTRY(OSC "50;%s" BEL, change_font_name), ENTRY(OSC "104" BEL, reset_color), ENTRY(OSC "104;%m" BEL, reset_color), + ENTRY(OSC "105" BEL, reset_bold_color), + ENTRY(OSC "105;0" BEL, reset_bold_color), ENTRY(OSC "110" BEL, reset_foreground_color), ENTRY(OSC "111" BEL, reset_background_color), ENTRY(OSC "112" BEL, reset_cursor_background_color), @@ -257,6 +260,7 @@ ENTRY(OSC "2;%s" ST, set_window_title), ENTRY(OSC "3;%s" ST, set_xproperty), ENTRY(OSC "4;%s" ST, change_color_st), + ENTRY(OSC "5;0;%s" ST, change_bold_color_st), ENTRY(OSC "6;%s" ST, set_current_file_uri), ENTRY(OSC "7;%s" ST, set_current_directory_uri), ENTRY(OSC "8;%s;%s" ST, set_current_hyperlink), @@ -275,6 +279,8 @@ ENTRY(OSC "50;%s" ST, change_font_name), ENTRY(OSC "104" ST, reset_color), ENTRY(OSC "104;%m" ST, reset_color), + ENTRY(OSC "105" ST, reset_bold_color), + ENTRY(OSC "105;0" ST, reset_bold_color), ENTRY(OSC "110" ST, reset_foreground_color), ENTRY(OSC "111" ST, reset_background_color), ENTRY(OSC "112" ST, reset_cursor_background_color), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.52.0/src/vte.cc new/vte-0.52.1/src/vte.cc --- old/vte-0.52.0/src/vte.cc 2018-03-05 21:58:12.000000000 +0100 +++ new/vte-0.52.1/src/vte.cc 2018-04-09 10:56:21.000000000 +0200 @@ -5297,14 +5297,15 @@ /* Convert newlines to carriage returns, which more software * is able to cope with (cough, pico, cough). - * Filter out control chars except ^H, ^I, ^J, ^M and ^? (as per xterm). + * Filter out control chars except HT, CR (even stricter than xterm). * Also filter out C1 controls: U+0080 (0xC2 0x80) - U+009F (0xC2 0x9F). */ p = paste = (gchar *) g_malloc(len + 1); while (p != nullptr && text[0] != '\0') { run = strcspn(text, "\x01\x02\x03\x04\x05\x06\x07" - "\x0A\x0B\x0C\x0E\x0F" + "\x08\x0A\x0B\x0C\x0E\x0F" "\x10\x11\x12\x13\x14\x15\x16\x17" - "\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\xC2"); + "\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F" + "\x7F\xC2"); memcpy(p, text, run); p += run; text += run; @@ -7476,42 +7477,6 @@ } } -void -VteTerminalPrivate::widget_visibility_notify(GdkEventVisibility *event) -{ - _vte_debug_print(VTE_DEBUG_EVENTS | VTE_DEBUG_MISC, - "Visibility (%s -> %s).\n", - visibility_state_str(m_visibility_state), - visibility_state_str(event->state)); - - if (event->state == m_visibility_state) { - return; - } - - /* fully obscured to visible switch, force the fast path */ - if (m_visibility_state == GDK_VISIBILITY_FULLY_OBSCURED) { - /* set invalidated_all false, since we didn't really mean it - * when we set it to TRUE when becoming obscured */ - m_invalidated_all = FALSE; - - /* if all unobscured now, invalidate all, otherwise, wait - * for the expose event */ - if (event->state == GDK_VISIBILITY_UNOBSCURED) { - invalidate_all(); - } - } - - m_visibility_state = event->state; - - /* no longer visible, stop processing display updates */ - if (m_visibility_state == GDK_VISIBILITY_FULLY_OBSCURED) { - remove_update_timeout(this); - /* if fully obscured, just act like we have invalidated all, - * so no updates are accumulated. */ - m_invalidated_all = TRUE; - } -} - /* Apply the changed metrics, and queue a resize if need be. * * The cell's height consists of 4 parts, from top to bottom: @@ -7986,8 +7951,6 @@ /* Sanity checks. */ if (G_UNLIKELY(!widget_realized())) return; - if (m_visibility_state == GDK_VISIBILITY_FULLY_OBSCURED) - return; /* FIXME: do this check in pixel space */ if (!_vte_double_equal(dy, 0)) { @@ -8235,10 +8198,6 @@ /* Mouse */ m_mouse_last_position = vte::view::coords(-1, -1); - /* Not all backends generate GdkVisibilityNotify, so mark the - * window as unobscured initially. */ - m_visibility_state = GDK_VISIBILITY_UNOBSCURED; - m_padding = default_padding; update_view_extents(); @@ -8724,7 +8683,6 @@ attributes.visual = gtk_widget_get_visual(m_widget); attributes.event_mask = gtk_widget_get_events(m_widget) | GDK_EXPOSURE_MASK | - GDK_VISIBILITY_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_SMOOTH_SCROLL_MASK | GDK_SCROLL_MASK | @@ -10849,11 +10807,7 @@ VteTerminalPrivate::reset_update_rects() { g_array_set_size(m_update_rects, 0); - - /* The invalidated_all flag also marks whether to skip processing - * due to the widget being invisible. - */ - m_invalidated_all = m_visibility_state == GDK_VISIBILITY_FULLY_OBSCURED; + m_invalidated_all = FALSE; } static bool @@ -11151,10 +11105,6 @@ { if (G_UNLIKELY(!widget_realized())) return false; - if (m_visibility_state == GDK_VISIBILITY_FULLY_OBSCURED) { - reset_update_rects(); - return false; - } if (G_UNLIKELY (!m_update_rects->len)) return false; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.52.0/src/vtegtk.cc new/vte-0.52.1/src/vtegtk.cc --- old/vte-0.52.0/src/vtegtk.cc 2018-03-05 21:58:12.000000000 +0100 +++ new/vte-0.52.1/src/vtegtk.cc 2018-04-09 10:56:21.000000000 +0200 @@ -266,14 +266,6 @@ return ret; } -static gboolean -vte_terminal_visibility_notify(GtkWidget *widget, GdkEventVisibility *event) -{ - VteTerminal *terminal = VTE_TERMINAL(widget); - IMPL(terminal)->widget_visibility_notify(event); - return FALSE; -} - static void vte_terminal_get_preferred_width(GtkWidget *widget, int *minimum_width, @@ -689,7 +681,6 @@ widget_class->leave_notify_event = vte_terminal_leave; widget_class->focus_in_event = vte_terminal_focus_in; widget_class->focus_out_event = vte_terminal_focus_out; - widget_class->visibility_notify_event = vte_terminal_visibility_notify; widget_class->style_updated = vte_terminal_style_updated; widget_class->get_preferred_width = vte_terminal_get_preferred_width; widget_class->get_preferred_height = vte_terminal_get_preferred_height; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.52.0/src/vteinternal.hh new/vte-0.52.1/src/vteinternal.hh --- old/vte-0.52.0/src/vteinternal.hh 2018-03-05 21:58:12.000000000 +0100 +++ new/vte-0.52.1/src/vteinternal.hh 2018-04-09 10:56:21.000000000 +0200 @@ -650,9 +650,6 @@ /* Key modifiers. */ guint m_modifiers; - /* Obscured? state. */ - GdkVisibilityState m_visibility_state; - /* Font stuff. */ gboolean m_has_fonts; long m_line_thickness; @@ -823,7 +820,6 @@ bool widget_button_release(GdkEventButton *event); void widget_enter(GdkEventCrossing *event); void widget_leave(GdkEventCrossing *event); - void widget_visibility_notify(GdkEventVisibility *event); void widget_scroll(GdkEventScroll *event); bool widget_motion_notify(GdkEventMotion *event); void widget_draw(cairo_t *cr); @@ -1343,7 +1339,7 @@ inline void change_special_color(vte::parser::Params const& params, int index, int index_fallback, - int osc, + const char *osc, char const *terminator); unsigned int checksum_area(vte::grid::row_t start_row, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.52.0/src/vteseq-list.hh new/vte-0.52.1/src/vteseq-list.hh --- old/vte-0.52.0/src/vteseq-list.hh 2018-03-05 21:58:12.000000000 +0100 +++ new/vte-0.52.1/src/vteseq-list.hh 2018-04-09 10:56:21.000000000 +0200 @@ -8,6 +8,8 @@ SEQUENCE_HANDLER(carriage_return) SEQUENCE_HANDLER(change_background_color_bel) SEQUENCE_HANDLER(change_background_color_st) +SEQUENCE_HANDLER(change_bold_color_bel) +SEQUENCE_HANDLER(change_bold_color_st) SEQUENCE_HANDLER(change_color_bel) SEQUENCE_HANDLER(change_color_st) SEQUENCE_HANDLER(change_cursor_background_color_bel) @@ -96,6 +98,7 @@ SEQUENCE_HANDLER(request_locator_position) SEQUENCE_HANDLER(request_terminal_parameters) SEQUENCE_HANDLER(reset_background_color) +SEQUENCE_HANDLER(reset_bold_color) SEQUENCE_HANDLER(reset_color) SEQUENCE_HANDLER(reset_cursor_background_color) SEQUENCE_HANDLER(reset_foreground_color) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vte-0.52.0/src/vteseq.cc new/vte-0.52.1/src/vteseq.cc --- old/vte-0.52.0/src/vteseq.cc 2018-03-05 21:58:12.000000000 +0100 +++ new/vte-0.52.1/src/vteseq.cc 2018-04-09 10:56:21.000000000 +0200 @@ -1623,14 +1623,16 @@ for (i = 0; pairs[i] && pairs[i + 1]; i += 2) { idx = strtoul (pairs[i], (char **) NULL, 10); - if (idx >= VTE_DEFAULT_FG) + if (idx >= VTE_DEFAULT_FG && idx != 256) continue; if (color.parse(pairs[i + 1])) { - set_color(idx, VTE_COLOR_SOURCE_ESCAPE, color); + set_color(idx == 256 ? VTE_BOLD_FG : idx, VTE_COLOR_SOURCE_ESCAPE, color); } else if (strcmp (pairs[i + 1], "?") == 0) { gchar buf[128]; - auto c = get_color(idx); + auto c = get_color(idx == 256 ? VTE_BOLD_FG : idx); + if (c == NULL && idx == 256) + c = get_color(VTE_DEFAULT_FG); g_assert(c != NULL); g_snprintf (buf, sizeof (buf), _VTE_CAP_OSC "4;%u;rgb:%04x/%04x/%04x%s", @@ -1671,10 +1673,10 @@ if (!params.number_at_unchecked(i, value)) continue; - if (value < 0 || value >= VTE_DEFAULT_FG) + if ((value < 0 || value >= VTE_DEFAULT_FG) && value != 256) continue; - reset_color(value, VTE_COLOR_SOURCE_ESCAPE); + reset_color(value == 256 ? VTE_BOLD_FG : value, VTE_COLOR_SOURCE_ESCAPE); } } else { for (unsigned int idx = 0; idx < VTE_DEFAULT_FG; idx++) { @@ -3010,7 +3012,7 @@ VteTerminalPrivate::change_special_color(vte::parser::Params const& params, int index, int index_fallback, - int osc, + const char *osc, const char *terminator) { char* name; @@ -3028,24 +3030,45 @@ c = get_color(index_fallback); g_assert(c != NULL); g_snprintf (buf, sizeof (buf), - _VTE_CAP_OSC "%d;rgb:%04x/%04x/%04x%s", + _VTE_CAP_OSC "%s;rgb:%04x/%04x/%04x%s", osc, c->red, c->green, c->blue, terminator); feed_child(buf, -1); } } +/* Change the bold color, BEL terminated */ +void +VteTerminalPrivate::seq_change_bold_color_bel(vte::parser::Params const& params) +{ + change_special_color(params, VTE_BOLD_FG, VTE_DEFAULT_FG, "5;0", BEL); +} + +/* Change the bold color, ST terminated */ +void +VteTerminalPrivate::seq_change_bold_color_st(vte::parser::Params const& params) +{ + change_special_color(params, VTE_BOLD_FG, VTE_DEFAULT_FG, "5;0", ST); +} + +/* Reset the bold color */ +void +VteTerminalPrivate::seq_reset_bold_color(vte::parser::Params const& params) +{ + reset_color(VTE_BOLD_FG, VTE_COLOR_SOURCE_ESCAPE); +} + /* Change the default foreground cursor, BEL terminated */ void VteTerminalPrivate::seq_change_foreground_color_bel(vte::parser::Params const& params) { - change_special_color(params, VTE_DEFAULT_FG, -1, 10, BEL); + change_special_color(params, VTE_DEFAULT_FG, -1, "10", BEL); } /* Change the default foreground cursor, ST terminated */ void VteTerminalPrivate::seq_change_foreground_color_st(vte::parser::Params const& params) { - change_special_color(params, VTE_DEFAULT_FG, -1, 10, ST); + change_special_color(params, VTE_DEFAULT_FG, -1, "10", ST); } /* Reset the default foreground color */ @@ -3059,14 +3082,14 @@ void VteTerminalPrivate::seq_change_background_color_bel(vte::parser::Params const& params) { - change_special_color(params, VTE_DEFAULT_BG, -1, 11, BEL); + change_special_color(params, VTE_DEFAULT_BG, -1, "11", BEL); } /* Change the default background cursor, ST terminated */ void VteTerminalPrivate::seq_change_background_color_st(vte::parser::Params const& params) { - change_special_color(params, VTE_DEFAULT_BG, -1, 11, ST); + change_special_color(params, VTE_DEFAULT_BG, -1, "11", ST); } /* Reset the default background color */ @@ -3080,14 +3103,14 @@ void VteTerminalPrivate::seq_change_cursor_background_color_bel(vte::parser::Params const& params) { - change_special_color(params, VTE_CURSOR_BG, VTE_DEFAULT_FG, 12, BEL); + change_special_color(params, VTE_CURSOR_BG, VTE_DEFAULT_FG, "12", BEL); } /* Change the color of the cursor background, ST terminated */ void VteTerminalPrivate::seq_change_cursor_background_color_st(vte::parser::Params const& params) { - change_special_color(params, VTE_CURSOR_BG, VTE_DEFAULT_FG, 12, ST); + change_special_color(params, VTE_CURSOR_BG, VTE_DEFAULT_FG, "12", ST); } /* Reset the color of the cursor */ @@ -3101,14 +3124,14 @@ void VteTerminalPrivate::seq_change_highlight_background_color_bel(vte::parser::Params const& params) { - change_special_color(params, VTE_HIGHLIGHT_BG, VTE_DEFAULT_FG, 17, BEL); + change_special_color(params, VTE_HIGHLIGHT_BG, VTE_DEFAULT_FG, "17", BEL); } /* Change the highlight background color, ST terminated */ void VteTerminalPrivate::seq_change_highlight_background_color_st(vte::parser::Params const& params) { - change_special_color(params, VTE_HIGHLIGHT_BG, VTE_DEFAULT_FG, 17, ST); + change_special_color(params, VTE_HIGHLIGHT_BG, VTE_DEFAULT_FG, "17", ST); } /* Reset the highlight background color */ @@ -3122,14 +3145,14 @@ void VteTerminalPrivate::seq_change_highlight_foreground_color_bel(vte::parser::Params const& params) { - change_special_color(params, VTE_HIGHLIGHT_FG, VTE_DEFAULT_BG, 19, BEL); + change_special_color(params, VTE_HIGHLIGHT_FG, VTE_DEFAULT_BG, "19", BEL); } /* Change the highlight foreground color, ST terminated */ void VteTerminalPrivate::seq_change_highlight_foreground_color_st(vte::parser::Params const& params) { - change_special_color(params, VTE_HIGHLIGHT_FG, VTE_DEFAULT_BG, 19, ST); + change_special_color(params, VTE_HIGHLIGHT_FG, VTE_DEFAULT_BG, "19", ST); } /* Reset the highlight foreground color */