billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=68133d2614ca98b50e8b18f77f3772636e86284f

commit 68133d2614ca98b50e8b18f77f3772636e86284f
Author: Boris Faure <bill...@gmail.com>
Date:   Sun Jun 16 23:07:58 2013 +0200

    add -2/--256color option to set TERM to xterm-256color
    
    Man page was modified accordingly.
---
 man/terminology.1 |  4 ++++
 src/bin/ipc.h     |  1 +
 src/bin/main.c    | 23 +++++++++++++++++++----
 3 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/man/terminology.1 b/man/terminology.1
index 343cda9..62d04ee 100644
--- a/man/terminology.1
+++ b/man/terminology.1
@@ -120,6 +120,10 @@ Don't exit when the command process exits.
 Force single executable if multi-instance is enabled..
 .
 .TP
+.B \-2, \-\-256color
+Set TERM to \fBxterm-256color\fP instead of \fBxterm\fP.
+.
+.TP
 .B \-V, \-\-version
 Show program version.
 .
diff --git a/src/bin/ipc.h b/src/bin/ipc.h
index 76aae28..17c9026 100644
--- a/src/bin/ipc.h
+++ b/src/bin/ipc.h
@@ -26,6 +26,7 @@ struct _Ipc_Instance
    int maximized;
    int hold;
    int nowm;
+   int xterm_256color;
 };
 
 void ipc_init(void);
diff --git a/src/bin/main.c b/src/bin/main.c
index 5e3fa02..b8260e9 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -2257,6 +2257,7 @@ main_ipc_new(Ipc_Instance *inst)
    if (inst->maximized) nargc += 1;
    if (inst->hold) nargc += 1;
    if (inst->nowm) nargc += 1;
+   if (inst->xterm_256color) nargc += 1;
    if (inst->cmd) nargc += 2;
    
    nargv = calloc(nargc + 1, sizeof(char *));
@@ -2378,6 +2379,10 @@ main_ipc_new(Ipc_Instance *inst)
      {
         nargv[i++] = "-W";
      }
+   if (inst->xterm_256color)
+     {
+        nargv[i++] = "-2";
+     }
    if (inst->cmd)
      {
         nargv[i++] = "-e";
@@ -2560,7 +2565,9 @@ static const Ecore_Getopt options = {
                               "Don't exit when the command process exits."),
       ECORE_GETOPT_STORE_TRUE('s', "single",
                               "Force single executable if multi-instance is 
enabled.."),
-        
+      ECORE_GETOPT_STORE_TRUE('2', "256color",
+                              "Set TERM to 'xterm-256color' instead of 
'xterm'."),
+
       ECORE_GETOPT_VERSION   ('V', "version"),
       ECORE_GETOPT_COPYRIGHT ('C', "copyright"),
       ECORE_GETOPT_LICENSE   ('L', "license"),
@@ -2598,7 +2605,8 @@ elm_main(int argc, char **argv)
    Eina_Bool single = EINA_FALSE;
 #if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8)
    Eina_Bool cmd_options = EINA_FALSE;
-#endif   
+#endif
+   Eina_Bool xterm_256color = EINA_FALSE;
    Ecore_Getopt_Value values[] = {
 #if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8)
      ECORE_GETOPT_VALUE_BOOL(cmd_options),
@@ -2628,7 +2636,8 @@ elm_main(int argc, char **argv)
      ECORE_GETOPT_VALUE_BOOL(nowm),
      ECORE_GETOPT_VALUE_BOOL(hold),
      ECORE_GETOPT_VALUE_BOOL(single),
-      
+     ECORE_GETOPT_VALUE_BOOL(xterm_256color),
+
      ECORE_GETOPT_VALUE_BOOL(quit_option),
      ECORE_GETOPT_VALUE_BOOL(quit_option),
      ECORE_GETOPT_VALUE_BOOL(quit_option),
@@ -2808,7 +2817,13 @@ elm_main(int argc, char **argv)
         config->disable_visual_bell = !visual_bell;
         config->temporary = EINA_TRUE;
      }
-   
+
+   if (xterm_256color)
+     {
+        config->xterm_256color = EINA_TRUE;
+        config->temporary = EINA_TRUE;
+     }
+
    if (geometry)
      {
         if (sscanf(geometry,"%ix%i+%i+%i", &size_w, &size_h, &pos_x, &pos_y) 
== 4)

-- 


Reply via email to