mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		@@ -44,8 +44,9 @@ const struct cmd_entry cmd_run_shell_entry = {
 | 
				
			|||||||
	.name = "run-shell",
 | 
						.name = "run-shell",
 | 
				
			||||||
	.alias = "run",
 | 
						.alias = "run",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	.args = { "bd:Ct:", 0, 1, cmd_run_shell_args_parse },
 | 
						.args = { "bd:Ct:c:", 0, 2, cmd_run_shell_args_parse },
 | 
				
			||||||
	.usage = "[-bC] [-d delay] " CMD_TARGET_PANE_USAGE " [shell-command]",
 | 
						.usage = "[-bC] [-c start-directory] [-d delay] " CMD_TARGET_PANE_USAGE
 | 
				
			||||||
 | 
						         " [shell-command]",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	.target = { 't', CMD_FIND_PANE, CMD_FIND_CANFAIL },
 | 
						.target = { 't', CMD_FIND_PANE, CMD_FIND_CANFAIL },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -103,6 +104,7 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item)
 | 
				
			|||||||
	struct args			*args = cmd_get_args(self);
 | 
						struct args			*args = cmd_get_args(self);
 | 
				
			||||||
	struct cmd_find_state		*target = cmdq_get_target(item);
 | 
						struct cmd_find_state		*target = cmdq_get_target(item);
 | 
				
			||||||
	struct cmd_run_shell_data	*cdata;
 | 
						struct cmd_run_shell_data	*cdata;
 | 
				
			||||||
 | 
						struct client			*c = cmdq_get_client(item);
 | 
				
			||||||
	struct client			*tc = cmdq_get_target_client(item);
 | 
						struct client			*tc = cmdq_get_target_client(item);
 | 
				
			||||||
	struct session			*s = target->s;
 | 
						struct session			*s = target->s;
 | 
				
			||||||
	struct window_pane		*wp = target->wp;
 | 
						struct window_pane		*wp = target->wp;
 | 
				
			||||||
@@ -137,7 +139,7 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item)
 | 
				
			|||||||
		cdata->wp_id = -1;
 | 
							cdata->wp_id = -1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (wait) {
 | 
						if (wait) {
 | 
				
			||||||
		cdata->client = cmdq_get_client(item);
 | 
							cdata->client = c;
 | 
				
			||||||
		cdata->item = item;
 | 
							cdata->item = item;
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		cdata->client = tc;
 | 
							cdata->client = tc;
 | 
				
			||||||
@@ -145,8 +147,10 @@ cmd_run_shell_exec(struct cmd *self, struct cmdq_item *item)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	if (cdata->client != NULL)
 | 
						if (cdata->client != NULL)
 | 
				
			||||||
		cdata->client->references++;
 | 
							cdata->client->references++;
 | 
				
			||||||
 | 
						if (args_has(args, 'c'))
 | 
				
			||||||
	cdata->cwd = xstrdup(server_client_get_cwd(cmdq_get_client(item), s));
 | 
							cdata->cwd = xstrdup(args_get(args, 'c'));
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							cdata->cwd = xstrdup(server_client_get_cwd(c, s));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cdata->s = s;
 | 
						cdata->s = s;
 | 
				
			||||||
	if (s != NULL)
 | 
						if (s != NULL)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								input.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								input.c
									
									
									
									
									
								
							@@ -2256,9 +2256,9 @@ input_dcs_dispatch(struct input_ctx *ictx)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if (wp == NULL)
 | 
						if (wp == NULL)
 | 
				
			||||||
		return (0);
 | 
							return (0);
 | 
				
			||||||
	if (ictx->flags & INPUT_DISCARD)
 | 
						if (ictx->flags & INPUT_DISCARD) {
 | 
				
			||||||
 | 
							log_debug("%s: %zu bytes (discard)", __func__, len);
 | 
				
			||||||
		return (0);
 | 
							return (0);
 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef ENABLE_SIXEL
 | 
					#ifdef ENABLE_SIXEL
 | 
				
			||||||
	if (buf[0] == 'q') {
 | 
						if (buf[0] == 'q') {
 | 
				
			||||||
		si = sixel_parse(buf, len, w->xpixel, w->ypixel);
 | 
							si = sixel_parse(buf, len, w->xpixel, w->ypixel);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								tmux.1
									
									
									
									
									
								
							@@ -6642,6 +6642,7 @@ option.
 | 
				
			|||||||
.Tg run
 | 
					.Tg run
 | 
				
			||||||
.It Xo Ic run-shell
 | 
					.It Xo Ic run-shell
 | 
				
			||||||
.Op Fl bC
 | 
					.Op Fl bC
 | 
				
			||||||
 | 
					.Op Fl c Ar start-directory
 | 
				
			||||||
.Op Fl d Ar delay
 | 
					.Op Fl d Ar delay
 | 
				
			||||||
.Op Fl t Ar target-pane
 | 
					.Op Fl t Ar target-pane
 | 
				
			||||||
.Op Ar shell-command
 | 
					.Op Ar shell-command
 | 
				
			||||||
@@ -6669,6 +6670,10 @@ waits for
 | 
				
			|||||||
.Ar delay
 | 
					.Ar delay
 | 
				
			||||||
seconds before starting the command.
 | 
					seconds before starting the command.
 | 
				
			||||||
If
 | 
					If
 | 
				
			||||||
 | 
					.Fl c
 | 
				
			||||||
 | 
					is given, the current working directory is set to
 | 
				
			||||||
 | 
					.Ar start-directory .
 | 
				
			||||||
 | 
					If
 | 
				
			||||||
.Fl C
 | 
					.Fl C
 | 
				
			||||||
is not given, any output to stdout is displayed in view mode (in the pane
 | 
					is not given, any output to stdout is displayed in view mode (in the pane
 | 
				
			||||||
specified by
 | 
					specified by
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user