From b61afd24be566d8c8d7d5310fdad973441139428 Mon Sep 17 00:00:00 2001 From: Gregor Best Date: Fri, 19 Nov 2010 17:13:13 +0100 Subject: [PATCH] Add -c option to override the default window class --- st.1 | 4 ++++ st.c | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/st.1 b/st.1 index 4d00d2f..29bdda6 100644 --- a/st.1 +++ b/st.1 @@ -4,6 +4,7 @@ st \- simple terminal .SH SYNOPSIS .B st .RB [ \-e " "] +.RB [ \-c " "] .RB [ \-t " "] .RB [ \-v ] .SH DESCRIPTION @@ -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 index b25fe89..bed7e8d 100644 --- a/st.c +++ b/st.c @@ -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 @@ -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) { @@ -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, @@ -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; -- 1.7.10.4