tAdd -c option to override the default window class - st - [fork] customized bu… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit b61afd24be566d8c8d7d5310fdad973441139428 | |
parent 70464e208060746ad9184dfc298005fff3035d72 | |
Author: Gregor Best <[email protected]> | |
Date: Fri, 19 Nov 2010 17:13:13 +0100 | |
Add -c option to override the default window class | |
Diffstat: | |
M st.1 | 4 ++++ | |
M st.c | 8 ++++++-- | |
2 files changed, 10 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/st.1 b/st.1 | |
t@@ -4,6 +4,7 @@ st \- simple terminal | |
.SH SYNOPSIS | |
.B st | |
.RB [ \-e " <cmd>"] | |
+.RB [ \-c " <class>"] | |
.RB [ \-t " <title>"] | |
.RB [ \-v ] | |
.SH DESCRIPTION | |
t@@ -17,5 +18,8 @@ Execute cmd instead of the shell | |
.B \-t <title> | |
Overrides the default title (st) | |
.TP | |
+.B \-c <class> | |
+Overrides the default class ($TERM) | |
+.TP | |
.BI \-v | |
Prints version information to standard output, then exits. | |
diff --git a/st.c b/st.c | |
t@@ -31,7 +31,7 @@ | |
#define USAGE \ | |
"st-" VERSION ", (c) 2010 st engineers\n" \ | |
- "usage: st [-t title] [-e cmd] [-v]\n" | |
+ "usage: st [-t title] [-c class] [-e cmd] [-v]\n" | |
/* Arbitrary sizes */ | |
#define ESC_TITLE_SIZ 256 | |
t@@ -252,6 +252,7 @@ static pid_t pid; | |
static Selection sel; | |
static char *opt_cmd = NULL; | |
static char *opt_title = NULL; | |
+static char *opt_class = NULL; | |
/* UTF-8 decode */ | |
static int stou(char *s, long *u) { | |
t@@ -1443,7 +1444,7 @@ xclear(int x1, int y1, int x2, int y2) { | |
void | |
xhints(void) | |
{ | |
- XClassHint class = {TNAME, TNAME}; | |
+ XClassHint class = {opt_class ? opt_class : TNAME, TNAME}; | |
XWMHints wm = {.flags = InputHint, .input = 1}; | |
XSizeHints size = { | |
.flags = PSize | PResizeInc | PBaseSize, | |
t@@ -1838,6 +1839,9 @@ main(int argc, char *argv[]) { | |
case 't': | |
if(++i < argc) opt_title = argv[i]; | |
break; | |
+ case 'c': | |
+ if(++i < argc) opt_class = argv[i]; | |
+ break; | |
case 'e': | |
if(++i < argc) opt_cmd = argv[i]; | |
break; |