Fixes #817
Reported-by: @kode54
static void
show_menu(struct server *server, struct view *view, const char *menu_name)
{
+ if (server->input_mode != LAB_INPUT_STATE_PASSTHROUGH
+ && server->input_mode != LAB_INPUT_STATE_MENU) {
+ /* Prevent opening a menu while resizing / moving a view */
+ return;
+ }
+
bool force_menu_top_left = false;
struct menu *menu = menu_get_by_id(menu_name);
if (!menu) {
struct seat *seat = &server->seat;
struct wlr_box geometry = view->current;
+ if (server->input_mode != LAB_INPUT_STATE_PASSTHROUGH) {
+ return;
+ }
+
switch (mode) {
case LAB_INPUT_STATE_MOVE:
if (view->fullscreen) {