| tAdd -n option for setting WM_CLASS instance name - st - [fork] customized buil… | |
| git clone git://src.adamsgaard.dk/st | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 0cd5117a2cfc4134712de748ec416be0655838b2 | |
| parent bd5fdbe64c8abfb624ad59939ed9b221c8b04eef | |
| Author: Quentin Rameau <[email protected]> | |
| Date: Fri, 29 Jan 2016 22:03:01 +0100 | |
| Add -n option for setting WM_CLASS instance name | |
| Signed-off-by: Christoph Lohmann <[email protected]> | |
| Diffstat: | |
| M st.1 | 7 +++++++ | |
| M st.c | 34 +++++++++++++++++------------… | |
| 2 files changed, 26 insertions(+), 15 deletions(-) | |
| --- | |
| diff --git a/st.1 b/st.1 | |
| t@@ -10,6 +10,8 @@ st \- simple terminal | |
| .IR font ] | |
| .RB [ \-g | |
| .IR geometry ] | |
| +.RB [ \-n | |
| +.IR name ] | |
| .RB [ \-o | |
| .IR iofile ] | |
| .RB [ \-T | |
| t@@ -32,6 +34,8 @@ st \- simple terminal | |
| .IR font ] | |
| .RB [ \-g | |
| .IR geometry ] | |
| +.RB [ \-n | |
| +.IR name ] | |
| .RB [ \-o | |
| .IR iofile ] | |
| .RB [ \-T | |
| t@@ -68,6 +72,9 @@ for further details. | |
| .B \-i | |
| will fixate the position given with the -g option. | |
| .TP | |
| +.BI \-n " name" | |
| +defines the window instance name (default $TERM). | |
| +.TP | |
| .BI \-o " iofile" | |
| writes all the I/O to | |
| .I iofile. | |
| diff --git a/st.c b/st.c | |
| t@@ -524,14 +524,15 @@ static int cmdfd; | |
| static pid_t pid; | |
| static Selection sel; | |
| static int iofd = 1; | |
| -static char **opt_cmd = NULL; | |
| -static char *opt_io = NULL; | |
| -static char *opt_title = NULL; | |
| -static char *opt_embed = NULL; | |
| +static char **opt_cmd = NULL; | |
| static char *opt_class = NULL; | |
| -static char *opt_font = NULL; | |
| -static char *opt_line = NULL; | |
| -static int oldbutton = 3; /* button event on startup: 3 = release */ | |
| +static char *opt_embed = NULL; | |
| +static char *opt_font = NULL; | |
| +static char *opt_io = NULL; | |
| +static char *opt_line = NULL; | |
| +static char *opt_name = NULL; | |
| +static char *opt_title = NULL; | |
| +static int oldbutton = 3; /* button event on startup: 3 = release */ | |
| static char *usedfont = NULL; | |
| static double usedfontsize = 0; | |
| t@@ -3240,7 +3241,8 @@ xclear(int x1, int y1, int x2, int y2) | |
| void | |
| xhints(void) | |
| { | |
| - XClassHint class = {termname, opt_class ? opt_class : termname}; | |
| + XClassHint class = {opt_name ? opt_name : termname, | |
| + opt_class ? opt_class : termname}; | |
| XWMHints wm = {.flags = InputHint, .input = 1}; | |
| XSizeHints *sizeh = NULL; | |
| t@@ -4332,13 +4334,12 @@ run(void) | |
| void | |
| usage(void) | |
| { | |
| - die("usage: %s [-aiv] [-c class] [-f font] [-g geometry]" | |
| - " [-o file] [-T title]\n" | |
| - " [-t title] [-w windowid] [[-e] command [args ...]]\n" | |
| - " %s [-aiv] [-c class] [-f font] [-g geometry]" | |
| - " [-o file] [-T title]\n" | |
| - " [-t title] [-w windowid] -l line [stty_args ...]\n", | |
| - argv0, argv0); | |
| + die("usage: %s " | |
| + "[-aiv] [-c class] [-f font] [-g geometry] [-n name] [-o file]\n … | |
| + " [-T title] [-t title] [-w windowid] [[-e] command [args ...]\n … | |
| + " %s [-aiv] [-c class] [-f font] [-g geometry] [-n name] [-o file]\n … | |
| + " [-o file] [-T title] [-t title] [-w windowid] -l line" | |
| + " [stty_args ...]\n", argv0, argv0); | |
| } | |
| void | |
| t@@ -4383,6 +4384,9 @@ main(int argc, char *argv[]) | |
| case 'l': | |
| opt_line = EARGF(usage()); | |
| break; | |
| + case 'n': | |
| + opt_name = EARGF(usage()); | |
| + break; | |
| case 't': | |
| case 'T': | |
| opt_title = EARGF(usage()); |