mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:07:38 +00:00 
			
		
		
		
	Add support for a single "marked pane". There is one marked pane in the
server at a time; it may be toggled or cleared with select-pane -m and
-M (the border is highlighted). A new target '~' or '{marked}' specifies
the marked pane to commands and it is the default target for the
swap-pane and join-pane -s flag (this makes them much simpler to use -
mark the source pane and then change to the target pane to run swapp or
joinp).
			
			
This commit is contained in:
		@@ -58,18 +58,22 @@ cmd_swap_pane_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
			src_wp = TAILQ_NEXT(dst_wp, entry);
 | 
			
		||||
			if (src_wp == NULL)
 | 
			
		||||
				src_wp = TAILQ_FIRST(&dst_w->panes);
 | 
			
		||||
			src_wl = dst_wl;
 | 
			
		||||
		} else if (args_has(self->args, 'U')) {
 | 
			
		||||
			src_wp = TAILQ_PREV(dst_wp, window_panes, entry);
 | 
			
		||||
			if (src_wp == NULL)
 | 
			
		||||
				src_wp = TAILQ_LAST(&dst_w->panes, window_panes);
 | 
			
		||||
			src_wl = dst_wl;
 | 
			
		||||
		} else {
 | 
			
		||||
			src_wl = cmd_find_pane(cmdq, NULL, NULL, &src_wp);
 | 
			
		||||
			src_wl = cmd_find_pane_marked(cmdq, NULL, NULL,
 | 
			
		||||
			    &src_wp);
 | 
			
		||||
			if (src_wl == NULL)
 | 
			
		||||
				return (CMD_RETURN_ERROR);
 | 
			
		||||
			src_w = src_wl->window;
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		src_wl = cmd_find_pane(cmdq, args_get(args, 's'), NULL, &src_wp);
 | 
			
		||||
		src_wl = cmd_find_pane_marked(cmdq, args_get(args, 's'), NULL,
 | 
			
		||||
		    &src_wp);
 | 
			
		||||
		if (src_wl == NULL)
 | 
			
		||||
			return (CMD_RETURN_ERROR);
 | 
			
		||||
		src_w = src_wl->window;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user