int cols = ci->num2;
struct pane *p = call_ret(pane, "ThisPopup", ci->focus);
- if (p && lines != 0 && cols != 0 &&
- (lines <= p->h && cols <= p->w))
- pane_resize(p, p->x, p->y, cols, lines);
+ if (!p || lines <= 0 || cols <= 0)
+ return Efallthrough;
+ if (lines > p->parent->h - p->y)
+ lines = p->parent->h - p->y;
+ if (cols > p->parent->w - p->x)
+ cols = p->parent->w - p->x;
+ /* Add 1 to cols so that if menu gets wider we will see that and resize */
+ pane_resize(p, p->x, p->y, cols+1, lines);
return Efallthrough;
}
Key ":A-/"
Display 80,30 A1E582F95603809A9E8DC276497C1A05 12,2
Key ":A-/"
-Display 80,30 F4601EC985A4AD3732CEC32383725B3E 5,3
+Display 80,30 CEB607FDD0638B06E07DA5E4ADBA26CD 5,3
Key ":Down"
-Display 80,30 62BAE0BB16AD8E50349B3BC5215D639F 5,4
+Display 80,30 D157CC4D9FD3048B390C2B4A825BD7D5 5,4
Key ":Down"
-Display 80,30 62BAE0BB16AD8E50349B3BC5215D639F 5,5
+Display 80,30 D157CC4D9FD3048B390C2B4A825BD7D5 5,5
Key ":Enter"
Display 80,30 2BD7C1E1B97545BEADE556086C9E25D6 13,2
Key ":A:Backspace"
Key ":Backspace"
Display 80,30 2C925032938071DE257DE77D7EFF9A0B 8,2
Key ":A-/"
-Display 80,30 5C4CE8698100A7263286F46B34C24BD1 5,3
+Display 80,30 339EB5E1166F780D543CAAFD17373EE7 5,3
Key ":Down"
-Display 80,30 9173D165F92FAC77DB0E1FCC7F1BAC5B 5,4
+Display 80,30 80EE162380B6A73F1AE5BDF002F3B6FA 5,4
Key ":Enter"
Display 80,30 01D3F32F892BC4076D6021BE085BF4D7 19,2
Key ":C-U"