Add -c option to override the default window class - st - Simple Terminal
Log
Files
Refs
README
LICENSE
---
commit b61afd24be566d8c8d7d5310fdad973441139428
parent 70464e208060746ad9184dfc298005fff3035d72
Author: Gregor Best 
Date:   Fri, 19 Nov 2010 17:13:13 +0100

Add -c option to override the default window class

Diffstat:
  st.1                                |       4 ++++
  st.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 " "]
+.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.</pre></td></tr><tr><td><i class="fa fa-folder-o"></i></td><td><pre><a href="?url=gopher%3A%2F%2Fgopher.r-36.net%3A70%2F1%2Fscm%2Fst%2F%2Ffile%2Fst.c.gph"">diff --git a/st.c b/st.c</a></pre></td></tr><tr><td></td><td><pre>@@ -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;</pre></td></tr></table>

    </section>
</body>

</html>