From 277082f432f8bd9c2823fa10e96a978e7c10ae66 Mon Sep 17 00:00:00 2001 From: Simon Steinbeiss Date: Sat, 6 Dec 2014 19:32:13 +0100 Subject: [PATCH] Fix panel hiding (intelligently) with open menus --- panel/panel-window.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/panel/panel-window.c b/panel/panel-window.c index 52f3186..172bf88 100644 --- a/panel/panel-window.c +++ b/panel/panel-window.c @@ -2162,7 +2162,8 @@ panel_window_active_window_geometry_changed (WnckWindow *active_window, /* only react to active window geometry changes if we are doing * intelligent autohiding */ - if (window->autohide_behavior == AUTOHIDE_BEHAVIOR_INTELLIGENTLY) + if (window->autohide_behavior == AUTOHIDE_BEHAVIOR_INTELLIGENTLY + && window->autohide_block == 0) { if (wnck_window_get_window_type (active_window) != WNCK_WINDOW_DESKTOP) { @@ -2363,7 +2364,7 @@ panel_window_set_autohide_behavior (PanelWindow *window, /* create an autohide window only if we are autohiding at all */ if (window->autohide_behavior != AUTOHIDE_BEHAVIOR_NEVER) { - /* create an authoide window; doing this only when it doesn't exist + /* create an autohide window; doing this only when it doesn't exist * yet allows us to transition between "always autohide" and "intelligently * autohide" without recreating the window */ if (window->autohide_window == NULL) @@ -2913,8 +2914,10 @@ panel_window_thaw_autohide (PanelWindow *window) if (window->autohide_block == 0 && window->autohide_state != AUTOHIDE_DISABLED) { /* simulate a geometry change to check for overlapping windows with intelligent hiding */ - if (window->autohide_behavior == AUTOHIDE_BEHAVIOR_INTELLIGENTLY) - panel_window_active_window_geometry_changed (window->wnck_active_window, window); + if (window->autohide_behavior == AUTOHIDE_BEHAVIOR_INTELLIGENTLY) { + if (window->autohide_state != AUTOHIDE_BLOCKED) + panel_window_active_window_geometry_changed (window->wnck_active_window, window); + } /* otherwise just hide the panel */ else panel_window_autohide_queue (window, AUTOHIDE_POPDOWN); -- 1.9.1