tThis changes -f to be the parameter for the font. Now -f is -o. - st - [fork] … | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 5dfd5df4fe566beb17069e6390236854f6ace58f | |
parent 9cae1eb0ded2e1ca604753893e2307531ef73afc | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sun, 30 Sep 2012 20:23:10 +0200 | |
This changes -f to be the parameter for the font. Now -f is -o. | |
The parameters were reordered according to the alphabet too. | |
Diffstat: | |
M st.1 | 33 ++++++++++++++++++++---------… | |
M st.c | 42 +++++++++++++++++++----------… | |
2 files changed, 47 insertions(+), 28 deletions(-) | |
--- | |
diff --git a/st.1 b/st.1 | |
t@@ -5,15 +5,17 @@ st \- simple terminal | |
.B st | |
.RB [ \-c | |
.IR class ] | |
+.RB [ \-f | |
+.IR font ] | |
.RB [ \-g | |
.IR geometry ] | |
+.RB [ \-o | |
+.IR file ] | |
.RB [ \-t | |
.IR title ] | |
.RB [ \-w | |
.IR windowid ] | |
.RB [ \-v ] | |
-.RB [ \-f | |
-.IR file ] | |
.RB [ \-e | |
.IR command ...] | |
.SH DESCRIPTION | |
t@@ -21,26 +23,33 @@ st \- simple terminal | |
is a simple terminal emulator. | |
.SH OPTIONS | |
.TP | |
-.BI \-t " title" | |
-defines the window title (default 'st'). | |
-.TP | |
.BI \-c " class" | |
defines the window class (default $TERM). | |
.TP | |
+.BI \-f " font" | |
+defines the | |
+.I font | |
+to use when st is run. | |
+.TP | |
+.BI \-g " geometry" | |
+defines the X11 geometry string, which will fixate the height and width of st. | |
+.TP | |
+.BI \-o " file" | |
+writes all the I/O to | |
+.I file. | |
+This feature is useful when recording st sessions. A value of "-" means | |
+standard output. | |
+.TP | |
+.BI \-t " title" | |
+defines the window title (default 'st'). | |
+.TP | |
.BI \-w " windowid" | |
embeds st within the window identified by | |
.I windowid | |
.TP | |
-.B \-g " geometry" | |
-defines the X11 geometry string, which will fixate the height and width of st. | |
.B \-v | |
prints version information to stderr, then exits. | |
.TP | |
-.BI \-f " file" | |
-writes all the I/O to | |
-.I file. | |
-This feature is useful when recording st sessions. | |
-.TP | |
.BI \-e " program " [ " arguments " "... ]" | |
st executes | |
.I program | |
diff --git a/st.c b/st.c | |
t@@ -39,8 +39,8 @@ | |
#define USAGE \ | |
"st " VERSION " (c) 2010-2012 st engineers\n" \ | |
- "usage: st [-t title] [-c class] [-g geometry]" \ | |
- " [-w windowid] [-v] [-f file] [-e command...]\n" | |
+ "usage: st [-v] [-c class] [-f font] [-g geometry] [-o file]" \ | |
+ " [-t title] [-w windowid] [-e command ...]\n" | |
/* XEMBED messages */ | |
#define XEMBED_FOCUS_IN 4 | |
t@@ -365,11 +365,12 @@ static int cmdfd; | |
static pid_t pid; | |
static Selection sel; | |
static int iofd = -1; | |
-static char **opt_cmd = NULL; | |
-static char *opt_io = NULL; | |
+static char **opt_cmd = NULL; | |
+static char *opt_io = NULL; | |
static char *opt_title = NULL; | |
static char *opt_embed = NULL; | |
static char *opt_class = NULL; | |
+static char *opt_font = NULL; | |
void * | |
xmalloc(size_t len) { | |
t@@ -2087,7 +2088,7 @@ xinit(void) { | |
xw.vis = XDefaultVisual(xw.dpy, xw.scr); | |
/* font */ | |
- initfonts(FONT); | |
+ initfonts((opt_font != NULL)? opt_font : FONT); | |
/* XXX: Assuming same size for bold font */ | |
xw.cw = dc.font.rbearing - dc.font.lbearing; | |
t@@ -2503,22 +2504,19 @@ main(int argc, char *argv[]) { | |
for(i = 1; i < argc; i++) { | |
switch(argv[i][0] != '-' || argv[i][2] ? -1 : argv[i][1]) { | |
- case 't': | |
- if(++i < argc) opt_title = argv[i]; | |
- break; | |
case 'c': | |
- if(++i < argc) opt_class = argv[i]; | |
- break; | |
- case 'w': | |
- if(++i < argc) opt_embed = argv[i]; | |
- break; | |
- case 'f': | |
- if(++i < argc) opt_io = argv[i]; | |
+ if(++i < argc) | |
+ opt_class = argv[i]; | |
break; | |
case 'e': | |
/* eat every remaining arguments */ | |
- if(++i < argc) opt_cmd = &argv[i]; | |
+ if(++i < argc) | |
+ opt_cmd = &argv[i]; | |
goto run; | |
+ case 'f': | |
+ if(++i < argc) | |
+ opt_font = argv[i]; | |
+ break; | |
case 'g': | |
if(++i >= argc) | |
break; | |
t@@ -2540,9 +2538,21 @@ main(int argc, char *argv[]) { | |
if(xw.fh != 0 && xw.fw != 0) | |
xw.isfixed = True; | |
break; | |
+ case 'o': | |
+ if(++i < argc) | |
+ opt_io = argv[i]; | |
+ break; | |
+ case 't': | |
+ if(++i < argc) | |
+ opt_title = argv[i]; | |
+ break; | |
case 'v': | |
default: | |
die(USAGE); | |
+ case 'w': | |
+ if(++i < argc) | |
+ opt_embed = argv[i]; | |
+ break; | |
} | |
} | |