diff options
| -rw-r--r-- | st.1 | 4 | ||||
| -rw-r--r-- | st.c | 8 | 
2 files changed, 10 insertions, 2 deletions
| @@ -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. @@ -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; | 
