Browse Source

Reformat usage and separate version from it

Signed-off-by: Christoph Lohmann <20h@r-36.net>
Quentin Rameau 9 years ago
parent
commit
bd5fdbe64c
2 changed files with 33 additions and 29 deletions
  1. 17 21
      st.1
  2. 16 8
      st.c

+ 17 - 21
st.1

@@ -3,47 +3,43 @@
 st \- simple terminal
 st \- simple terminal
 .SH SYNOPSIS
 .SH SYNOPSIS
 .B st
 .B st
-.RB [ \-a ]
+.RB [ \-aiv ]
 .RB [ \-c
 .RB [ \-c
 .IR class ]
 .IR class ]
 .RB [ \-f
 .RB [ \-f
 .IR font ]
 .IR font ]
 .RB [ \-g
 .RB [ \-g
 .IR geometry ]
 .IR geometry ]
-.RB [ \-i ]
 .RB [ \-o
 .RB [ \-o
-.IR file ]
-.RB [ \-t 
-.IR title ]
+.IR iofile ]
 .RB [ \-T
 .RB [ \-T
 .IR title ]
 .IR title ]
+.RB [ \-t
+.IR title ]
 .RB [ \-l
 .RB [ \-l
 .IR line ]
 .IR line ]
-.RB [ \-w 
+.RB [ \-w
 .IR windowid ]
 .IR windowid ]
-.RB [ \-v ]
-.RB [ \-e
-.IR command ...]
-.RI [ commands ...]
+.RB [[ \-e ]
+.IR command
+.RI [ arguments ...]]
 .PP
 .PP
 .B st
 .B st
-.RB [ \-a ]
+.RB [ \-aiv ]
 .RB [ \-c
 .RB [ \-c
 .IR class ]
 .IR class ]
 .RB [ \-f
 .RB [ \-f
 .IR font ]
 .IR font ]
 .RB [ \-g
 .RB [ \-g
 .IR geometry ]
 .IR geometry ]
-.RB [ \-i ]
 .RB [ \-o
 .RB [ \-o
-.IR file ]
-.RB [ \-t
-.IR title ]
+.IR iofile ]
 .RB [ \-T
 .RB [ \-T
 .IR title ]
 .IR title ]
+.RB [ \-t
+.IR title ]
 .RB [ \-w
 .RB [ \-w
 .IR windowid ]
 .IR windowid ]
-.RB [ \-v ]
 .RB \-l
 .RB \-l
 .IR line
 .IR line
 .RI [ stty_args ...]
 .RI [ stty_args ...]
@@ -78,14 +74,14 @@ writes all the I/O to
 This feature is useful when recording st sessions. A value of "-" means
 This feature is useful when recording st sessions. A value of "-" means
 standard output.
 standard output.
 .TP
 .TP
-.BI \-t " title"
+.BI \-T " title"
 defines the window title (default 'st').
 defines the window title (default 'st').
 .TP
 .TP
-.BI \-T " title"
+.BI \-t " title"
 defines the window title (default 'st').
 defines the window title (default 'st').
 .TP
 .TP
 .BI \-w " windowid"
 .BI \-w " windowid"
-embeds st within the window identified by 
+embeds st within the window identified by
 .I windowid
 .I windowid
 .TP
 .TP
 .BI \-l " line"
 .BI \-l " line"
@@ -111,9 +107,9 @@ for more arguments and cases.
 .B \-v
 .B \-v
 prints version information to stderr, then exits.
 prints version information to stderr, then exits.
 .TP
 .TP
-.BI \-e " program " [ " arguments " "... ]"
+.BI \-e " command " [ " arguments " "... ]"
 st executes
 st executes
-.I program
+.I command
 instead of the shell.  If this is used it
 instead of the shell.  If this is used it
 .B must be the last option
 .B must be the last option
 on the command line, as in xterm / rxvt.
 on the command line, as in xterm / rxvt.

+ 16 - 8
st.c

@@ -486,6 +486,7 @@ static void *xrealloc(void *, size_t);
 static char *xstrdup(char *);
 static char *xstrdup(char *);
 
 
 static void usage(void);
 static void usage(void);
+static void version(void);
 
 
 static void (*handler[LASTEvent])(XEvent *) = {
 static void (*handler[LASTEvent])(XEvent *) = {
 	[KeyPress] = kpress,
 	[KeyPress] = kpress,
@@ -4331,14 +4332,19 @@ run(void)
 void
 void
 usage(void)
 usage(void)
 {
 {
-	die("%s " VERSION " (c) 2010-2016 st engineers\n"
-	"usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n"
-	"          [-i] [-t title] [-T title] [-w windowid] [-e command ...]"
-	" [command ...]\n"
-	"       st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n"
-	"          [-i] [-t title] [-T title] [-w windowid] -l line"
-	" [stty_args ...]\n",
-	argv0);
+	die("usage: %s [-aiv] [-c class] [-f font] [-g geometry]"
+	" [-o file] [-T title]\n"
+	"          [-t title] [-w windowid] [[-e] command [args ...]]\n"
+	"       %s [-aiv] [-c class] [-f font] [-g geometry]"
+	" [-o file] [-T title]\n"
+	"          [-t title] [-w windowid] -l line [stty_args ...]\n",
+	argv0, argv0);
+}
+
+void
+version(void)
+{
+	die("%s " VERSION " (c) 2010-2016 st engineers\n", argv0);
 }
 }
 
 
 int
 int
@@ -4385,6 +4391,8 @@ main(int argc, char *argv[])
 		opt_embed = EARGF(usage());
 		opt_embed = EARGF(usage());
 		break;
 		break;
 	case 'v':
 	case 'v':
+		version();
+		break;
 	default:
 	default:
 		usage();
 		usage();
 	} ARGEND;
 	} ARGEND;