File xmakemol-cmdline.patch of Package xmakemol

--- A/xmakemol.c	2007-08-25 13:20:18.000000000 +0200
+++ B/xmakemol.c	2013-11-22 22:41:52.834309782 +0100
@@ -52,6 +52,8 @@
 void echo_to_message_area(char *);
 
 int file_specified = 0;
+int scale_value = 0;
+int center_flag = 0;
 
 char go_file[1024];
 char xmakemol_version[5];
@@ -344,6 +346,14 @@
       strcpy (current_file_name, go_file);
       open_file (go_file, FALSE);
     }
+  if (center_flag) centre_atoms();
+  if (scale_value > 0 && scale_value <= 1000) {
+    set_scale_all_frames (scale_value);
+    double scale = pow (2.0, scale_value / 100.0) - 1;
+    set_canvas_scale (scale);
+    redraw = 1;
+    canvas_cb (canvas, NULL, NULL);
+  }
 
   XtAppMainLoop(app);
 
@@ -354,7 +364,7 @@
 void 
 get_options(int argc, char **argv)
 {
-  char opt_list[16];
+  char opt_list[20];
 
   int c, errflg = 0;
 
@@ -363,9 +373,9 @@
   Widget widget;
 
 #ifdef GL
-  strcpy (opt_list, "abhc:e:f:Guv"); /* extra -G option */
+  strcpy (opt_list, "abhc:e:f:GuvCs:D"); /* extra -G option */
 #else /* GL */
-  strcpy (opt_list, "abhc:e:f:uv");
+  strcpy (opt_list, "abhc:e:f:uvCs:D");
 #endif
 
   while ((c = getopt (argc, argv, opt_list)) != EOF)
@@ -428,6 +438,9 @@
 #endif /* GL */
           fprintf(stderr, "       -u          Print usage information\n");
           fprintf(stderr, "       -v          Print version information\n");
+          fprintf(stderr, "       -C          Center system on startup\n");
+          fprintf(stderr, "       -s <value>  Scale system on startup\n");
+          fprintf(stderr, "       -D          Switch off depth\n");
           exit(2);
           break;
         case 'v':
@@ -439,6 +452,16 @@
           fprintf(stderr, "For more information about these matters, see the file named COPYING.\n");
           exit(2);
           break;
+        case 'C':
+          center_flag=1;
+          break;
+        case 's':
+          scale_value=0;
+          sscanf (optarg, "%d", &scale_value);
+          break;
+        case 'D':
+          depth_is_on=0;
+          break;
         case '?':
           errflg++;
         }
openSUSE Build Service is sponsored by