mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Move suspend-client code into detach-client.
This commit is contained in:
		
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							@@ -22,7 +22,6 @@ SRCS=	arguments.c \
 | 
			
		||||
	cmd-display-message.c \
 | 
			
		||||
	cmd-display-panes.c \
 | 
			
		||||
	cmd-find-window.c \
 | 
			
		||||
	cmd-has-session.c \
 | 
			
		||||
	cmd-if-shell.c \
 | 
			
		||||
	cmd-join-pane.c \
 | 
			
		||||
	cmd-kill-pane.c \
 | 
			
		||||
@@ -66,7 +65,6 @@ SRCS=	arguments.c \
 | 
			
		||||
	cmd-source-file.c \
 | 
			
		||||
	cmd-split-window.c \
 | 
			
		||||
	cmd-string.c \
 | 
			
		||||
	cmd-suspend-client.c \
 | 
			
		||||
	cmd-swap-pane.c \
 | 
			
		||||
	cmd-swap-window.c \
 | 
			
		||||
	cmd-switch-client.c \
 | 
			
		||||
 
 | 
			
		||||
@@ -36,6 +36,14 @@ const struct cmd_entry cmd_detach_client_entry = {
 | 
			
		||||
	cmd_detach_client_exec
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const struct cmd_entry cmd_suspend_client_entry = {
 | 
			
		||||
	"suspend-client", "suspendc",
 | 
			
		||||
	"t:", 0, 0,
 | 
			
		||||
	CMD_TARGET_CLIENT_USAGE,
 | 
			
		||||
	0,
 | 
			
		||||
	cmd_detach_client_exec
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum cmd_retval
 | 
			
		||||
cmd_detach_client_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
{
 | 
			
		||||
@@ -45,6 +53,15 @@ cmd_detach_client_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
	enum msgtype	 msgtype;
 | 
			
		||||
	u_int 		 i;
 | 
			
		||||
 | 
			
		||||
	if (self->entry == &cmd_suspend_client_entry) {
 | 
			
		||||
		if ((c = cmd_find_client(cmdq, args_get(args, 't'), 0)) == NULL)
 | 
			
		||||
			return (CMD_RETURN_ERROR);
 | 
			
		||||
		tty_stop_tty(&c->tty);
 | 
			
		||||
		c->flags |= CLIENT_SUSPENDED;
 | 
			
		||||
		server_write_client(c, MSG_SUSPEND, NULL, 0);
 | 
			
		||||
		return (CMD_RETURN_NORMAL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (args_has(args, 'P'))
 | 
			
		||||
		msgtype = MSG_DETACHKILL;
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
@@ -1,54 +0,0 @@
 | 
			
		||||
/* $OpenBSD$ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2009 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 <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include "tmux.h"
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Suspend client with SIGTSTP.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
enum cmd_retval	 cmd_suspend_client_exec(struct cmd *, struct cmd_q *);
 | 
			
		||||
 | 
			
		||||
const struct cmd_entry cmd_suspend_client_entry = {
 | 
			
		||||
	"suspend-client", "suspendc",
 | 
			
		||||
	"t:", 0, 0,
 | 
			
		||||
	CMD_TARGET_CLIENT_USAGE,
 | 
			
		||||
	0,
 | 
			
		||||
	cmd_suspend_client_exec
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum cmd_retval
 | 
			
		||||
cmd_suspend_client_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
{
 | 
			
		||||
	struct args	*args = self->args;
 | 
			
		||||
	struct client	*c;
 | 
			
		||||
 | 
			
		||||
	if ((c = cmd_find_client(cmdq, args_get(args, 't'), 0)) == NULL)
 | 
			
		||||
		return (CMD_RETURN_ERROR);
 | 
			
		||||
 | 
			
		||||
	tty_stop_tty(&c->tty);
 | 
			
		||||
	c->flags |= CLIENT_SUSPENDED;
 | 
			
		||||
	server_write_client(c, MSG_SUSPEND, NULL, 0);
 | 
			
		||||
 | 
			
		||||
	return (CMD_RETURN_NORMAL);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user