aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd-find.c8
-rw-r--r--layout.c5
2 files changed, 7 insertions, 6 deletions
diff --git a/cmd-find.c b/cmd-find.c
index a938276e..d2ebd988 100644
--- a/cmd-find.c
+++ b/cmd-find.c
@@ -482,8 +482,8 @@ cmd_find_get_window(struct cmd_find_state *fs, const char *window)
if (cmd_find_get_window_with_session(fs, window) == 0)
return (0);
- /* Otherwise try as a session itself. */
- if (cmd_find_get_session(fs, window) == 0) {
+ /* Try as a session if it looks like a session. */
+ if (*window == '$' && cmd_find_get_session(fs, window) == 0) {
fs->wl = fs->s->curw;
fs->w = fs->wl->window;
if (~fs->flags & CMD_FIND_WINDOW_INDEX)
@@ -673,8 +673,8 @@ cmd_find_get_pane(struct cmd_find_state *fs, const char *pane)
if (cmd_find_get_pane_with_window(fs, pane) == 0)
return (0);
- /* Otherwise try as a window itself (this will also try as session). */
- if (cmd_find_get_window(fs, pane) == 0) {
+ /* Try as a window if it looks like a window. */
+ if (*pane == '@' && cmd_find_get_window(fs, pane) == 0) {
fs->wp = fs->w->active;
return (0);
}
diff --git a/layout.c b/layout.c
index 47d01851..5c2224bb 100644
--- a/layout.c
+++ b/layout.c
@@ -904,10 +904,11 @@ layout_split_pane(struct window_pane *wp, enum layout_type type, int size,
/* Create the new cell. */
lcnew = layout_create_cell(lc);
+ size = saved_size - 1 - new_size;
if (lc->type == LAYOUT_LEFTRIGHT)
- layout_set_size(lcnew, new_size, sy, 0, 0);
+ layout_set_size(lcnew, size, sy, 0, 0);
else if (lc->type == LAYOUT_TOPBOTTOM)
- layout_set_size(lcnew, sx, new_size, 0, 0);
+ layout_set_size(lcnew, sx, size, 0, 0);
if (insert_before)
TAILQ_INSERT_HEAD(&lc->cells, lcnew, entry);
else