diff options
author | Thomas Adam <thomas@xteddy.org> | 2015-12-13 20:01:09 +0000 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2015-12-13 20:01:09 +0000 |
commit | 00da99f2c4eb3abb3917bba19b10b751ef911205 (patch) | |
tree | 91963264582a536f2b0671fb97838fabbf80b413 /cmd-find.c | |
parent | d37a5800850f899cddb4efadc0304cfc76376e26 (diff) | |
parent | 72948d9f1d16dedf18dcb9b7ee96cc7ca803ef40 (diff) | |
download | rtmux-00da99f2c4eb3abb3917bba19b10b751ef911205.tar.gz rtmux-00da99f2c4eb3abb3917bba19b10b751ef911205.tar.bz2 rtmux-00da99f2c4eb3abb3917bba19b10b751ef911205.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-find.c')
-rw-r--r-- | cmd-find.c | 20 |
1 files changed, 12 insertions, 8 deletions
@@ -466,11 +466,10 @@ cmd_find_get_window(struct cmd_find_state *fs, const char *window) /* Otherwise try as a session itself. */ if (cmd_find_get_session(fs, window) == 0) { - if (~fs->flags & CMD_FIND_WINDOW_INDEX) { - fs->wl = fs->s->curw; - fs->w = fs->wl->window; + fs->wl = fs->s->curw; + fs->w = fs->wl->window; + if (~fs->flags & CMD_FIND_WINDOW_INDEX) fs->idx = fs->wl->idx; - } return (0); } @@ -492,6 +491,13 @@ cmd_find_get_window_with_session(struct cmd_find_state *fs, const char *window) log_debug("%s: %s", __func__, window); exact = (fs->flags & CMD_FIND_EXACT_WINDOW); + /* + * Start with the current window as the default. So if only an index is + * found, the window will be the current. + */ + fs->wl = fs->s->curw; + fs->w = fs->wl->window; + /* Check for window ids starting with @. */ if (*window == '@') { fs->w = window_find_by_id_str(window); @@ -975,8 +981,7 @@ cmd_find_target(struct cmd_find_state *fs, struct cmd_q *cmdq, /* This will fill in winlink and window. */ if (cmd_find_get_window_with_session(fs, window) != 0) goto no_window; - if (~flags & CMD_FIND_WINDOW_INDEX) - fs->wp = fs->wl->window->active; + fs->wp = fs->wl->window->active; goto found; } @@ -1016,8 +1021,7 @@ cmd_find_target(struct cmd_find_state *fs, struct cmd_q *cmdq, /* This will fill in session, winlink and window. */ if (cmd_find_get_window(fs, window) != 0) goto no_window; - if (~flags & CMD_FIND_WINDOW_INDEX) - fs->wp = fs->wl->window->active; + fs->wp = fs->wl->window->active; goto found; } |