aboutsummaryrefslogtreecommitdiff
path: root/tmux.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2007-11-16 21:12:31 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2007-11-16 21:12:31 +0000
commitb359f9b594ccd945a245e429469d3c53fb6bf859 (patch)
tree56ea1db5c03062736f52775f4c45e16f51339eb0 /tmux.c
parent86b73cec72fc178cc612a60af2ac1d0aff3c10c5 (diff)
downloadrtmux-b359f9b594ccd945a245e429469d3c53fb6bf859.tar.gz
rtmux-b359f9b594ccd945a245e429469d3c53fb6bf859.tar.bz2
rtmux-b359f9b594ccd945a245e429469d3c53fb6bf859.zip
Add -c option to specify client, and move detach/refresh to client rather than session.
Diffstat (limited to 'tmux.c')
-rw-r--r--tmux.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/tmux.c b/tmux.c
index b6ba1533..b47b9025 100644
--- a/tmux.c
+++ b/tmux.c
@@ -1,4 +1,4 @@
-/* $Id: tmux.c,v 1.40 2007-11-12 15:12:08 nicm Exp $ */
+/* $Id: tmux.c,v 1.41 2007-11-16 21:12:31 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -52,17 +52,19 @@ usage(char **ptr, const char *fmt, ...)
char *msg;
va_list ap;
+#define USAGE \
+ "usage: %s [-v] [-S socket-path] [-s session-name] [-c client-tty]"
if (fmt == NULL) {
- xasprintf(ptr,
- "usage: %s [-v] [-S path] command [flags]", __progname);
+ xasprintf(ptr, USAGE " command [flags]", __progname);
} else {
va_start(ap, fmt);
xvasprintf(&msg, fmt, ap);
va_end(ap);
- xasprintf(ptr, "usage: %s [-v] [-S path] %s", __progname, msg);
+ xasprintf(ptr, USAGE " %s", __progname, msg);
xfree(msg);
}
+#undef USAGE
}
void
@@ -173,12 +175,16 @@ main(int argc, char **argv)
struct hdr hdr;
const char *shell;
struct passwd *pw;
- char *path, rpath[MAXPATHLEN], *cause, *name;
+ char *client, *path, *name, *cause;
+ char rpath[MAXPATHLEN];
int n, opt;
- path = name = NULL;
- while ((opt = getopt(argc, argv, "S:s:vV")) != EOF) {
+ client = path = name = NULL;
+ while ((opt = getopt(argc, argv, "c:S:s:vV")) != EOF) {
switch (opt) {
+ case 'c':
+ client = xstrdup(optarg);
+ break;
case 'S':
path = xstrdup(optarg);
break;
@@ -244,6 +250,7 @@ main(int argc, char **argv)
exit(1);
b = buffer_create(BUFSIZ);
cmd_send_string(b, name);
+ cmd_send_string(b, client);
cmd_send(cmd, b);
cmd_free(cmd);