Allow no automatic spawning of the command.

This commit is contained in:
Christoph Lohmann 2012-02-09 17:39:33 +01:00
parent 3d12c416b8
commit c79e339241
2 changed files with 26 additions and 4 deletions

View file

@ -4,16 +4,27 @@ tabbed \- generic tabbed interface
.SH SYNOPSIS
.B tabbed
.RB [ \-d ]
.RB [ \-h ]
.RB [ \-s ]
.RB [ \-v ]
.IR command ...
.SH DESCRIPTION
.B tabbed
is a simple tabbed container for applications which support XEmbed.
is a simple tabbed container for applications which support XEmbed. Tabbed
will then run the provides command with the xid of tabbed as appended
argument. (See EXAMPLES.) The automatic spawning of the command can be
disabled by provoding the -s parameter.
.SH OPTIONS
.TP
.B \-d
detaches tabbed from the terminal and prints its XID to stdout.
.TP
.B \-h
will print the usage of tabbed.
.TP
.B \-s
will disable automatic spawning of the command.
.TP
.B \-v
prints version information to stderr, then exits.
.SH USAGE

View file

@ -141,7 +141,7 @@ static void (*handler[LASTEvent]) (const XEvent *) = {
};
static int bh, wx, wy, ww, wh;
static unsigned int numlockmask = 0;
static Bool running = True, nextfocus;
static Bool running = True, nextfocus, doinitspawn = True;
static Display *dpy;
static DC dc;
static Atom wmatom[WMLast], xembedatom;
@ -687,7 +687,8 @@ run(void) {
/* main event loop */
XSync(dpy, False);
drawbar();
spawn(NULL);
if(doinitspawn == True)
spawn(NULL);
while(running) {
XNextEvent(dpy, &ev);
if(handler[ev.type])
@ -862,6 +863,12 @@ xerror(Display *dpy, XErrorEvent *ee) {
return xerrorxlib(dpy, ee); /* may call exit */
}
void
usage(char *argv0)
{
die("usage: %s [-dhsv] command...\n", argv0);
}
int
main(int argc, char *argv[]) {
int i, detach = 0;
@ -871,11 +878,15 @@ main(int argc, char *argv[]) {
die("tabbed-"VERSION", © 2009-2011 tabbed engineers, see LICENSE for details\n");
else if(!strcmp("-d", argv[i]))
detach = 1;
else if(!strcmp("-s", argv[i]))
doinitspawn = False;
else if(!strcmp("-h", argv[i]))
usage(argv[0]);
else
setcmd(argc-i, argv+i);
}
if(!cmd)
die("usage: tabbed [-d] [-v] command...\n");
usage(argv[0]);
if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())
fprintf(stderr, "tabbed: no locale support\n");
if(!(dpy = XOpenDisplay(NULL)))