=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-select-pane.c,v retrieving revision 1.51 retrieving revision 1.52 diff -c -r1.51 -r1.52 *** src/usr.bin/tmux/cmd-select-pane.c 2019/06/20 11:59:59 1.51 --- src/usr.bin/tmux/cmd-select-pane.c 2019/08/14 09:58:31 1.52 *************** *** 1,4 **** ! /* $OpenBSD: cmd-select-pane.c,v 1.51 2019/06/20 11:59:59 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-select-pane.c,v 1.52 2019/08/14 09:58:31 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott *************** *** 33,40 **** .name = "select-pane", .alias = "selectp", ! .args = { "DdegLlMmP:RT:t:U", 0, 0 }, /* -P and -g deprecated */ ! .usage = "[-DdeLlMmRU] [-T title] " CMD_TARGET_PANE_USAGE, .target = { 't', CMD_FIND_PANE, 0 }, --- 33,40 ---- .name = "select-pane", .alias = "selectp", ! .args = { "DdegLlMmP:RT:t:UZ", 0, 0 }, /* -P and -g deprecated */ ! .usage = "[-DdeLlMmRUZ] [-T title] " CMD_TARGET_PANE_USAGE, .target = { 't', CMD_FIND_PANE, 0 }, *************** *** 46,53 **** .name = "last-pane", .alias = "lastp", ! .args = { "det:", 0, 0 }, ! .usage = "[-de] " CMD_TARGET_WINDOW_USAGE, .target = { 't', CMD_FIND_WINDOW, 0 }, --- 46,53 ---- .name = "last-pane", .alias = "lastp", ! .args = { "det:Z", 0, 0 }, ! .usage = "[-deZ] " CMD_TARGET_WINDOW_USAGE, .target = { 't', CMD_FIND_WINDOW, 0 }, *************** *** 111,122 **** else if (args_has(self->args, 'd')) lastwp->flags |= PANE_INPUTOFF; else { ! server_unzoom_window(w); window_redraw_active_switch(w, lastwp); if (window_set_active_pane(w, lastwp, 1)) { cmd_find_from_winlink(current, wl, 0); cmd_select_pane_redraw(w); } } return (CMD_RETURN_NORMAL); } --- 111,125 ---- else if (args_has(self->args, 'd')) lastwp->flags |= PANE_INPUTOFF; else { ! if (window_push_zoom(w, args_has(self->args, 'Z'))) ! server_redraw_window(w); window_redraw_active_switch(w, lastwp); if (window_set_active_pane(w, lastwp, 1)) { cmd_find_from_winlink(current, wl, 0); cmd_select_pane_redraw(w); } + if (window_pop_zoom(w)) + server_redraw_window(w); } return (CMD_RETURN_NORMAL); } *************** *** 161,177 **** } if (args_has(self->args, 'L')) { ! server_unzoom_window(wp->window); wp = window_pane_find_left(wp); } else if (args_has(self->args, 'R')) { ! server_unzoom_window(wp->window); wp = window_pane_find_right(wp); } else if (args_has(self->args, 'U')) { ! server_unzoom_window(wp->window); wp = window_pane_find_up(wp); } else if (args_has(self->args, 'D')) { ! server_unzoom_window(wp->window); wp = window_pane_find_down(wp); } if (wp == NULL) return (CMD_RETURN_NORMAL); --- 164,184 ---- } if (args_has(self->args, 'L')) { ! window_push_zoom(w, 1); wp = window_pane_find_left(wp); + window_pop_zoom(w); } else if (args_has(self->args, 'R')) { ! window_push_zoom(w, 1); wp = window_pane_find_right(wp); + window_pop_zoom(w); } else if (args_has(self->args, 'U')) { ! window_push_zoom(w, 1); wp = window_pane_find_up(wp); + window_pop_zoom(w); } else if (args_has(self->args, 'D')) { ! window_push_zoom(w, 1); wp = window_pane_find_down(wp); + window_pop_zoom(w); } if (wp == NULL) return (CMD_RETURN_NORMAL); *************** *** 196,208 **** if (wp == w->active) return (CMD_RETURN_NORMAL); ! server_unzoom_window(wp->window); window_redraw_active_switch(w, wp); if (window_set_active_pane(w, wp, 1)) { cmd_find_from_winlink_pane(current, wl, wp, 0); cmdq_insert_hook(s, item, current, "after-select-pane"); cmd_select_pane_redraw(w); } return (CMD_RETURN_NORMAL); } --- 203,218 ---- if (wp == w->active) return (CMD_RETURN_NORMAL); ! if (window_push_zoom(w, args_has(self->args, 'Z'))) ! server_redraw_window(w); window_redraw_active_switch(w, wp); if (window_set_active_pane(w, wp, 1)) { cmd_find_from_winlink_pane(current, wl, wp, 0); cmdq_insert_hook(s, item, current, "after-select-pane"); cmd_select_pane_redraw(w); } + if (window_pop_zoom(w)) + server_redraw_window(w); return (CMD_RETURN_NORMAL); }