st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit 7d352f143655ace75dd4e40432199f18f296da5e
parent 5beae6a62ee15dfe36048e377ebf86df09a0cf82
Author: Aurélien Aptel <aurelien.aptel@gmail.com>
Date:   Sat, 14 May 2011 17:47:37 +0200

applied parts of Connor Lane Smith's cleanup patch.

Diffstat:
Mst.1 | 26+++++++++++++-------------
Mst.c | 14+++++++-------
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/st.1 b/st.1
@@ -1,4 +1,4 @@
-.TH ST 1 st-VERSION
+.TH ST 1 st\-VERSION
 .SH NAME
 st \- simple terminal
 .SH SYNOPSIS
@@ -9,24 +9,24 @@ st \- simple terminal
 .IR title ]
 .RB [ \-v ]
 .RB [ \-e
-.IR cmd ]
+.IR command ...]
 .SH DESCRIPTION
 .B st
 is a simple terminal emulator.
 .SH OPTIONS
 .TP
-.B \-t title
-Overrides the default title (st)
+.BI \-t " title"
+defines the window title (default 'st').
 .TP
-.B \-c class
-Overrides the default class ($TERM)
+.BI \-c " class"
+defines the window class (default $TERM).
 .TP
 .B \-v
-Prints version information to standard output, then exits.
+prints version information to stderr, then exits.
 .TP
-.B \-e cmd [arguments]
-Execute cmd instead of the shell. Type your command as you would on your
-shell. If this option is used, it
-.BI "must be the last"
-on the command-line. This is the same behaviour as xterm/rxvt.
-
+.BI \-e " program " [ " arguments " "... ]"
+st executes
+.I program
+instead of the shell.  If this is used it
+.B must be the last option
+on the command line, as in xterm / rxvt.
diff --git a/st.c b/st.c
@@ -34,8 +34,8 @@
 #endif
 
 #define USAGE \
-    "st-" VERSION ", (c) 2010 st engineers\n" \
-    "usage: st [-t title] [-c class] [-v] [-e cmd]\n"
+    "st-" VERSION ", (c) 2010-2011 st engineers\n" \
+    "usage: st [-t title] [-c class] [-v] [-e command...]\n"
 
 /* Arbitrary sizes */
 #define ESC_TITLE_SIZ 256
@@ -1907,17 +1907,17 @@ main(int argc, char *argv[]) {
         case 'c':
             if(++i < argc) opt_class = argv[i];
             break;
-        case 'e':
+        case 'e': 
+            /* eat every remaining arguments */
             if(++i < argc) opt_cmd = &argv[i];
-            break;
+            goto run;
         case 'v':
         default:
             die(USAGE);
         }
-        /* -e eats every remaining arguments */
-        if(opt_cmd)
-            break;
     }
+
+ run:
     setlocale(LC_CTYPE, "");
     tnew(80, 24);
     ttynew();