# st

Unnamed repository; edit this file 'description' to name the repository.

| 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;