Merge lp:~azzar1/unity/dash-hud-fullscreen into lp:unity

Proposed by Andrea Azzarone
Status: Merged
Approved by: Marco Trevisan (Treviño)
Approved revision: no longer in the source branch.
Merged at revision: 3905
Proposed branch: lp:~azzar1/unity/dash-hud-fullscreen
Merge into: lp:unity
Diff against target: 41 lines (+6/-10)
1 file modified
plugins/unityshell/src/unityshell.cpp (+6/-10)
To merge this branch: bzr merge lp:~azzar1/unity/dash-hud-fullscreen
Reviewer Review Type Date Requested Status
Marco Trevisan (Treviño) Approve
PS Jenkins bot (community) continuous-integration Needs Fixing
Review via email: mp+245168@code.launchpad.net

Commit message

Enable dash and hud if there is a fullscreen window.

Description of the change

Enable dash/hud if there is a fullscreen window. I don't remember why we disabled it, seems to work fine here.
I did not test it on a multi monitor setup. Would be nice if someone can do that for me.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Oh, finally... I always wanted to do that.

However, I'm a little concerned about the IsTopWindowFullscreenOnMonitorWithMouse removal, because it might cause a regression for lp:741869.

By the way, this won't affect virtualbox, or vmware because they're using grabs (and part of the fix for the bug above, was considering them), but not fully sure about citrix (it should do the same, though but last version crashes to me).

Also it works perfectly even in multi-monitor, but I've not tested games.

So, I'm going to approve this, but we need to test it further in vivid before backporting to trusty.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'plugins/unityshell/src/unityshell.cpp'
--- plugins/unityshell/src/unityshell.cpp 2014-11-28 12:55:36 +0000
+++ plugins/unityshell/src/unityshell.cpp 2014-12-19 02:52:10 +0000
@@ -961,6 +961,8 @@
961{961{
962 return !allowWindowPaint ||962 return !allowWindowPaint ||
963 lockscreen_controller_->IsLocked() ||963 lockscreen_controller_->IsLocked() ||
964 dash_controller_->IsVisible() ||
965 hud_controller_->IsVisible() ||
964 ((switcher_controller_->Visible() ||966 ((switcher_controller_->Visible() ||
965 WindowManager::Default().IsExpoActive())967 WindowManager::Default().IsExpoActive())
966 && !fullscreen_windows_.empty () && (!(screen->grabbed () && !screen->otherGrabExist (NULL))));968 && !fullscreen_windows_.empty () && (!(screen->grabbed () && !screen->otherGrabExist (NULL))));
@@ -2119,14 +2121,11 @@
21192121
2120 if (!dash_controller_->IsVisible())2122 if (!dash_controller_->IsVisible())
2121 {2123 {
2122 if (!adapter.IsTopWindowFullscreenOnMonitorWithMouse())2124 if (dash_controller_->ShowDash())
2123 {2125 {
2124 if (dash_controller_->ShowDash())2126 tap_handled = true;
2125 {2127 ubus_manager_.SendMessage(UBUS_PLACE_ENTRY_ACTIVATE_REQUEST,
2126 tap_handled = true;2128 g_variant_new("(sus)", "home.scope", dash::GOTO_DASH_URI, ""));
2127 ubus_manager_.SendMessage(UBUS_PLACE_ENTRY_ACTIVATE_REQUEST,
2128 g_variant_new("(sus)", "home.scope", dash::GOTO_DASH_URI, ""));
2129 }
2130 }2129 }
2131 }2130 }
2132 else2131 else
@@ -2537,9 +2536,6 @@
25372536
2538 auto& wm = WindowManager::Default();2537 auto& wm = WindowManager::Default();
25392538
2540 if (wm.IsTopWindowFullscreenOnMonitorWithMouse())
2541 return false;
2542
2543 if (wm.IsScreenGrabbed())2539 if (wm.IsScreenGrabbed())
2544 {2540 {
2545 hud_ungrab_slot_ = wm.screen_ungrabbed.connect([this] { ShowHud(); });2541 hud_ungrab_slot_ = wm.screen_ungrabbed.connect([this] { ShowHud(); });