summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm>2021-07-08 11:14:53 +0000
committernicm <nicm>2021-07-08 11:14:53 +0000
commit51915b9b0ac0ac9a98e12c1a5781f34f492a4679 (patch)
treec52ba8cfec14c7d1da0e5bbe2867dd003d2993f5
parent32f2d9d089ced7d693aa412821f1d66134877cf0 (diff)
Fix mouse_word format now word-separators has no space and position of
menu if too close to the bottom.
-rw-r--r--cmd-display-menu.c2
-rw-r--r--format.c6
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;
diff --git a/format.c b/format.c
index a10af458..28962701 100644
--- a/format.c
+++ b/format.c
@@ -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);