aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd-swap-window.c4
-rw-r--r--format.c6
-rw-r--r--tmux.12
3 files changed, 10 insertions, 2 deletions
diff --git a/cmd-swap-window.c b/cmd-swap-window.c
index 39670e3c..f5224194 100644
--- a/cmd-swap-window.c
+++ b/cmd-swap-window.c
@@ -78,9 +78,9 @@ cmd_swap_window_exec(struct cmd *self, struct cmdq_item *item)
TAILQ_INSERT_TAIL(&w_dst->winlinks, wl_src, wentry);
if (!args_has(self->args, 'd')) {
- session_select(dst, wl_dst->idx);
+ session_select(src, wl_src->idx);
if (src != dst)
- session_select(src, wl_src->idx);
+ session_select(dst, wl_dst->idx);
}
session_group_synchronize_from(src);
server_redraw_session_group(src);
diff --git a/format.c b/format.c
index 77ca6769..a6c978da 100644
--- a/format.c
+++ b/format.c
@@ -2052,6 +2052,12 @@ format_defaults_pane(struct format_tree *ft, struct window_pane *wp)
else
format_add(ft, "pane_dead", "0");
+ if (server_check_marked() && marked_pane.wp == wp)
+ format_add(ft, "pane_marked", "1");
+ else
+ format_add(ft, "pane_marked", "0");
+ format_add(ft, "pane_marked_set", "%d", server_check_marked());
+
format_add(ft, "pane_left", "%u", wp->xoff);
format_add(ft, "pane_top", "%u", wp->yoff);
format_add(ft, "pane_right", "%u", wp->xoff + wp->sx - 1);
diff --git a/tmux.1 b/tmux.1
index 47667c80..75d3506c 100644
--- a/tmux.1
+++ b/tmux.1
@@ -3975,6 +3975,8 @@ The following variables are available, where appropriate:
.It Li "pane_input_off" Ta "" Ta "If input to pane is disabled"
.It Li "pane_index" Ta "#P" Ta "Index of pane"
.It Li "pane_left" Ta "" Ta "Left of pane"
+.It Li "pane_marked" Ta " Ta "1 if this is the marked pane"
+.It Li "pane_marked_set" Ta " Ta "1 if a market pane is set"
.It Li "pane_mode" Ta "" Ta "Name of pane mode, if any."
.It Li "pane_pid" Ta "" Ta "PID of first process in pane"
.It Li "pane_pipe" Ta "" Ta "1 if pane is being piped"