[gnome-terminal] profile: Add word-char-exceptions key to profile prefs



commit 165de6010b71162e0d81989ed2354787837f441d
Author: Egmont Koblinger <egmont gmail com>
Date:   Sun Feb 8 20:08:34 2015 +0100

    profile: Add word-char-exceptions key to profile prefs
    
    When set, it'll override the default word char exceptions in vte.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=730632

 configure.ac                       |    2 +-
 src/org.gnome.Terminal.gschema.xml |    4 ++++
 src/terminal-schemas.h             |    1 +
 src/terminal-screen.c              |    7 +++++++
 4 files changed, 13 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d002d1e..75fd6da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,7 +53,7 @@ case "$with_gtk" in
   3.0) GTK_API_VERSION=3.0
        GTK_REQUIRED=3.10.0
        VTE_API_VERSION=2.91
-       VTE_REQUIRED=0.39.2
+       VTE_REQUIRED=0.39.90
        ;;
 esac
 
diff --git a/src/org.gnome.Terminal.gschema.xml b/src/org.gnome.Terminal.gschema.xml
index f5c4450..9513c49 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -125,6 +125,10 @@
       <default>true</default>
       <summary>Whether to ring the terminal bell</summary>
     </key>
+    <key name="word-char-exceptions" type="ms">
+      <default>nothing</default>
+      <summary>List of ASCII punctuation characters that are not to be treated as part of a word when doing 
word-wise selection</summary>
+    </key>
     <key name="default-show-menubar" type="b">
       <default>true</default>
       <summary>Whether to show menubar in new windows/tabs</summary>
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index ba04203..1a50d43 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -62,6 +62,7 @@ G_BEGIN_DECLS
 #define TERMINAL_PROFILE_USE_SYSTEM_FONT_KEY            "use-system-font"
 #define TERMINAL_PROFILE_USE_THEME_COLORS_KEY           "use-theme-colors"
 #define TERMINAL_PROFILE_VISIBLE_NAME_KEY               "visible-name"
+#define TERMINAL_PROFILE_WORD_CHAR_EXCEPTIONS_KEY       "word-char-exceptions"
 
 #define TERMINAL_SETTING_CONFIRM_CLOSE_KEY              "confirm-close"
 #define TERMINAL_SETTING_DEFAULT_SHOW_MENUBAR_KEY       "default-show-menubar"
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 9f63239..8813295 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -795,6 +795,13 @@ terminal_screen_profile_changed_cb (GSettings     *profile,
     vte_terminal_set_rewrap_on_resize (vte_terminal,
                                        g_settings_get_boolean (profile, 
TERMINAL_PROFILE_REWRAP_ON_RESIZE_KEY));
 
+  if (!prop_name || prop_name == I_(TERMINAL_PROFILE_WORD_CHAR_EXCEPTIONS_KEY))
+    {
+      gs_free char *word_char_exceptions;
+      g_settings_get (profile, TERMINAL_PROFILE_WORD_CHAR_EXCEPTIONS_KEY, "ms", &word_char_exceptions);
+      vte_terminal_set_word_char_exceptions (vte_terminal, word_char_exceptions);
+    }
+
   g_object_thaw_notify (object);
 }
 


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