=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/popup.c,v retrieving revision 1.31 retrieving revision 1.32 diff -c -r1.31 -r1.32 *** src/usr.bin/tmux/popup.c 2021/08/13 20:04:45 1.31 --- src/usr.bin/tmux/popup.c 2021/08/13 23:05:40 1.32 *************** *** 1,4 **** ! /* $OpenBSD: popup.c,v 1.31 2021/08/13 20:04:45 nicm Exp $ */ /* * Copyright (c) 2020 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: popup.c,v 1.32 2021/08/13 23:05:40 nicm Exp $ */ /* * Copyright (c) 2020 Nicholas Marriott *************** *** 442,447 **** --- 442,448 ---- const char *buf; size_t len; u_int px, py, x; + enum { NONE, LEFT, RIGHT, TOP, BOTTOM } border = NONE; if (pd->md != NULL) { if (menu_key_cb(c, pd->md, event) == 1) { *************** *** 468,487 **** goto menu; return (0); } ! if ((~pd->flags & POPUP_NOBORDER) && ! (~m->b & MOUSE_MASK_META) && MOUSE_BUTTONS(m->b) == 2 && ! (m->x == pd->px || ! m->x == pd->px + pd->sx - 1 || ! m->y == pd->py || ! m->y == pd->py + pd->sy - 1)) goto menu; ! if ((m->b & MOUSE_MASK_META) || ! ((~pd->flags & POPUP_NOBORDER) && ! (m->x == pd->px || ! m->x == pd->px + pd->sx - 1 || ! m->y == pd->py || ! m->y == pd->py + pd->sy - 1))) { if (!MOUSE_DRAG(m->b)) goto out; if (MOUSE_BUTTONS(m->lb) == 0) --- 469,490 ---- goto menu; return (0); } ! if (~pd->flags & POPUP_NOBORDER) { ! if (m->x == pd->px) ! border = LEFT; ! else if (m->x == pd->px + pd->sx - 1) ! border = RIGHT; ! else if (m->y == pd->py) ! border = TOP; ! else if (m->y == pd->py + pd->sy - 1) ! border = BOTTOM; ! } ! if ((m->b & MOUSE_MASK_MODIFIERS) == 0 && MOUSE_BUTTONS(m->b) == 2 && ! (border == LEFT || border == TOP)) goto menu; ! if (((m->b & MOUSE_MASK_MODIFIERS) == MOUSE_MASK_META) || ! border != NONE) { if (!MOUSE_DRAG(m->b)) goto out; if (MOUSE_BUTTONS(m->lb) == 0)