diff options
-rw-r--r-- | cmd-display-menu.c | 2 | ||||
-rw-r--r-- | format.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/cmd-display-menu.c b/cmd-display-menu.c index f2100bdb..a68b9fc4 100644 --- a/cmd-display-menu.c +++ b/cmd-display-menu.c @@ -176,7 +176,7 @@ cmd_display_menu_get_position(struct client *tc, struct cmdq_item *item, format_add(ft, "popup_mouse_centre_y", "%ld", n); n = (long)event->m.y + h; if (n + h >= tty->sy) - format_add(ft, "popup_mouse_top", "%u", tty->sy - h); + format_add(ft, "popup_mouse_top", "%u", tty->sy - 1); else format_add(ft, "popup_mouse_top", "%ld", n); n = event->m.y - h; @@ -4809,7 +4809,8 @@ format_grid_word(struct grid *gd, u_int x, u_int y) grid_get_cell(gd, x, y, &gc); if (gc.flags & GRID_FLAG_PADDING) break; - if (utf8_cstrhas(ws, &gc.data)) { + if (utf8_cstrhas(ws, &gc.data) || + (gc.data.size == 1 && *gc.data.data == ' ')) { found = 1; break; } @@ -4846,7 +4847,8 @@ format_grid_word(struct grid *gd, u_int x, u_int y) grid_get_cell(gd, x, y, &gc); if (gc.flags & GRID_FLAG_PADDING) break; - if (utf8_cstrhas(ws, &gc.data)) + if (utf8_cstrhas(ws, &gc.data) || + (gc.data.size == 1 && *gc.data.data == ' ')) break; ud = xreallocarray(ud, size + 2, sizeof *ud); |