diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2014-07-10 23:19:18 +0200 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2014-07-10 23:19:18 +0200 |
| commit | 67f4800b48dd980a9e66ea20b58fb8e06910d6fe (patch) | |
| tree | bf302ba9f4cbed3b452342ee2bfc3b7f736c2aa0 /plugins | |
| parent | 080b1b05437b5e6888656f8be35ba6815fc34194 (diff) | |
UnityScreen: make sure we update the launcher size also on launchers added later
(bzr r3830.5.25)
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/unityshell/src/unityshell.cpp | 17 | ||||
| -rw-r--r-- | plugins/unityshell/src/unityshell.h | 1 |
2 files changed, 12 insertions, 6 deletions
diff --git a/plugins/unityshell/src/unityshell.cpp b/plugins/unityshell/src/unityshell.cpp index e6368c869..7f7b44e03 100644 --- a/plugins/unityshell/src/unityshell.cpp +++ b/plugins/unityshell/src/unityshell.cpp @@ -3967,17 +3967,22 @@ void UnityScreen::initLauncher() screen->setOptionForPlugin("scale", "x_offset", v); }; - for (auto const& launcher : launcher_controller_->launchers()) - { - launcher->size_changed.connect(on_launcher_size_changed); - on_launcher_size_changed(launcher.GetPointer(), launcher->GetWidth(), launcher->GetHeight()); - } + auto check_launchers_size = [this, on_launcher_size_changed] { + launcher_size_connections_.Clear(); - UScreen::GetDefault()->changed.connect([this, on_launcher_size_changed] (int, std::vector<nux::Geometry> const&) { for (auto const& launcher : launcher_controller_->launchers()) + { + launcher_size_connections_.Add(launcher->size_changed.connect(on_launcher_size_changed)); on_launcher_size_changed(launcher.GetPointer(), launcher->GetWidth(), launcher->GetHeight()); + } + }; + + UScreen::GetDefault()->changed.connect([this, check_launchers_size] (int, std::vector<nux::Geometry> const&) { + check_launchers_size(); }); + check_launchers_size(); + launcher_controller_->options()->scroll_inactive_icons = optionGetScrollInactiveIcons(); launcher_controller_->options()->minimize_window_on_click = optionGetLauncherMinimizeWindow(); diff --git a/plugins/unityshell/src/unityshell.h b/plugins/unityshell/src/unityshell.h index 36af0514a..e5864d59b 100644 --- a/plugins/unityshell/src/unityshell.h +++ b/plugins/unityshell/src/unityshell.h @@ -423,6 +423,7 @@ private: UBusManager ubus_manager_; glib::SourceManager sources_; connection::Wrapper hud_ungrab_slot_; + connection::Manager launcher_size_connections_; CompRegion buffered_compiz_damage_this_frame_; CompRegion buffered_compiz_damage_last_frame_; |
