static char *xstrdup(char *);
static void usage(void);
+static void version(void);
static void (*handler[LASTEvent])(XEvent *) = {
[KeyPress] = kpress,
if (openpty(&m, &s, NULL, NULL, &w) < 0)
die("openpty failed: %s\n", strerror(errno));
+ ttyresize();
+
switch (pid = fork()) {
case -1:
die("fork failed\n");
continue;
die("select failed: %s\n", strerror(errno));
}
- if (FD_ISSET(cmdfd, &rfd))
- lim = ttyread();
if (FD_ISSET(cmdfd, &wfd)) {
/*
* Only write the bytes written by ttywrite() or the
break;
}
}
+ if (FD_ISSET(cmdfd, &rfd))
+ lim = ttyread();
}
return;
void
xhints(void)
{
- XClassHint class = {opt_class ? opt_class : termname, termname};
+ XClassHint class = {termname, opt_class ? opt_class : termname};
XWMHints wm = {.flags = InputHint, .input = 1};
XSizeHints *sizeh = NULL;
if (xw.gm & XNegative)
xw.l += DisplayWidth(xw.dpy, xw.scr) - xw.w - 2;
if (xw.gm & YNegative)
- xw.t += DisplayWidth(xw.dpy, xw.scr) - xw.h - 2;
+ xw.t += DisplayHeight(xw.dpy, xw.scr) - xw.h - 2;
/* Events */
xw.attrs.background_pixel = dc.col[defaultbg].pixel;
void
usage(void)
{
- die("%s " VERSION " (c) 2010-2015 st engineers\n"
- "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n"
- " [-i] [-t title] [-T title] [-w windowid] [-e command ...]"
- " [command ...]\n"
- " st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n"
- " [-i] [-t title] [-T title] [-w windowid] -l line"
- " [stty_args ...]\n",
- argv0);
+ 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);
+}
+
+void
+version(void)
+{
+ die("%s " VERSION " (c) 2010-2016 st engineers\n", argv0);
}
int
opt_embed = EARGF(usage());
break;
case 'v':
+ version();
+ break;
default:
usage();
} ARGEND;