JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Add -c option to override the default window class
[st.git] / st.c
diff --git a/st.c b/st.c
index b25fe89..bed7e8d 100644 (file)
--- 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;