Hello community, here is the log from the commit of package mate-terminal for openSUSE:Factory checked in at 2015-12-06 07:43:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mate-terminal (Old) and /work/SRC/openSUSE:Factory/.mate-terminal.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "mate-terminal" Changes: -------- --- /work/SRC/openSUSE:Factory/mate-terminal/mate-terminal.changes 2015-11-11 10:31:01.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mate-terminal.new/mate-terminal.changes 2015-12-06 07:43:14.000000000 +0100 @@ -1,0 +2,6 @@ +Fri Dec 4 14:06:09 UTC 2015 - sor.alexei@meowr.ru + +- Update to 1.12.1: + * Switch to VTE 2.91 for Gtk3. + +------------------------------------------------------------------- Old: ---- mate-terminal-1.12.0.tar.xz New: ---- mate-terminal-1.12.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mate-terminal.spec ++++++ --- /var/tmp/diff_new_pack.11Enzl/_old 2015-12-06 07:43:15.000000000 +0100 +++ /var/tmp/diff_new_pack.11Enzl/_new 2015-12-06 07:43:15.000000000 +0100 @@ -18,7 +18,7 @@ %define _version 1.12 Name: mate-terminal -Version: 1.12.0 +Version: 1.12.1 Release: 0 Summary: MATE Desktop terminal emulator License: GPL-3.0+ ++++++ mate-terminal-1.12.0.tar.xz -> mate-terminal-1.12.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/Makefile.in new/mate-terminal-1.12.1/Makefile.in --- old/mate-terminal-1.12.0/Makefile.in 2015-11-04 16:34:45.000000000 +0100 +++ new/mate-terminal-1.12.1/Makefile.in 2015-12-04 13:43:52.000000000 +0100 @@ -84,7 +84,7 @@ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/config.h.in $(srcdir)/mate-terminal.desktop.in.in \ AUTHORS COPYING ChangeLog NEWS README compile config.guess \ - config.sub depcomp install-sh missing ltmain.sh + config.sub install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/NEWS new/mate-terminal-1.12.1/NEWS --- old/mate-terminal-1.12.0/NEWS 2015-11-04 16:32:23.000000000 +0100 +++ new/mate-terminal-1.12.1/NEWS 2015-12-04 13:40:31.000000000 +0100 @@ -1,3 +1,7 @@ +1.12.1 + + * switch to vte291 for gtk3 + 1.12.0 * Fix --tab option that has been broken in 1.10.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/configure new/mate-terminal-1.12.1/configure --- old/mate-terminal-1.12.0/configure 2015-11-04 16:34:43.000000000 +0100 +++ new/mate-terminal-1.12.1/configure 2015-12-04 13:43:50.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for MATE Terminal 1.12.0. +# Generated by GNU Autoconf 2.69 for MATE Terminal 1.12.1. # # Report bugs to http://www.mate-desktop.org. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='MATE Terminal' PACKAGE_TARNAME='mate-terminal' -PACKAGE_VERSION='1.12.0' -PACKAGE_STRING='MATE Terminal 1.12.0' +PACKAGE_VERSION='1.12.1' +PACKAGE_STRING='MATE Terminal 1.12.1' PACKAGE_BUGREPORT='http://www.mate-desktop.org' PACKAGE_URL='' @@ -1406,7 +1406,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures MATE Terminal 1.12.0 to adapt to many kinds of systems. +\`configure' configures MATE Terminal 1.12.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1476,7 +1476,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of MATE Terminal 1.12.0:";; + short | recursive ) echo "Configuration of MATE Terminal 1.12.1:";; esac cat <<\_ACEOF @@ -1607,7 +1607,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -MATE Terminal configure 1.12.0 +MATE Terminal configure 1.12.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1976,7 +1976,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by MATE Terminal $as_me 1.12.0, which was +It was created by MATE Terminal $as_me 1.12.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2844,7 +2844,7 @@ # Define the identity of the package. PACKAGE='mate-terminal' - VERSION='1.12.0' + VERSION='1.12.1' cat >>confdefs.h <<_ACEOF @@ -14257,7 +14257,6 @@ GLIB_REQUIRED=2.36.0 GIO_REQUIRED=2.25.12 -VTE_REQUIRED=0.27.1 MATE_DESKTOP_REQUIRED=1.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking which gtk+ version to compile against" >&5 @@ -14280,12 +14279,14 @@ 2.0) GTK_API_VERSION=2.0 GTK_REQUIRED=2.24.0 GDK_TARGETS="$($PKG_CONFIG --variable target gdk-$GTK_API_VERSION)" + VTE_REQUIRED=0.28 VTE_PC_VERSION= ;; 3.0) GTK_API_VERSION=3.0 GTK_REQUIRED=3.0.0 GDK_TARGETS="$($PKG_CONFIG --variable targets gdk-$GTK_API_VERSION)" - VTE_PC_VERSION=-2.90 + VTE_REQUIRED=0.38 + VTE_PC_VERSION=-2.91 ;; esac @@ -15105,7 +15106,7 @@ TERMINAL_MINOR_VERSION=12 -TERMINAL_MICRO_VERSION=0 +TERMINAL_MICRO_VERSION=1 TERMINAL_API_VERSION=0 @@ -15661,7 +15662,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by MATE Terminal $as_me 1.12.0, which was +This file was extended by MATE Terminal $as_me 1.12.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15727,7 +15728,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -MATE Terminal config.status 1.12.0 +MATE Terminal config.status 1.12.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/configure.ac new/mate-terminal-1.12.1/configure.ac --- old/mate-terminal-1.12.0/configure.ac 2015-11-04 16:32:23.000000000 +0100 +++ new/mate-terminal-1.12.1/configure.ac 2015-12-04 13:39:31.000000000 +0100 @@ -1,6 +1,6 @@ m4_define([gt_version_major],[1]) m4_define([gt_version_minor],[12]) -m4_define([gt_version_micro],[0]) +m4_define([gt_version_micro],[1]) m4_define([gt_version_extra],[]) m4_define([gt_version],[gt_version_major().gt_version_minor().gt_version_micro()gt_version_extra]) @@ -46,7 +46,6 @@ GLIB_REQUIRED=2.36.0 GIO_REQUIRED=2.25.12 -VTE_REQUIRED=0.27.1 MATE_DESKTOP_REQUIRED=1.9.0 AC_MSG_CHECKING([which gtk+ version to compile against]) @@ -63,12 +62,14 @@ 2.0) GTK_API_VERSION=2.0 GTK_REQUIRED=2.24.0 GDK_TARGETS="$($PKG_CONFIG --variable target gdk-$GTK_API_VERSION)" + VTE_REQUIRED=0.28 VTE_PC_VERSION= ;; 3.0) GTK_API_VERSION=3.0 GTK_REQUIRED=3.0.0 GDK_TARGETS="$($PKG_CONFIG --variable targets gdk-$GTK_API_VERSION)" - VTE_PC_VERSION=-2.90 + VTE_REQUIRED=0.38 + VTE_PC_VERSION=-2.91 ;; esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/profile-editor.c new/mate-terminal-1.12.1/src/profile-editor.c --- old/mate-terminal-1.12.0/src/profile-editor.c 2015-10-06 17:58:46.000000000 +0200 +++ new/mate-terminal-1.12.1/src/profile-editor.c 2015-12-04 13:38:30.000000000 +0100 @@ -141,6 +141,27 @@ !terminal_profile_property_locked (profile, TERMINAL_PROFILE_CUSTOM_COMMAND)); } +#if VTE_CHECK_VERSION (0, 38, 0) + gtk_widget_hide (profile_editor_get_widget (editor, "background-image")); + gtk_widget_hide (profile_editor_get_widget (editor, "darken-background-transparent-or-image-scale-label")); + gtk_widget_show (profile_editor_get_widget (editor, "darken-background-transparent-scale-label")); + if (!prop_name || prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TYPE)) + { + gboolean bg_type_locked = terminal_profile_property_locked (profile, TERMINAL_PROFILE_BACKGROUND_TYPE); + SET_SENSITIVE ("solid-radiobutton", !bg_type_locked); + SET_SENSITIVE ("transparent-radiobutton", !bg_type_locked); + + bg_type = terminal_profile_get_property_enum (profile, TERMINAL_PROFILE_BACKGROUND_TYPE); + if (bg_type == TERMINAL_BACKGROUND_TRANSPARENT) + { + SET_SENSITIVE ("darken-background-vbox", !terminal_profile_property_locked (profile, TERMINAL_PROFILE_BACKGROUND_DARKNESS)); + } + else + { + SET_SENSITIVE ("darken-background-vbox", FALSE); + } + } +#else if (!prop_name || prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TYPE)) { gboolean bg_type_locked = terminal_profile_property_locked (profile, TERMINAL_PROFILE_BACKGROUND_TYPE); @@ -168,6 +189,7 @@ SET_SENSITIVE ("darken-background-vbox", FALSE); } } +#endif if (!prop_name || prop_name == I_(TERMINAL_PROFILE_USE_SYSTEM_FONT) || @@ -544,8 +566,9 @@ g_object_unref (store); renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE); - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer, "text", 0, NULL); +/*FIXME, avoid double loading of color schemes names from UI file */ +/* gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer, "text", 0, NULL);*/ #else @@ -577,7 +600,6 @@ NULL); } - static void editor_response_cb (GtkWidget *editor, int response, @@ -592,77 +614,6 @@ gtk_widget_destroy (editor); } -#if 0 -static GdkPixbuf * -create_preview_pixbuf (const gchar *filename) -{ - GdkPixbuf *pixbuf = NULL; - MateThumbnailFactory *thumbs; - const char *mime_type = NULL; - GFile *gfile; - GFileInfo *file_info; - - if (filename == NULL) - return NULL; - - gfile = g_file_new_for_uri (filename); - file_info = g_file_query_info (gfile, - G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE, - 0, NULL, NULL); - if (file_info != NULL) - mime_type = g_file_info_get_content_type (file_info); - - g_object_unref (gfile); - - if (mime_type != NULL) - { - thumbs = mate_thumbnail_factory_new (MATE_THUMBNAIL_SIZE_NORMAL); - - pixbuf = mate_thumbnail_factory_generate_thumbnail (thumbs, - filename, - mime_type); - g_object_unref (thumbs); - } - - if (file_info != NULL) - g_object_unref (file_info); - - return pixbuf; -} - -static void -update_image_preview (GtkFileChooser *chooser) -{ - GtkWidget *image; - gchar *file; - - image = gtk_file_chooser_get_preview_widget (GTK_FILE_CHOOSER (chooser)); - file = gtk_file_chooser_get_preview_uri (chooser); - - if (file != NULL) - { - - GdkPixbuf *pixbuf = NULL; - - pixbuf = create_preview_pixbuf (file); - g_free (file); - - if (pixbuf != NULL) - { - gtk_image_set_from_pixbuf (GTK_IMAGE (image), pixbuf); - g_object_unref (pixbuf); - } - else - { - gtk_image_set_from_stock (GTK_IMAGE (image), - "gtk-dialog-question", - GTK_ICON_SIZE_DIALOG); - } - } - gtk_file_chooser_set_preview_widget_active (chooser, file != NULL); -} -#endif - static void setup_background_filechooser (GtkWidget *filechooser, TerminalProfile *profile) @@ -681,36 +632,6 @@ home_dir = g_get_home_dir (); if (home_dir) gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filechooser), home_dir); - -#if 0 - GtkWidget *image_preview; - GdkPixbuf *pixbuf = NULL; - - image_preview = gtk_image_new (); - /* FIXMchpe this is bogus */ - pixbuf = create_preview_pixbuf (terminal_profile_get_property_string (profile, TERMINAL_PROFILE_BACKGROUND_IMAGE_FILE)); - if (pixbuf != NULL) - { - gtk_image_set_from_pixbuf (GTK_IMAGE (image_preview), pixbuf); - g_object_unref (pixbuf); - } - else - { - gtk_image_set_from_stock (GTK_IMAGE (image_preview), - "gtk-dialog-question", - GTK_ICON_SIZE_DIALOG); - } - - gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (filechooser), - image_preview); - gtk_file_chooser_set_use_preview_label (GTK_FILE_CHOOSER (filechooser), - FALSE); - gtk_widget_set_size_request (image_preview, 128, -1); - gtk_widget_show (image_preview); - - g_signal_connect (filechooser, "update-preview", - G_CALLBACK (update_image_preview), NULL); -#endif } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/profile-preferences.ui new/mate-terminal-1.12.1/src/profile-preferences.ui --- old/mate-terminal-1.12.0/src/profile-preferences.ui 2015-10-06 17:58:46.000000000 +0200 +++ new/mate-terminal-1.12.1/src/profile-preferences.ui 2015-12-04 13:33:28.000000000 +0100 @@ -2202,7 +2202,7 @@ </packing> </child> <child> - <object class="GtkVBox" id="vbox87"> + <object class="GtkVBox" id="background-image"> <property name="visible">True</property> <property name="homogeneous">False</property> <property name="spacing">6</property> @@ -2354,12 +2354,37 @@ <property name="homogeneous">False</property> <property name="spacing">6</property> <child> - <object class="GtkLabel" id="darken-background-scale-label"> + <object class="GtkLabel" id="darken-background-transparent-or-image-scale-label"> <property name="visible">True</property> <property name="label" translatable="yes">S_hade transparent or image background:</property> <property name="use_underline">True</property> <property name="use_markup">False</property> <property name="justify">GTK_JUSTIFY_LEFT</property> + <property name="wrap">False</property> + <property name="selectable">False</property> + <property name="xalign">0</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + <property name="mnemonic_widget">darken-background-scale</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> + </object> + <packing> + <property name="padding">1</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="darken-background-transparent-scale-label"> + <property name="visible">False</property> + <property name="label" translatable="yes">S_hade transparent background:</property> + <property name="use_underline">True</property> + <property name="use_markup">False</property> + <property name="justify">GTK_JUSTIFY_LEFT</property> <property name="wrap">False</property> <property name="selectable">False</property> <property name="xalign">0</property> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/terminal-profile.c new/mate-terminal-1.12.1/src/terminal-profile.c --- old/mate-terminal-1.12.0/src/terminal-profile.c 2015-10-06 17:58:46.000000000 +0200 +++ new/mate-terminal-1.12.1/src/terminal-profile.c 2015-12-04 13:33:28.000000000 +0100 @@ -1271,10 +1271,17 @@ TERMINAL_PROFILE_PROPERTY_DOUBLE (BACKGROUND_DARKNESS, 0.0, 1.0, DEFAULT_BACKGROUND_DARKNESS, KEY_BACKGROUND_DARKNESS); TERMINAL_PROFILE_PROPERTY_ENUM (BACKGROUND_TYPE, TERMINAL_TYPE_BACKGROUND_TYPE, DEFAULT_BACKGROUND_TYPE, KEY_BACKGROUND_TYPE); +#if VTE_CHECK_VERSION (0, 38, 0) + TERMINAL_PROFILE_PROPERTY_ENUM (BACKSPACE_BINDING, VTE_TYPE_ERASE_BINDING, DEFAULT_BACKSPACE_BINDING, KEY_BACKSPACE_BINDING); + TERMINAL_PROFILE_PROPERTY_ENUM (CURSOR_BLINK_MODE, VTE_TYPE_CURSOR_BLINK_MODE, DEFAULT_CURSOR_BLINK_MODE, KEY_CURSOR_BLINK_MODE); + TERMINAL_PROFILE_PROPERTY_ENUM (CURSOR_SHAPE, VTE_TYPE_CURSOR_SHAPE, DEFAULT_CURSOR_SHAPE, KEY_CURSOR_SHAPE); + TERMINAL_PROFILE_PROPERTY_ENUM (DELETE_BINDING, VTE_TYPE_ERASE_BINDING, DEFAULT_DELETE_BINDING, KEY_DELETE_BINDING); +#else TERMINAL_PROFILE_PROPERTY_ENUM (BACKSPACE_BINDING, VTE_TYPE_TERMINAL_ERASE_BINDING, DEFAULT_BACKSPACE_BINDING, KEY_BACKSPACE_BINDING); TERMINAL_PROFILE_PROPERTY_ENUM (CURSOR_BLINK_MODE, VTE_TYPE_TERMINAL_CURSOR_BLINK_MODE, DEFAULT_CURSOR_BLINK_MODE, KEY_CURSOR_BLINK_MODE); TERMINAL_PROFILE_PROPERTY_ENUM (CURSOR_SHAPE, VTE_TYPE_TERMINAL_CURSOR_SHAPE, DEFAULT_CURSOR_SHAPE, KEY_CURSOR_SHAPE); TERMINAL_PROFILE_PROPERTY_ENUM (DELETE_BINDING, VTE_TYPE_TERMINAL_ERASE_BINDING, DEFAULT_DELETE_BINDING, KEY_DELETE_BINDING); +#endif TERMINAL_PROFILE_PROPERTY_ENUM (EXIT_ACTION, TERMINAL_TYPE_EXIT_ACTION, DEFAULT_EXIT_ACTION, KEY_EXIT_ACTION); TERMINAL_PROFILE_PROPERTY_ENUM (SCROLLBAR_POSITION, TERMINAL_TYPE_SCROLLBAR_POSITION, DEFAULT_SCROLLBAR_POSITION, KEY_SCROLLBAR_POSITION); TERMINAL_PROFILE_PROPERTY_ENUM (TITLE_MODE, TERMINAL_TYPE_TITLE_MODE, DEFAULT_TITLE_MODE, KEY_TITLE_MODE); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/terminal-screen-container.c new/mate-terminal-1.12.1/src/terminal-screen-container.c --- old/mate-terminal-1.12.0/src/terminal-screen-container.c 2015-10-06 17:58:46.000000000 +0200 +++ new/mate-terminal-1.12.1/src/terminal-screen-container.c 2015-12-04 13:33:28.000000000 +0100 @@ -143,7 +143,11 @@ g_assert (priv->screen != NULL); #ifdef USE_SCROLLED_WINDOW +#if VTE_CHECK_VERSION (0, 38, 0) + priv->scrolled_window = gtk_scrolled_window_new (NULL, gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (priv->screen))); +#else priv->scrolled_window = gtk_scrolled_window_new (NULL, vte_terminal_get_adjustment (VTE_TERMINAL (priv->screen))); +#endif gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), priv->hscrollbar_policy, @@ -163,7 +167,11 @@ priv->hbox = gtk_hbox_new (FALSE, 0); +#if VTE_CHECK_VERSION (0, 38, 0) + priv->vscrollbar = gtk_vscrollbar_new (gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (priv->screen))); +#else priv->vscrollbar = gtk_vscrollbar_new (vte_terminal_get_adjustment (VTE_TERMINAL (priv->screen))); +#endif gtk_box_pack_start (GTK_BOX (priv->hbox), GTK_WIDGET (priv->screen), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (priv->hbox), priv->vscrollbar, FALSE, FALSE, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/terminal-screen.c new/mate-terminal-1.12.1/src/terminal-screen.c --- old/mate-terminal-1.12.0/src/terminal-screen.c 2015-10-06 17:58:46.000000000 +0200 +++ new/mate-terminal-1.12.1/src/terminal-screen.c 2015-12-04 13:33:28.000000000 +0100 @@ -119,7 +119,11 @@ static gboolean terminal_screen_button_press (GtkWidget *widget, GdkEventButton *event); static void terminal_screen_launch_child_on_idle (TerminalScreen *screen); -static void terminal_screen_child_exited (VteTerminal *terminal); +#if VTE_CHECK_VERSION (0, 38, 0) +static void terminal_screen_child_exited (VteTerminal *terminal, int status); +#else +static void terminal_screen_child_exited (VteTerminal *terminal); +#endif static void terminal_screen_window_title_changed (VteTerminal *vte_terminal, TerminalScreen *screen); @@ -134,8 +138,12 @@ static void terminal_screen_cook_icon_title (TerminalScreen *screen); static char* terminal_screen_check_match (TerminalScreen *screen, +#if VTE_CHECK_VERSION (0, 38, 0) + GdkEvent *event, +#else int column, int row, +#endif int *flavor); static guint signals[LAST_SIGNAL] = { 0 }; @@ -284,6 +292,7 @@ return TERMINAL_WINDOW (toplevel); } +#if !VTE_CHECK_VERSION (0, 38, 0) static gboolean window_uses_argb_visual (TerminalScreen *screen) { @@ -295,21 +304,26 @@ return terminal_window_uses_argb_visual (window); } +#endif static void terminal_screen_realize (GtkWidget *widget) { +#if !VTE_CHECK_VERSION (0, 38, 0) TerminalScreen *screen = TERMINAL_SCREEN (widget); TerminalScreenPrivate *priv = screen->priv; TerminalBackgroundType bg_type; +#endif GTK_WIDGET_CLASS (terminal_screen_parent_class)->realize (widget); +#if !VTE_CHECK_VERSION (0, 38, 0) /* FIXME: Don't enable this if we have a compmgr. */ bg_type = terminal_profile_get_property_enum (priv->profile, TERMINAL_PROFILE_BACKGROUND_TYPE); vte_terminal_set_background_transparent (VTE_TERMINAL (screen), bg_type == TERMINAL_BACKGROUND_TRANSPARENT && !window_uses_argb_visual (screen)); +#endif } static void @@ -917,7 +931,9 @@ GObject *object = G_OBJECT (screen); VteTerminal *vte_terminal = VTE_TERMINAL (screen); const char *prop_name; +#if !VTE_CHECK_VERSION (0, 38, 0) TerminalBackgroundType bg_type; +#endif TerminalWindow *window; if (pspec) @@ -961,6 +977,10 @@ prop_name == I_(TERMINAL_PROFILE_USE_THEME_COLORS) || prop_name == I_(TERMINAL_PROFILE_FOREGROUND_COLOR) || prop_name == I_(TERMINAL_PROFILE_BACKGROUND_COLOR) || +#if VTE_CHECK_VERSION (0, 38, 0) + prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TYPE) || + prop_name == I_(TERMINAL_PROFILE_BACKGROUND_DARKNESS) || +#endif prop_name == I_(TERMINAL_PROFILE_BOLD_COLOR_SAME_AS_FG) || prop_name == I_(TERMINAL_PROFILE_BOLD_COLOR) || prop_name == I_(TERMINAL_PROFILE_PALETTE)) @@ -970,8 +990,15 @@ vte_terminal_set_audible_bell (vte_terminal, !terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_SILENT_BELL)); if (!prop_name || prop_name == I_(TERMINAL_PROFILE_WORD_CHARS)) +#if VTE_CHECK_VERSION (0, 40, 0) + vte_terminal_set_word_char_exceptions (vte_terminal, + terminal_profile_get_property_string (profile, TERMINAL_PROFILE_WORD_CHARS)); +#elif !VTE_CHECK_VERSION (0, 38, 0) vte_terminal_set_word_chars (vte_terminal, terminal_profile_get_property_string (profile, TERMINAL_PROFILE_WORD_CHARS)); +#else + {} +#endif if (!prop_name || prop_name == I_(TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE)) vte_terminal_set_scroll_on_keystroke (vte_terminal, terminal_profile_get_property_boolean (profile, TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE)); @@ -1013,6 +1040,9 @@ } #endif /* ENABLE_SKEY */ +/* Background image support was removed in vte 0.38. + * Transparency for 0.38+ is handled above next to TERMINAL_PROFILE_BACKGROUND_COLOR. */ +#if !VTE_CHECK_VERSION (0, 38, 0) if (!prop_name || prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TYPE) || prop_name == I_(TERMINAL_PROFILE_BACKGROUND_IMAGE) || @@ -1053,6 +1083,7 @@ bg_type == TERMINAL_BACKGROUND_TRANSPARENT && !window_uses_argb_visual (screen)); } +#endif if (!prop_name || prop_name == I_(TERMINAL_PROFILE_BACKSPACE_BINDING)) vte_terminal_set_backspace_binding (vte_terminal, @@ -1077,6 +1108,23 @@ g_object_thaw_notify (object); } +/* TODO: Once Gtk2 support is dropped, mate-terminal should be converted to use GdkRGBA everywhere instead of GdkColor. */ +#if VTE_CHECK_VERSION (0, 38, 0) +static GdkRGBA * +gdk_color_to_rgba (const GdkColor *color, + double alpha, + GdkRGBA *rgba) +{ + if (color == NULL) + return NULL; + rgba->red = color->red / 65535.0; + rgba->green = color->green / 65535.0; + rgba->blue = color->blue / 65535.0; + rgba->alpha = alpha; + return rgba; +} +#endif + static void update_color_scheme (TerminalScreen *screen) { @@ -1112,11 +1160,33 @@ n_colors = G_N_ELEMENTS (colors); terminal_profile_get_palette (priv->profile, colors, &n_colors); +#if VTE_CHECK_VERSION (0, 38, 0) + { + GdkRGBA colors_rgba[TERMINAL_PALETTE_SIZE]; + GdkRGBA fg_rgba, bg_rgba, bold_rgba; + double alpha = 1.0; + int i; + + for (i = 0; i < n_colors; i++) + gdk_color_to_rgba (&colors[i], 1.0, &colors_rgba[i]); + + if (terminal_profile_get_property_enum (profile, TERMINAL_PROFILE_BACKGROUND_TYPE) == TERMINAL_BACKGROUND_TRANSPARENT) + alpha = terminal_profile_get_property_double (profile, TERMINAL_PROFILE_BACKGROUND_DARKNESS); + vte_terminal_set_colors (VTE_TERMINAL (screen), + gdk_color_to_rgba (&fg, 1.0, &fg_rgba), + gdk_color_to_rgba (&bg, alpha, &bg_rgba), + colors_rgba, n_colors); + if (bold_color) + vte_terminal_set_color_bold (VTE_TERMINAL (screen), + gdk_color_to_rgba (bold_color, 1.0, &bold_rgba)); + } +#else vte_terminal_set_colors (VTE_TERMINAL (screen), &fg, &bg, colors, n_colors); if (bold_color) vte_terminal_set_color_bold (VTE_TERMINAL (screen), bold_color); vte_terminal_set_background_tint_color (VTE_TERMINAL (screen), &bg); +#endif } void @@ -1502,7 +1572,12 @@ pty_flags |= VTE_PTY_NO_UTMP | VTE_PTY_NO_WTMP; if (!get_child_command (screen, shell, &spawn_flags, &argv, &err) || - !vte_terminal_fork_command_full (terminal, +#if VTE_CHECK_VERSION (0, 38, 0) + !vte_terminal_spawn_sync ( +#else + !vte_terminal_fork_command_full ( +#endif + terminal, pty_flags, working_dir, argv, @@ -1510,6 +1585,9 @@ spawn_flags, NULL, NULL, &pid, +#if VTE_CHECK_VERSION (0, 38, 0) + NULL, +#endif &err)) { GtkWidget *info_bar; @@ -1620,14 +1698,19 @@ TerminalScreen *screen = TERMINAL_SCREEN (widget); gboolean (* button_press_event) (GtkWidget*, GdkEventButton*) = GTK_WIDGET_CLASS (terminal_screen_parent_class)->button_press_event; - int char_width, char_height, row, col; char *matched_string; int matched_flavor = 0; guint state; +#if !VTE_CHECK_VERSION (0, 38, 0) + int char_width, char_height, row, col; GtkBorder *inner_border = NULL; +#endif state = event->state & gtk_accelerator_get_default_mod_mask (); +#if VTE_CHECK_VERSION (0, 38, 0) + matched_string = terminal_screen_check_match (screen, event, &matched_flavor); +#else terminal_screen_get_cell_size (screen, &char_width, &char_height); gtk_widget_style_get (widget, "inner-border", &inner_border, NULL); @@ -1635,8 +1718,8 @@ col = (event->y - (inner_border ? inner_border->top : 0)) / char_height; gtk_border_free (inner_border); - /* FIXMEchpe: add vte API to do this check by widget coords instead of grid coords */ matched_string = terminal_screen_check_match (screen, row, col, &matched_flavor); +#endif if (matched_string != NULL && (event->button == 1 || event->button == 2) && @@ -1872,7 +1955,11 @@ } static void +#if VTE_CHECK_VERSION (0, 38, 0) +terminal_screen_child_exited (VteTerminal *terminal, int status) +#else terminal_screen_child_exited (VteTerminal *terminal) +#endif { TerminalScreen *screen = TERMINAL_SCREEN (terminal); TerminalScreenPrivate *priv = screen->priv; @@ -1900,9 +1987,11 @@ case TERMINAL_EXIT_HOLD: { GtkWidget *info_bar; +#if !VTE_CHECK_VERSION (0, 38, 0) int status; status = vte_terminal_get_child_exit_status (terminal); +#endif info_bar = terminal_info_bar_new (GTK_MESSAGE_INFO, _("_Relaunch"), RESPONSE_RELAUNCH, @@ -2269,8 +2358,12 @@ static char* terminal_screen_check_match (TerminalScreen *screen, +#if VTE_CHECK_VERSION (0, 38, 0) + GdkEvent *event, +#else int column, int row, +#endif int *flavor) { TerminalScreenPrivate *priv = screen->priv; @@ -2278,7 +2371,11 @@ int tag; char *match; +#if VTE_CHECK_VERSION (0, 38, 0) + match = vte_terminal_match_check_event (VTE_TERMINAL (screen), event, &tag); +#else match = vte_terminal_match_check (VTE_TERMINAL (screen), column, row, &tag); +#endif for (tags = priv->match_tags; tags != NULL; tags = tags->next) { TagData *tag_data = (TagData*) tags->data; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/terminal-version.h new/mate-terminal-1.12.1/src/terminal-version.h --- old/mate-terminal-1.12.0/src/terminal-version.h 2015-11-04 16:34:55.000000000 +0100 +++ new/mate-terminal-1.12.1/src/terminal-version.h 2015-12-04 13:44:02.000000000 +0100 @@ -25,7 +25,7 @@ #define TERMINAL_MAJOR_VERSION (1) #define TERMINAL_MINOR_VERSION (12) -#define TERMINAL_MICRO_VERSION (0) +#define TERMINAL_MICRO_VERSION (1) #define TERMINAL_CHECK_VERSION(major,minor,micro) \ (TERMINAL_MAJOR_VERSION > (major) || \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/terminal-window.c new/mate-terminal-1.12.1/src/terminal-window.c --- old/mate-terminal-1.12.0/src/terminal-window.c 2015-10-06 17:58:46.000000000 +0200 +++ new/mate-terminal-1.12.1/src/terminal-window.c 2015-12-04 13:33:28.000000000 +0100 @@ -766,7 +766,11 @@ g_assert (encoding); vte_terminal_set_encoding (VTE_TERMINAL (priv->active_screen), +#if VTE_CHECK_VERSION (0, 38, 0) + terminal_encoding_get_charset (encoding), NULL); +#else terminal_encoding_get_charset (encoding)); +#endif } static void @@ -1056,6 +1060,7 @@ g_object_ref (window)); } +/* width and height are character-based in vte 0.38, pixel-based in previous versions */ static void screen_resize_window_cb (TerminalScreen *screen, guint width, @@ -1065,12 +1070,13 @@ TerminalWindowPrivate *priv = window->priv; VteTerminal *terminal = VTE_TERMINAL (screen); GtkWidget *widget = GTK_WIDGET (screen); +#if !VTE_CHECK_VERSION (0, 38, 0) guint grid_width, grid_height; int char_width, char_height; GtkBorder *inner_border = NULL; GtkAllocation widget_allocation; +#endif - gtk_widget_get_allocation (widget, &widget_allocation); /* Don't do anything if we're maximised or fullscreened */ // FIXME: realized && ... instead? if (!gtk_widget_get_realized (widget) || @@ -1079,6 +1085,11 @@ /* NOTE: width and height already include the VteTerminal's padding! */ +#if VTE_CHECK_VERSION (0, 38, 0) + vte_terminal_set_size (terminal, width, height); +#else + gtk_widget_get_allocation (widget, &widget_allocation); + /* Short-circuit */ if (((int) width) == widget_allocation.width && ((int) height) == widget_allocation.height) @@ -1095,6 +1106,7 @@ gtk_border_free (inner_border); vte_terminal_set_size (terminal, grid_width, grid_height); +#endif if (screen != priv->active_screen) return; @@ -1153,12 +1165,14 @@ gtk_action_set_sensitive (action, num_pages > 1); } +#if !VTE_CHECK_VERSION (0, 38, 0) gboolean terminal_window_uses_argb_visual (TerminalWindow *window) { TerminalWindowPrivate *priv = window->priv; return priv->have_argb_visual; } +#endif static void update_tab_visibility (TerminalWindow *window, @@ -1366,6 +1380,7 @@ action = gtk_action_group_get_action (priv->action_group, "PopupInputMethods"); gtk_action_set_visible (action, show_input_method_menu); +#if !VTE_CHECK_VERSION (0, 38, 0) im_menu_item = gtk_ui_manager_get_widget (priv->ui_manager, "/Popup/PopupInputMethods"); /* FIXME: fix this when gtk+ bug #500065 is done, use vte_terminal_im_merge_ui */ @@ -1381,6 +1396,7 @@ { gtk_menu_item_set_submenu (GTK_MENU_ITEM (im_menu_item), NULL); } +#endif popup_menu = gtk_ui_manager_get_widget (priv->ui_manager, "/Popup"); g_signal_connect (popup_menu, "deactivate", @@ -3122,18 +3138,29 @@ char_height != priv->old_char_height || widget != (GtkWidget*) priv->old_geometry_widget) { - GtkBorder *inner_border = NULL; - /* FIXME Since we're using xthickness/ythickness to compute * padding we need to change the hints when the theme changes. */ +#if VTE_CHECK_VERSION (0, 38, 0) + GtkBorder padding; + + gtk_style_context_get_padding(gtk_widget_get_style_context(widget), + gtk_widget_get_state_flags(widget), + &padding); + + hints.base_width = padding.left + padding.right; + hints.base_height = padding.top + padding.bottom; +#else + GtkBorder *inner_border = NULL; + gtk_widget_style_get (widget, "inner-border", &inner_border, NULL); hints.base_width = (inner_border ? (inner_border->left + inner_border->right) : 0); hints.base_height = (inner_border ? (inner_border->top + inner_border->bottom) : 0); gtk_border_free (inner_border); +#endif #define MIN_WIDTH_CHARS 4 #define MIN_HEIGHT_CHARS 1 @@ -3769,7 +3796,11 @@ flags = terminal_search_dialog_get_search_flags (dialog); +#if VTE_CHECK_VERSION (0, 38, 0) + vte_terminal_search_set_gregex (VTE_TERMINAL (priv->active_screen), regex, 0); +#else vte_terminal_search_set_gregex (VTE_TERMINAL (priv->active_screen), regex); +#endif vte_terminal_search_set_wrap_around (VTE_TERMINAL (priv->active_screen), (flags & TERMINAL_SEARCH_FLAG_WRAP_AROUND)); @@ -3840,7 +3871,11 @@ if (G_UNLIKELY (!window->priv->active_screen)) return; +#if VTE_CHECK_VERSION (0, 38, 0) + vte_terminal_search_set_gregex (VTE_TERMINAL (window->priv->active_screen), NULL, 0); +#else vte_terminal_search_set_gregex (VTE_TERMINAL (window->priv->active_screen), NULL); +#endif } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mate-terminal-1.12.0/src/terminal-window.h new/mate-terminal-1.12.1/src/terminal-window.h --- old/mate-terminal-1.12.0/src/terminal-window.h 2015-10-06 17:58:46.000000000 +0200 +++ new/mate-terminal-1.12.1/src/terminal-window.h 2015-12-04 13:33:28.000000000 +0100 @@ -95,7 +95,9 @@ GtkWidget* terminal_window_get_notebook (TerminalWindow *window); +#if !VTE_CHECK_VERSION (0, 38, 0) gboolean terminal_window_uses_argb_visual (TerminalWindow *window); +#endif void terminal_window_save_state (TerminalWindow *window, GKeyFile *key_file,