Allowing a different position for the window id. Thanks David Galos!
This commit is contained in:
parent
3f0067b1c7
commit
380c783155
23
tabbed.1
23
tabbed.1
|
@ -9,6 +9,8 @@ tabbed \- generic tabbed interface
|
|||
.RB [ \-v ]
|
||||
.RB [ \-n
|
||||
.IR name ]
|
||||
.RB [ \-r
|
||||
.IR narg ]
|
||||
.IR [ command ... ]
|
||||
.SH DESCRIPTION
|
||||
.B tabbed
|
||||
|
@ -29,6 +31,13 @@ will print the usage of tabbed.
|
|||
will set the WM_CLASS attribute to
|
||||
.I name.
|
||||
.TP
|
||||
.BI \-r " narg"
|
||||
will replace the
|
||||
.I narg
|
||||
th argument in
|
||||
.I command
|
||||
with the window id, rather than appending it to the end.
|
||||
.TP
|
||||
.B \-s
|
||||
will disable automatic spawning of the command.
|
||||
.TP
|
||||
|
@ -61,4 +70,18 @@ $ tabbed urxvt -embed
|
|||
$ tabbed xterm -into
|
||||
.TP
|
||||
$ $(tabbed -d >/tmp/tabbed.xid); urxvt -embed $(</tmp/tabbed.xid);
|
||||
.TP
|
||||
$ tabbed -r 2 st -w '' -e tmux
|
||||
.SH CUSTOMIZATION
|
||||
.B tabbed
|
||||
can be customized by creating a custom config.h and (re)compiling the source
|
||||
code. This keeps it fast, secure and simple.
|
||||
.SH AUTHORS
|
||||
See the LICENSE file for the authors.
|
||||
.SH LICENSE
|
||||
See the LICENSE file for the terms of redistribution.
|
||||
.SH SEE ALSO
|
||||
.BR st (1)
|
||||
.SH BUGS
|
||||
Please report them.
|
||||
|
||||
|
|
17
tabbed.c
17
tabbed.c
|
@ -118,7 +118,7 @@ static void rotate(const Arg *arg);
|
|||
static void run(void);
|
||||
static void sendxembed(Client *c, long msg, long detail, long d1, long d2);
|
||||
static void setup(void);
|
||||
static void setcmd(int argc, char *argv[]);
|
||||
static void setcmd(int argc, char *argv[], int);
|
||||
static void sigchld(int unused);
|
||||
static void spawn(const Arg *arg);
|
||||
static int textnw(const char *text, unsigned int len);
|
||||
|
@ -766,14 +766,14 @@ sendxembed(Client *c, long msg, long detail, long d1, long d2) {
|
|||
}
|
||||
|
||||
void
|
||||
setcmd(int argc, char *argv[]) {
|
||||
setcmd(int argc, char *argv[], int replace) {
|
||||
int i;
|
||||
|
||||
cmd = emallocz((argc+2) * sizeof(*cmd));
|
||||
for(i = 0; i < argc; i++)
|
||||
cmd[i] = argv[i];
|
||||
cmd[argc] = winid;
|
||||
cmd[argc+1] = NULL;
|
||||
cmd[(replace > 0)? replace : argc] = winid;
|
||||
cmd[argc + !(replace > 0)] = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -952,12 +952,12 @@ char *argv0;
|
|||
|
||||
void
|
||||
usage(void) {
|
||||
die("usage: %s [-dhsv] [-n name] command...\n", argv0);
|
||||
die("usage: %s [-dhsv] [-n name] [-r narg] command...\n", argv0);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[]) {
|
||||
int detach = 0;
|
||||
int detach = 0, replace = 0;
|
||||
|
||||
ARGBEGIN {
|
||||
case 'd':
|
||||
|
@ -966,6 +966,9 @@ main(int argc, char *argv[]) {
|
|||
case 'n':
|
||||
wmname = EARGF(usage());
|
||||
break;
|
||||
case 'r':
|
||||
replace = atoi(EARGF(usage()));
|
||||
break;
|
||||
case 's':
|
||||
doinitspawn = False;
|
||||
break;
|
||||
|
@ -981,7 +984,7 @@ main(int argc, char *argv[]) {
|
|||
if(argc < 1)
|
||||
doinitspawn = False;
|
||||
|
||||
setcmd(argc, argv);
|
||||
setcmd(argc, argv, replace);
|
||||
|
||||
if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())
|
||||
fprintf(stderr, "tabbed: no locale support\n");
|
||||
|
|
Loading…
Reference in a new issue