st

[fork] terminal
Log | Files | Refs | README | LICENSE

commit b61afd24be566d8c8d7d5310fdad973441139428
parent 70464e208060746ad9184dfc298005fff3035d72
Author: Gregor Best <gbe@ring0.de>
Date:   Fri, 19 Nov 2010 17:13:13 +0100

Add -c option to override the default window class

Diffstat:
Mst.1 | 4++++
Mst.c | 8++++++--
2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/st.1 b/st.1 @@ -4,6 +4,7 @@ st \- simple terminal .SH SYNOPSIS .B st .RB [ \-e " <cmd>"] +.RB [ \-c " <class>"] .RB [ \-t " <title>"] .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 @@ -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;