summaryrefslogtreecommitdiffstats
path: root/cmd-select-window.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2008-06-05 21:25:00 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2008-06-05 21:25:00 +0000
commit0b9b873a5505de6fdfb8f02cfbaef5fc82831a5f (patch)
treef034330734848ce9df96ee94ab4dc6a7ad025dc9 /cmd-select-window.c
parentee1a7fded7653ffc2ba68a4188c89a7cb6e1bf1d (diff)
Big reorganisation of command-line syntax.
Diffstat (limited to 'cmd-select-window.c')
-rw-r--r--cmd-select-window.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/cmd-select-window.c b/cmd-select-window.c
index 23ac48b4..0fbbe942 100644
--- a/cmd-select-window.c
+++ b/cmd-select-window.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-select-window.c,v 1.17 2008-06-05 16:35:32 nicm Exp $ */
+/* $Id: cmd-select-window.c,v 1.18 2008-06-05 21:25:00 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -32,35 +32,36 @@ void cmd_select_window_exec(struct cmd *, struct cmd_ctx *);
const struct cmd_entry cmd_select_window_entry = {
"select-window", "selectw",
- CMD_WINDOWONLY_USAGE,
+ CMD_TARGET_WINDOW_USAGE,
0,
- cmd_windowonly_parse,
- cmd_select_window_exec,
- cmd_windowonly_send,
- cmd_windowonly_recv,
- cmd_windowonly_free,
cmd_select_window_init,
- cmd_windowonly_print
+ cmd_target_parse,
+ cmd_select_window_exec,
+ cmd_target_send,
+ cmd_target_recv,
+ cmd_target_free,
+ cmd_target_print
};
void
-cmd_select_window_init(struct cmd *self, int arg)
+cmd_select_window_init(struct cmd *self, int key)
{
- struct cmd_windowonly_data *data;
+ struct cmd_target_data *data;
+
+ cmd_target_init(self, key);
+ data = self->data;
- self->data = data = xmalloc(sizeof *data);
- data->cname = NULL;
- data->sname = NULL;
- data->idx = arg - '0';
+ xasprintf(&data->target, ":%d", key - '0');
}
void
cmd_select_window_exec(struct cmd *self, struct cmd_ctx *ctx)
{
- struct winlink *wl;
- struct session *s;
+ struct cmd_target_data *data = self->data;
+ struct winlink *wl;
+ struct session *s;
- if ((wl = cmd_windowonly_get(self, ctx, &s)) == NULL)
+ if ((wl = cmd_find_window(ctx, data->target, &s)) == NULL)
return;
if (session_select(s, wl->idx) == 0)