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++;
}