aboutsummaryrefslogtreecommitdiff
path: root/cmd-refresh-session.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 /cmd-refresh-session.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 'cmd-refresh-session.c')
-rw-r--r--cmd-refresh-session.c130
1 files changed, 0 insertions, 130 deletions
diff --git a/cmd-refresh-session.c b/cmd-refresh-session.c
deleted file mode 100644
index 5853ee54..00000000
--- a/cmd-refresh-session.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* $Id: cmd-refresh-session.c,v 1.2 2007-11-13 09:53:47 nicm Exp $ */
-
-/*
- * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
- * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <sys/types.h>
-
-#include <getopt.h>
-
-#include "tmux.h"
-
-/*
- * Refresh session. If called with -a refresh all clients attached to specified
- * session, otherwise refresh current session on key press only.
- */
-
-int cmd_refresh_session_parse(void **, int, char **, char **);
-void cmd_refresh_session_exec(void *, struct cmd_ctx *);
-void cmd_refresh_session_send(void *, struct buffer *);
-void cmd_refresh_session_recv(void **, struct buffer *);
-void cmd_refresh_session_free(void *);
-
-struct cmd_refresh_session_data {
- int flag_all;
-};
-
-const struct cmd_entry cmd_refresh_session_entry = {
- "refresh-session", "refresh", "[-a]",
- 0,
- cmd_refresh_session_parse,
- cmd_refresh_session_exec,
- cmd_refresh_session_send,
- cmd_refresh_session_recv,
- cmd_refresh_session_free
-};
-
-int
-cmd_refresh_session_parse(void **ptr, int argc, char **argv, char **cause)
-{
- struct cmd_refresh_session_data *data;
- int opt;
-
- *ptr = data = xmalloc(sizeof *data);
- data->flag_all = 0;
-
- while ((opt = getopt(argc, argv, "a")) != EOF) {
- switch (opt) {
- case 'a':
- data->flag_all = 1;
- break;
- default:
- goto usage;
- }
- }
- argc -= optind;
- argv += optind;
- if (argc != 0)
- goto usage;
-
- return (0);
-
-usage:
- usage(cause, "%s %s",
- cmd_refresh_session_entry.name, cmd_refresh_session_entry.usage);
-
- cmd_refresh_session_free(data);
- return (-1);
-}
-
-void
-cmd_refresh_session_exec(void *ptr, struct cmd_ctx *ctx)
-{
- struct cmd_refresh_session_data *data = ptr, std = { 0 };
- struct client *c;
- u_int i;
-
- if (data == NULL)
- data = &std;
-
- if (data->flag_all) {
- for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
- c = ARRAY_ITEM(&clients, i);
- if (c == NULL || c->session != ctx->session)
- continue;
- server_redraw_client(c);
- }
- } else if (ctx->flags & CMD_KEY)
- server_redraw_client(ctx->client);
-
- if (!(ctx->flags & CMD_KEY))
- server_write_client(ctx->client, MSG_EXIT, NULL, 0);
-}
-
-void
-cmd_refresh_session_send(void *ptr, struct buffer *b)
-{
- struct cmd_refresh_session_data *data = ptr;
-
- buffer_write(b, data, sizeof *data);
-}
-
-void
-cmd_refresh_session_recv(void **ptr, struct buffer *b)
-{
- struct cmd_refresh_session_data *data;
-
- *ptr = data = xmalloc(sizeof *data);
- buffer_read(b, data, sizeof *data);
-}
-
-void
-cmd_refresh_session_free(void *ptr)
-{
- struct cmd_refresh_session_data *data = ptr;
-
- xfree(data);
-}