浏览代码

d.mon: true color output by default
add flag to disable true colors


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@47083 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 14 年之前
父节点
当前提交
60e21d9bdc
共有 3 个文件被更改,包括 16 次插入4 次删除
  1. 8 2
      display/d.mon/main.c
  2. 2 1
      display/d.mon/proto.h
  3. 6 1
      display/d.mon/start.c

+ 8 - 2
display/d.mon/main.c

@@ -26,7 +26,7 @@ int main(int argc, char *argv[])
     struct Option *start_opt, *select_opt, *stop_opt, *output_opt,
       *width_opt, *height_opt, *bgcolor_opt;
     struct Flag *list_flag, *selected_flag, *select_flag, *release_flag, 
-	*cmd_flag;
+	*cmd_flag, *truecolor_flag;
     
     int nopts, ret;
     const char *mon;
@@ -109,6 +109,11 @@ int main(int argc, char *argv[])
     release_flag->description = _("Release currently selected monitor and exit");
     release_flag->guisection = _("Manage");
 
+    truecolor_flag = G_define_flag();
+    truecolor_flag->key = 't';
+    truecolor_flag->description = _("Disable true colors");
+    truecolor_flag->guisection = _("Manage");
+
     if (G_parser(argc, argv))
 	exit(EXIT_FAILURE);
     
@@ -159,7 +164,8 @@ int main(int argc, char *argv[])
     
     if (start_opt->answer)
 	ret = start_mon(start_opt->answer, output_opt->answer, !select_flag->answer,
-			width_opt->answer, height_opt->answer, bgcolor_opt->answer);
+			width_opt->answer, height_opt->answer, bgcolor_opt->answer,
+			!truecolor_flag->answer);
     
     if (stop_opt->answer)
 	ret = stop_mon(stop_opt->answer);

+ 2 - 1
display/d.mon/proto.h

@@ -1,5 +1,6 @@
 /* start */
-int start_mon(const char *, const char *, int, const char *, const char *, const char *);
+int start_mon(const char *, const char *, int, const char *,
+	      const char *, const char *, int);
 
 /* select.c */
 int select_mon(const char *);

+ 6 - 1
display/d.mon/start.c

@@ -45,7 +45,8 @@ void start_wx(const char *name, const char *tempfile,
 }
 
 int start_mon(const char *name, const char *output, int select,
-	      const char *width, const char *height, const char *bgcolor)
+	      const char *width, const char *height, const char *bgcolor,
+	      int truecolor)
 {
     const char *curr_mon;
     char *env_name, *env_value, *cmd_value;
@@ -80,6 +81,10 @@ int start_mon(const char *name, const char *output, int select,
 	    sprintf(buf, "GRASS_BACKGROUNDCOLOR=%s\n", bgcolor);
 	write(env_fd, buf, strlen(buf));
     }
+    if (truecolor) {
+	sprintf(buf, "GRASS_TRUECOLOR=TRUE\n");
+	write(env_fd, buf, strlen(buf));
+    }
     close(env_fd);
 
     cmd_value = NULL;