billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=5cd68f3bebfde782ff0601ae925b597950fe34b4

commit 5cd68f3bebfde782ff0601ae925b597950fe34b4
Author: Boris Faure <bill...@gmail.com>
Date:   Fri Apr 11 21:29:26 2014 +0200

     finish active-links checkbox
---
 man/terminology.1 |  5 +++++
 src/bin/config.c  | 10 ++++++++--
 src/bin/ipc.h     |  1 +
 src/bin/main.c    | 20 +++++++++++++++++---
 4 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/man/terminology.1 b/man/terminology.1
index 1b20f6b..c4f3a76 100644
--- a/man/terminology.1
+++ b/man/terminology.1
@@ -121,6 +121,11 @@ Force single executable if multi-instance is enabled..
 Set TERM to \fBxterm-256color\fP instead of \fBxterm\fP.
 .
 .TP
+.B \-\-active\-links=ACTIVATE\-LINKS
+Whether to highlight links.
+Type: BOOL.
+.
+.TP
 .B \-V, \-\-version
 Show program version.
 .
diff --git a/src/bin/config.c b/src/bin/config.c
index 03e43e9..c80a3db 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -7,7 +7,7 @@
 #include "col.h"
 #include "utils.h"
 
-#define CONF_VER 2
+#define CONF_VER 3
 
 #define LIM(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min;}
 
@@ -281,11 +281,17 @@ config_load(const char *key)
                 case 1:
                    _config_upgrade_to_v2(config);
                   /*pass through*/
-                case CONF_VER: /* 2 */
+                case 2:
                   LIM(config->font.size, 3, 400);
                   LIM(config->scrollback, 0, 200000);
                   LIM(config->tab_zoom, 0.0, 1.0);
                   LIM(config->vidmod, 0, 3)
+
+                  /* upgrade to v3 */
+                  config->active_links = EINA_TRUE;
+                  config->version = 3;
+                  /*pass through*/
+                case CONF_VER: /* 3*/
                   break;
                 default:
                   if (config->version < CONF_VER)
diff --git a/src/bin/ipc.h b/src/bin/ipc.h
index 17c9026..8d41f33 100644
--- a/src/bin/ipc.h
+++ b/src/bin/ipc.h
@@ -27,6 +27,7 @@ struct _Ipc_Instance
    int hold;
    int nowm;
    int xterm_256color;
+   int active_links;
 };
 
 void ipc_init(void);
diff --git a/src/bin/main.c b/src/bin/main.c
index 4cda584..a122245 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -2316,6 +2316,7 @@ main_ipc_new(Ipc_Instance *inst)
    if (inst->hold) nargc += 1;
    if (inst->nowm) nargc += 1;
    if (inst->xterm_256color) nargc += 1;
+   if (inst->active_links) nargc += 1;
    if (inst->cmd) nargc += 2;
    
    nargv = calloc(nargc + 1, sizeof(char *));
@@ -2441,6 +2442,10 @@ main_ipc_new(Ipc_Instance *inst)
      {
         nargv[i++] = "-2";
      }
+   if (inst->active_links)
+     {
+        nargv[i++] = "--active-links";
+     }
    if (inst->cmd)
      {
         nargv[i++] = "-e";
@@ -2599,6 +2604,7 @@ static const Ecore_Getopt options = {
                               "Set font (NAME/SIZE for scalable, NAME for 
bitmap."),
       ECORE_GETOPT_CHOICE    ('v', "video-module",
                               "Set emotion module to use.", emotion_choices),
+
       ECORE_GETOPT_STORE_BOOL('l', "login",
                               "Run the shell as a login shell."),
       ECORE_GETOPT_STORE_BOOL('m', "video-mute",
@@ -2625,6 +2631,8 @@ static const Ecore_Getopt options = {
                               "Force single executable if multi-instance is 
enabled.."),
       ECORE_GETOPT_STORE_TRUE('2', "256color",
                               "Set TERM to 'xterm-256color' instead of 
'xterm'."),
+      ECORE_GETOPT_STORE_BOOL('\0', "active-links",
+                              "Whether to highlight links."),
 
       ECORE_GETOPT_VERSION   ('V', "version"),
       ECORE_GETOPT_COPYRIGHT ('C', "copyright"),
@@ -2671,7 +2679,7 @@ elm_main(int argc, char **argv)
      ECORE_GETOPT_VALUE_BOOL(cmd_options),
 #else
      ECORE_GETOPT_VALUE_STR(cmd),
-#endif      
+#endif
      ECORE_GETOPT_VALUE_STR(cd),
      ECORE_GETOPT_VALUE_STR(theme),
      ECORE_GETOPT_VALUE_STR(background),
@@ -2682,7 +2690,7 @@ elm_main(int argc, char **argv)
      ECORE_GETOPT_VALUE_STR(icon_name),
      ECORE_GETOPT_VALUE_STR(font),
      ECORE_GETOPT_VALUE_STR(video_module),
-      
+
      ECORE_GETOPT_VALUE_BOOL(login_shell),
      ECORE_GETOPT_VALUE_BOOL(video_mute),
      ECORE_GETOPT_VALUE_BOOL(cursor_blink),
@@ -2696,12 +2704,13 @@ elm_main(int argc, char **argv)
      ECORE_GETOPT_VALUE_BOOL(hold),
      ECORE_GETOPT_VALUE_BOOL(single),
      ECORE_GETOPT_VALUE_BOOL(xterm_256color),
+     ECORE_GETOPT_VALUE_BOOL(active_links),
 
      ECORE_GETOPT_VALUE_BOOL(quit_option),
      ECORE_GETOPT_VALUE_BOOL(quit_option),
      ECORE_GETOPT_VALUE_BOOL(quit_option),
      ECORE_GETOPT_VALUE_BOOL(quit_option),
-      
+
      ECORE_GETOPT_VALUE_NONE
    };
    Win *wn;
@@ -2876,6 +2885,11 @@ elm_main(int argc, char **argv)
         config->disable_visual_bell = !visual_bell;
         config->temporary = EINA_TRUE;
      }
+   if (active_links != 0xff)
+     {
+        config->active_links = !!active_links;
+        config->temporary = EINA_TRUE;
+     }
 
    if (xterm_256color)
      {

-- 


Reply via email to