diff options
36 files changed, 2020 insertions, 290 deletions
@@ -1,59 +1,52 @@ - 3v1n0 <mail@3v1n0.net>, Marco Trevisan (Treviño) <mail@3v1n0.net> + 3v1n0 <mail@3v1n0.net> Adam Conrad <adconrad@0c3.net> agateau <aurelien.gateau@canonical.com> alanbell@ubuntu.com + Alan Pope <alan.pope@canonical.com> Albert Astals <albert.astals@canonical.com> - Albert Astals <albert.astals@canonical.com>, Christopher Lee <chris.lee@canonical.com>, Christopher Lee <veebers@gmail.com> - Albert Astals <albert.astals@canonical.com>, Timo Jyrinki <timo.jyrinki@canonical.com>, Brandon Schaefer <brandon.schaefer@canonical.com>, Łukasz 'sil2100' Zemczak <lukasz.zemczak@canonical.com>, MC Return <mc.return@gmx.net>, Didier Roche <didier.roche@canonical.com>, Andrea Azzarone <azzaronea@gmail.com> Alejandro Piñeiro <apinheiro@igalia.com> - Alejandro Piñeiro <apinheiro@igalia.com>, Andrea Azzarone <azzaronea@gmail.com> + Alexander Fougner <fougner89@gmail.com> Alexandre Abreu <alexandre.abreu@canonical.com> Alexandros Frantzis <alexandros.frantzis@linaro.org> - Alexandros Frantzis <alexandros.frantzis@linaro.org>, Marc Ordinas i Llopis <marc.ordinasillopis@linaro.org>, Jay Taoko <jay.taoko@canonical.com> Alex Launi <alex.launi@canonical.com> - Alex Launi <alex.launi@canonical.com>, Allan LeSage <allanlesage@gmail.com> - Alex Launi <alex.launi@canonical.com>, Thomi Richards <thomi.richards@canonical.com> Alfred Neumayer <dev.beidl@gmail.com> + Allan LeSage <allanlesage@gmail.com> Andrea Azzarone + Andrea Azzarone andrea.azzarone@canonical.com Andrea Azzarone <azzaronea@gmail.com> Andrea Cimitan <andrea.cimitan@canonical.com> Andrew Gaul <andrew@gaul.org> Andrew McCarthy <me@andrewmccarthy.ie> Andrey Logvinov <Andrey.Logvinov.81@gmail.com + Angel Guzman Maeso <angel@quijost.com> + asmoore82 <asmoore82@gmail.com> Aurélien Gâteau <aurelien.gateau@canonical.com> + Automatic PS uploader <ps-jenkins@lists.canonical.com> Benjamin Kerensa <bkerensa@ubuntu.com> Bilal Akhtar <bilalakhtar@ubuntu.com> - Bilal Akhtar <bilalakhtar@ubuntu.com>, Thomi Richards <thomi.richards@canonical.com> + Bowmore <bowmores@telia.com> Brandon Schaefer <brandon.schaefer@canonical.com> - Brandon Schaefer <brandon.schaefer@canonical.com>, Brandon Schaefer <brandontschaefer@gmail.com> - Brandon Schaefer <brandon.schaefer@canonical.com>, MC Return <mc.return@gmx.net> - Brandon Schaefer <brandon.schaefer@canonical.com>, Nick Dedekind <nicholas.dedekind@gmail.com> Brandon Schaefer <brandontschaefer@gmail.com Brandon Schaefer <brandontschaefer@gmail.com> - Brandon Schaefer <brandontschaefer@gmail.com, Brandon Schaefer <brandontschaefer@gmail.com> - Brandon Schaefer <brandontschaefer@gmail.com, Jay Taoko <jay.taoko@canonical.com> - Brandon Schaefer <brandontschaefer@gmail.com>, Marco Trevisan (Treviño) <mail@3v1n0.net> - Brandon Schaefer <brandontschaefer@gmail.com>, Thomi Richards <thomi.richards@canonical.com> Brandon Schaefer <schbra02@evergreen.edu> + Cameron Hart <cam@bitshifter.net.nz> Charles Kerr <charles.kerr@canonical.com> - Charles Kerr <charles.kerr@canonical.com>, Andrea Azzarone <azzaronea@gmail.com> Chase Douglas <chase.douglas@canonical.com> Chris Coulson <chris.coulson@canonical.com> chris.gagnon <chris.gagnon@canonical.com> Christopher James Halse Rogers <raof@ubuntu.com> Christopher Lee <chris.lee@canonical.com> - Christopher Lee <chris.lee@canonical.com>, Thomi Richards <thomi.richards@canonical.com> Christopher Lee <veebers@gmail.com> Christopher Townsend <christopher.townsend@canonical.com> Chris Townsend <christopher.townsend@canonical.com> Daniel d'Andrada <daniel.dandrada@canonical.com> Daniel van Vugt <vanvugt@gmail.com> - David Barth <david.barth@canonical.com> David Gomes <davidrafagomes@gmail.com> David Planella <david.planella@ubuntu.com> Didier Roche <didier.roche@canonical.com> - Didier Roche <didier.roche@canonical.com>, Sebastien Bacher <seb128@ubuntu.com>, Marco Trevisan (Treviño) <mail@3v1n0.net>, Łukasz 'sil2100' Zemczak <lukasz.zemczak@canonical.com>, Didier Roche <didrocks@ubuntu.com>, Neil Jagdish Patel <neil.patel@canonical.com> Didier Roche <didrocks@ubuntu.com> + Diego Sarmentero <diego.sarmentero@canonical.com> + Diego Sarmentero <diego.sarmentero@gmail.com> Dimitri John Ledkov <dimitri.ledkov@canonical.com> Dimitri John Ledkov <xnox@ubuntu.com> Eleni Maria Stea <elene.mst@gmail.com> @@ -64,63 +57,45 @@ Gabor Kelemen <kelemeng@ubuntu.com> Gary Lasker <gary.lasker@canonical.com> George Karavasilev <motorslav@gmail.com> + Gerry Boland <gerry.boland@canonical.com> Gordon Allott <gord.allott@canonical.com> handsome_feng<445865575@qq.com> Henri De Veene <henri.deveene@gmail.com> Iain Lane <iain.lane@canonical.com> - Iain Lane <iain.lane@canonical.com>, Iain Lane <iain@orangesquash.org.uk> + Iain Lane <iain@orangesquash.org.uk> Jacob Edwards - Jani Monoses <jani.monoses@canonical.com> + James Henstridge <james@jamesh.id.au> Jani Monoses <jani@ubuntu.com> Jason Conti <jason.conti@gmail.com> Jason Smith <jason.smith@canonical.com> - Jason Smith <jason.smith@canonical.com>, Andrea Cimitan <andrea.cimitan@canonical.com> - Jason Smith <jason.smith@canonical.com>, Gordon Allott <gord.allott@canonical.com> - Jason Smith <jason.smith@canonical.com>, Jay Taoko <jay.taoko@canonical.com>, Brandon Schaefer <brandontschaefer@gmail.com> - Jason Smith <jason.smith@canonical.com>, Marco Trevisan (Treviño) <mail@3v1n0.net>, Thomi Richards <thomi.richards@canonical.com> - Jason Smith <jason.smith@canonical.com>, smspillaz <sam.spilsbury@canonical.com> - Jason Smith <jason.smith@canonical.com>, Tim Penhey <tim.penhey@canonical.com> - jassmith@gmail.com Jay Ó Broin <ismise@lavabit.com> Jay Taoko <jay.taoko@canonical.com> - Jay Taoko <jay.taoko@canonical.com>, Łukasz 'sil2100' Zemczak <lukasz.zemczak@canonical.com> - Jay Taoko <jay.taoko@canonical.com>, Mirco Müller <mirco.mueller@ubuntu.com> - Jay Taoko <jay.taoko@canonical.com>, Robert Carr <racarr@canonical.com> Jeremy Bicha <jbicha@ubuntu.com> Jinkyu Yi <jincreator@jincreator.net> jokerdino@bvm128.zdom.org + Jonas Schwabe Jussi Pakkanen <jussi.pakkanen@canonical.com> Ken VanDine <ken.vandine@canonical.com> - Ken VanDine <ken.vandine@canonical.com>, Nick Dedekind <nicholas.dedekind@gmail.com> Kevin DuBois <kevin.dubois@canonical.com> Koichi Akabe <vbkaisetsu@gmail.com> + Lars Uebernickel <lars@uebernic.de> Lars Uebernickel <lars.uebernickel@canonical.com> Leo Arias <leo.arias@canonical.com> - Loïc Molinari <loic.molinari@canonical.com> Lorenzo Mattei <lore.mattei@gmail.com> + Lukas Vacek <lucas.vacek@gmail.com> Łukasz 'sil2100' Zemczak <lukasz.zemczak@canonical.com> Luke Yelavich <luke.yelavich@canonical.com> Manuel de la Pena <manuel@canonical.com> - Manuel de la Pena <manuel@canonical.com>, Nick Dedekind <nicholas.dedekind@gmail.com>, Pawel Stolowski <pawel.stolowski@canonical.com>, Michal Hruby <michal.mhr@gmail.com>, Łukasz 'sil2100' Zemczak <lukasz.zemczak@canonical.com>, Marco Trevisan (Treviño) <mail@3v1n0.net>, Automatic PS uploader <ps-jenkins@lists.canonical.com>, Chris Townsend <christopher.townsend@canonical.com>, Andrea Azzarone <azzaronea@gmail.com> + Manuel Nicetto <manuel.nicetto@gmail.com> Marc Deslauriers <marc.deslauriers@ubuntu.com> Marco Biscaro <marcobiscaro2112@gmail.com> - Marco Biscaro <marcobiscaro2112@gmail.com>, Rick Spencer <rick.spencer@canonical.com> - Marco Mariani <dfly720@gmail.com>, Thomi Richards <thomi.richards@canonical.com> + Marco Mariani <dfly720@gmail.com> + Marc Ordinas i Llopis <marc.ordinasillopis@linaro.org> Marco Trevisan Marco Trevisan <mail@3v1n0.net> Marco Trevisan <marco.trevisan@canonical.com> + Marco Trevisan (Treviño) Marco Trevisan (Treviño) <mail@3v1n0.net> - Marco Trevisan (Treviño) <mail@3v1n0.net>, 3v1n0 <mail@3v1n0.net> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Andrea Azzarone <azzaronea@gmail.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Andrea Cimitan <andrea.cimitan@canonical.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Brandon Schaefer <brandon.schaefer@canonical.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Brandon Schaefer <brandontschaefer@gmail.com>, Tim Penhey <tim.penhey@canonical.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Eleni Maria Stea <elenimaria.stea@canonical.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Lukas Vacek <lucas.vacek@gmail.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Michal Hruby <michal.mhr@gmail.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Sam Spilsbury <sam.spilsbury@canonical.com> - Marco Trevisan (Treviño) <mail@3v1n0.net>, Thomi Richards <thomi.richards@canonical.com> - Marco Trevisan (Treviño), Marco Trevisan (Treviño) <mail@3v1n0.net> Marius Gedminas <marius@gedmin.as> Martin Albisetti <argentina@gmail.com> Martin Mrazik <martin.mrazik@canonical.com> @@ -129,9 +104,11 @@ Martin Pitt <martin.pitt@ubuntu.com> Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com> Matthias Alles + Matthieu Baerts <matttbe@gmail.com> Matthieu James <matthieu.james@canonical.com> Maxim Ermilov <maxim.ermilov@canonical.com> MC Return <mc.return@gmx.net> + Michael Hofmann <mh21@piware.de> Michael Rawson <michaelrawson76@gmail.com> Michael Terry <michael.terry@canonical.com> Michael Terry <mike@mterry.name> @@ -140,87 +117,56 @@ Michal Hruby <michal.mhr@gmail.com> Michi Henning <michi.henning@canonical.com> Mikkel Kamstrup Erlandsen <mikkel.kamstrup@gmail.com> + Miklos Juhasz <juhasz.miklos.1@gmail.com> Mirco Müller <mirco.mueller@ubuntu.com> Mitsuya Shibata Neil Jagdish Patel <neil.patel@canonical.com> Nic d'Offay <nicolas.doffay@canonical.com> Nick Dedekind <nicholas.dedekind@gmail.com> - Nick Dedekind <nicholas.dedekind@gmail.com>, Gordon Allott <gord.allott@canonical.com> - Nick Dedekind <nicholas.dedekind@gmail.com>, Michal Hruby <michal.mhr@gmail.com> Nick Dedekind <nick.dedekind@canonical.com> - Nick Dedekind <nick.dedekind@canonical.com>, Christopher Lee <chris.lee@canonical.com> Nicolas Delvaux <contact@nicolas-delvaux.org> Nicolas d'Offay <nicolas.doffay@canonical.com> - Nicolas d'Offay <nicolas.doffay@canonical.com>, Nic d'Offay <nicolas.doffay@canonical.com>, Neil Jagdish Patel <neil.patel@canonical.com> Nico van der Walt <nico@kimburu.co.za> Niklas Steger <niklas.steger@gmx.net> + Oier Mees <oier.mees@gmail.com> + Oliver Grawert <ogra@ubuntu.com> Oliver Sauder <os@esite.ch> Omer Akram <om26er@ubuntu.com> Omer Akram <omer.akram@canonical.com> Paolo Rotolo <paolorotolo@ubuntu.com> Paolo Rotolo <paolorotolo@ubuntu-it.org> Paul Sladen <sladen@canonical.com> - Paul Sladen <sladen@canonical.com>, Andrea Cimitan <andrea.cimitan@canonical.com> Pawel Stolowski <pawel.stolowski@canonical.com> - Pawel Stolowski <pawel.stolowski@canonical.com>, Michal Hruby <michal.mhr@gmail.com> Pawel Stolowski <stolowski@gmail.com> Pawel Szubert Rafał Cieślak <rafalcieslak256@gmail.com> Renato Araujo Oliveira Filho <renato.filho@canonical.com> Ricardo Mendoza <ricardo.mendoza@canonical.com> Ricardo Salveti de Araujo <ricardo.salveti@canonical.com> + Rick Spencer <rick.spencer@canonical.com> Robert Ancell <robert.ancell@canonical.com> Robert Carr <racarr@canonical.com> - Robert Carr <racarr@canonical.com>, Ken VanDine <ken.vandine@canonical.com> Robert Carr <robert.carr@canonical.com> - Rodrigo Moya <rodrigo.moya@canonical.com> Romain Perier <rperier@ubuntu.com> Ryan Lortie <desrt@desrt.ca> Sami Jaktholm <sjakthol@outlook.com> Sam Spilsbury <sam.spilsbury@canonical.com> - Sam Spilsbury <sam.spilsbury@canonical.com>, Andrea Azzarone <azzaronea@gmail.com> - Sam Spilsbury <sam.spilsbury@canonical.com>, Daniel van Vugt <vanvugt@gmail.com> - Sam Spilsbury <sam.spilsbury@canonical.com>, Didier Roche <didier.roche@canonical.com> - Sam Spilsbury <sam.spilsbury@canonical.com>, Michal Hruby <michal.mhr@gmail.com> Sebastien Bacher <seb128@ubuntu.com> smspillaz <sam.spilsbury@canonical.com> - smspillaz <sam.spilsbury@canonical.com>, Daniel van Vugt <vanvugt@gmail.com> - smspillaz <sam.spilsbury@canonical.com>, Sam Spilsbury <sam.spilsbury@canonical.com> Stephen M. Webb <stephen.webb@canonical.com> Steve Langasek <steve.langasek@canonical.com> Sven Baars <svenb.linux@gmail.com> Ted Gould <ted@gould.cx> - Thomas Voß <thomas.voss@canonical.com>, Didier Roche <didier.roche@canonical.com> + Thomas Voß <thomas.voss@canonical.com> Thomas Voß <thomas.voss@rub.de> Thomi Richards <thomir@gmail.com> - Thomi Richards <thomir@gmail.com>, Alex Launi <alex.launi@canonical.com> - Thomi Richards <thomir@gmail.com>, Thomi Richards <thomi.richards@canonical.com> Thomi Richards <thomi.richards@canonical.com> - Thomi Richards <thomi.richards@canonical.com>, Albert Astals <albert.astals@canonical.com> - Thomi Richards <thomi.richards@canonical.com>, Alex Launi <alex.launi@canonical.com> - Thomi Richards <thomi.richards@canonical.com>, Brandon Schaefer <brandon.schaefer@canonical.com> - Thomi Richards <thomi.richards@canonical.com>, Brandon Schaefer <brandontschaefer@gmail.com> - Thomi Richards <thomi.richards@canonical.com>, Christopher Lee <chris.lee@canonical.com> - Thomi Richards <thomi.richards@canonical.com>, Gordon Allott <gord.allott@canonical.com> - Thomi Richards <thomi.richards@canonical.com>, Jason Smith <jason.smith@canonical.com> - Thomi Richards <thomi.richards@canonical.com>, Miklos Juhasz <juhasz.miklos.1@gmail.com> - Thomi Richards <thomi.richards@canonical.com>, Ted Gould <ted@gould.cx> - Thomi Richards <thomi.richards@canonical.com>, Thomi Richards <thomir@gmail.com> - Thomi Richards <thomi.richards@canonical.com>, Tim Penhey <tim.penhey@canonical.com> Tigran Gabrielyan <tigrangab@gmail.com> - Tim Lunn <tim@feathertop.org> timo.jyrinki@canonical.com Timo Jyrinki <timo.jyrinki@canonical.com> Tim Penhey <tim.penhey@canonical.com> - Tim Penhey <tim.penhey@canonical.com>, Bowmore <bowmores@telia.com> - Tim Penhey <tim.penhey@canonical.com>, Gordon Allott <gord.allott@canonical.com> - Tim Penhey <tim.penhey@canonical.com>, Jason Smith <jason.smith@canonical.com> - Tim Penhey <tim.penhey@canonical.com>, Jay Taoko <jay.taoko@canonical.com> - Tim Penhey <tim.penhey@canonical.com>, Neil Jagdish Patel <neil.patel@canonical.com> Ugo Riboni <ugo.riboni@canonical.com> - Unity Merger <unity.merger@gmail.com> Victor Eduardo <victormartinez79@gmail.com> - William Grant <william.grant@canonical.com> William Hua <william.hua@canonical.com> Xiao-Long Chen <chenxiaolong@cxl.epac.to> Zaid Yeganeh <zaid.yeganeh@gmail.com> diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b807a4ff..f2312b3ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,8 +9,8 @@ include (cmake/pch.cmake) # set (PROJECT_NAME "unity") set (UNITY_MAJOR 7) -set (UNITY_MINOR 3) -set (UNITY_MICRO 2) +set (UNITY_MINOR 4) +set (UNITY_MICRO 0) set (UNITY_VERSION "${UNITY_MAJOR}.${UNITY_MINOR}.${UNITY_MICRO}") set (UNITY_API_VERSION "6.0") set (UNITY_COMPONENTS_VERSION "6") @@ -25,6 +25,12 @@ option( ON ) +option( + ENABLE_UNIT_TESTS + "Enable Unity Unit Tests" + ON +) + # This is due to bug lp:668799 - qemu-arm segfaults executing msgmerge option( I18N_SUPPORT @@ -101,7 +107,7 @@ add_custom_target (pre-distcheck && echo "• Generating ChangeLog" && bzr log --gnu-changelog > ChangeLog && echo "• Generating AUTHORS" - && bzr log --long --levels=0 | grep -e "^\\s*author:" -e "^\\s*committer:" | cut -d ":" -f 2 | sed -r -f AUTHOR-glue | sort -u > AUTHORS + && bzr log --long --levels=0 | grep -e "^\\s*author:" | cut -d ":" -f 2 | sed "s/,/\n/g" | sed -r -f AUTHOR-glue | sort -u | uniq -i > AUTHORS && echo "• Running Distcheck" ) @@ -226,7 +232,7 @@ set(UNITY_PLUGIN_SHARED_DEPS gtk+-3.0>=3.1 indicator3-0.4>=0.4.90 json-glib-1.0 - libbamf3>=0.5.0 + libbamf3>=0.5.2 gnome-desktop-3.0 libnotify libstartup-notification-1.0 @@ -260,6 +266,7 @@ add_subdirectory(unity-shared) add_subdirectory(dash) add_subdirectory(launcher) add_subdirectory(data) + if (ENABLE_X_SUPPORT) add_subdirectory(hud) add_subdirectory(lockscreen) @@ -273,64 +280,70 @@ if (ENABLE_X_SUPPORT) add_subdirectory(unity-standalone) endif () -# subdirs add_subdirectory(doc) +add_subdirectory(services) +add_subdirectory(tools) +add_subdirectory(UnityCore) +add_subdirectory(guides) +add_subdirectory(gnome) -# Check for google test and build it locally -set ( - GMOCK_ROOT_DIR - "/usr/src/gmock" - CACHE - PATH - "Path to Google mock srcs" -) - -set ( - GMOCK_INCLUDE_DIR - "/usr/include/gmock/include" - CACHE - PATH - "Path to Google mock include" -) - -set( - GTEST_ROOT_DIR - "${GMOCK_ROOT_DIR}/gtest" # Default value, adjustable by user with e.g., ccmake - CACHE - PATH - "Path to Google test srcs" -) - -set( - GTEST_INCLUDE_DIR - "${GMOCK_ROOT_DIR}/gtest/include" - CACHE - PATH - "Path to Google tests include" -) - -if (GTEST_INCLUDE_DIR AND GMOCK_INCLUDE_DIR) - include_directories ( - ${GMOCK_INCLUDE_DIR} - ${GTEST_INCLUDE_DIR} +if (ENABLE_UNIT_TESTS) + # Check for google test and build it locally + set ( + GMOCK_ROOT_DIR + "/usr/src/gmock" + CACHE + PATH + "Path to Google mock srcs" ) - add_subdirectory( - ${GMOCK_ROOT_DIR} - "${CMAKE_CURRENT_BINARY_DIR}/gmock" + + set ( + GMOCK_INCLUDE_DIR + "/usr/include/gmock/include" + CACHE + PATH + "Path to Google mock include" ) -elseif (GTEST_INCLUDE_DIR AND NOT GMOCK_INCLUDE_DIR) - include_directories ( - ${GTEST_INCLUDE_DIR} + + set( + GTEST_ROOT_DIR + "${GMOCK_ROOT_DIR}/gtest" # Default value, adjustable by user with e.g., ccmake + CACHE + PATH + "Path to Google test srcs" ) -endif(GTEST_INCLUDE_DIR AND GMOCK_INCLUDE_DIR) -add_subdirectory(services) -add_subdirectory(tests) -add_subdirectory(tools) -add_subdirectory(UnityCore) -add_subdirectory(guides) + set( + GTEST_INCLUDE_DIR + "${GMOCK_ROOT_DIR}/gtest/include" + CACHE + PATH + "Path to Google tests include" + ) -add_subdirectory(gnome) + if (GTEST_INCLUDE_DIR AND GMOCK_INCLUDE_DIR) + include_directories ( + ${GMOCK_INCLUDE_DIR} + ${GTEST_INCLUDE_DIR} + ) + add_subdirectory( + ${GMOCK_ROOT_DIR} + "${CMAKE_CURRENT_BINARY_DIR}/gmock" + ) + elseif (GTEST_INCLUDE_DIR AND NOT GMOCK_INCLUDE_DIR) + include_directories ( + ${GTEST_INCLUDE_DIR} + ) + endif(GTEST_INCLUDE_DIR AND GMOCK_INCLUDE_DIR) + + add_subdirectory(tests) + +else (ENABLE_UNIT_TESTS) + set (MISSING_TESTS_MSG "-- Tests disabled, compile with -DENABLE_UNIT_TESTS=ON") + add_custom_target (check COMMAND echo ${MISSING_TESTS_MSG}) + add_custom_target (check-headless COMMAND echo ${MISSING_TESTS_MSG}) + add_custom_target (gcheck COMMAND echo ${MISSING_TESTS_MSG}) +endif (ENABLE_UNIT_TESTS) # # GSettings Schema @@ -1,3 +1,1724 @@ +2015-10-26 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Upstream release 7.3.3 + +2015-10-16 Andrea Azzarone <azzaronea@gmail.com> + + Avoid test failures on jenkins. + Approved by: Marco Trevisan (Treviño) + +2015-10-13 Andrea Azzarone <azzaronea@gmail.com> + + Avoid test failures on jenkins. + +2015-10-16 CI Train Bot <ci-train-bot@canonical.com> + + UnityScreen: close the session dialog in case it's open and we're requested to lock + + Otherwise a grab conflict will will cause the lockscreen not to show up. Fixes: #1505234 + Approved by: Andrea Azzarone + +2015-10-16 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelService: ensure that we free the "fake" IndicatorEntry's we create for dropdowns Fixes: #1503348 + Approved by: Andrea Azzarone + +2015-10-12 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelService: don't hide 'l' list parameter with another one + +2015-10-06 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelService: remove a dropdown IndicatorEntry if not shown anymore + + When its geometry is not valid anymore we can assume it's not needed. + +2015-10-06 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelService: ensure that we free the "fake" IndicatorEntry's we create for dropdowns + +2015-10-16 Marco Trevisan (Treviño) <mail@3v1n0.net> + + LauncherIcon: force lookup icon by scaling it at the requested size + + As bonus, remove unused GtkWrapper class Fixes: #1446081, #1501973 + Approved by: Andrea Azzarone + +2015-10-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GtkWrapper: remove it as it's not needed anymore + +2015-10-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Use GTK_ICON_LOOKUP_FORCE_SIZE when loading icons everywhere + +2015-10-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + LauncherIcon: force lookup icon by scaling it at the requested size + +2015-10-16 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultRendererTile: consider global scaling when scaling a not-squared icon Fixes: #1499286 + Approved by: Andrea Azzarone + +2015-10-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultRendererTile: consider global scaling when scaling a not-squared icon + +2015-10-16 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestDash: Use local results in PreviewNavigateTests instead of online ones + + They're just more reliable + Approved by: Andrea Azzarone + +2015-10-14 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestMain: unset UPSTART_SESSION not to mess with real system + +2015-10-14 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestLauncher: no need to wait pending events here, there's no async call involved + +2015-10-14 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestIconLoader: wait pending events before on TearDown + +2015-10-14 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UpstartWrapper: start in test-mode if UPSTART_SESSION is not defined + +2015-10-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestDash: Use local results in PreviewNavigateTests instead of online ones + + They're just more reliable + +2015-10-16 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityScreen: close the session dialog in case it's open and we're requested to lock + + Otherwise a grab conflict will will cause the lockscreen not to show up. Fixes: #1505234 + Approved by: Andrea Azzarone + +2015-10-15 Marco Trevisan (Treviño) <mail@3v1n0.net> + + debian/changelog: sync with proposed + +2015-10-12 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityScreen: close the session dialog in case it's open and we're requested to lock + + Otherwise a grab conflict will will cause the lockscreen not to show up. + +2015-10-02 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20151002.2-0ubuntu1 + +2015-10-02 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: Don't allow an action to be grabbed multiple times + + And always return the same action id for a specific key binding. Fixes: #1459571 + Approved by: Andrea Azzarone + +2015-10-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: use some better naming for variables and methods + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestGnomeSessionManager: mark NoLockWhenLockingDisabled as unstable + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestUtils: define UNSTABLE_TEST macro, and disable unstable tests on release + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + CMakeLists.txt: define UNITY_DEBUG_BUILD when building with debug flag + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: don't re-check for method parameters type + + That's already checked at lower level + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestIconLoader: enable some disabled tests + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestGDBusProxy: make tests more robusts when using a cancellable + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: emit the AcceleratorActivated to all the subscribers for that action + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: don't use overloaded functions, just use different names + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabberTests: fix tests to match current behavior + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: don't remove an action if shared by multiple senders + + If an action is used by multiple applications, we don't remove it until we don't + have customers for that. + Added some more debug logging. + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: don't allow any client to Ungrab an accelerator requested from different sender + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + StandalonePanel: fix KeyGrabber definition + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestMainDBus: use glib::DBusNameWatcher + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: only emit AcceleratorActivated signal to the requestor. + + Also, delete actions when the name-owner vanished. + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GLibDBusNameWatcher: new wrapper class for monitoring DBus names + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + KeyGrabber: update implementations with new interface + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GLibDBusServer: implement SetMethodsCallsHandlerFull + +2015-09-30 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: return always the same action ID for a keybinding + +2015-09-29 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: Don't allow an action to be grabbed multiple times + +2015-09-29 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MenuManager: use action IDs instead of storing actions + +2015-09-29 Marco Trevisan (Treviño) <mail@3v1n0.net> + + KeyGrabber: return action IDs and add ability to remove an action by ID + +2015-09-29 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: simpify code, just use two vector for keeping track of actions + + Unfortunately we can't use pointers here as CompAction's are statically allocated + +2015-09-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GLibDBusServer: allow to emit a signal to a single listener + +2015-09-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + glib::Object: add SetMethodsCallsHandlerFull to get all call parameters + +2015-10-02 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelService, DBusIndicators: drop support for EntryShowNowChanged signal + + We do handle this internally inside unity since long time now, so there's no need + bother the bus for such thing. + Approved by: Andrea Azzarone + +2015-10-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelService, DBusIndicators: drop support for EntryShowNowChanged signal + + We do handle this internally inside unity since long time now, so there's no need + bother the bus for such thing. + +2015-09-21 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150921-0ubuntu1 + +2015-09-21 Iain Lane <iain@orangesquash.org.uk> + + launcher: Always make sure we check the right file when seeing if .desktop files have been deleted. Fixes disappearing launcher icons when applications are upgraded when we are using glib > 2.44. Fixes: #1498106 + Approved by: Marco Trevisan (Treviño) + +2015-09-21 Iain Lane <iain@orangesquash.org.uk> + + one more place + +2015-09-21 Iain Lane <iain@orangesquash.org.uk> + + No need to ref it explicitly, this is done for us + +2015-09-18 Iain Lane <iain@orangesquash.org.uk> + + launcher: Always make sure we check the right file when seeing if .desktop files have been deleted. + + We were checking the GFile which came in via the changed signal, but sometimes + (e.g. for paired delete/create events caused by moves), this can be a file that + is being moved onto our target. + + Always check the target file that we wateched initially. + + This fixes disappearing launcher icons when applications are updated with glib + > 2.44. + +2015-09-21 Andrea Azzarone <azzaronea@gmail.com> + + Avoid to open adjacent menu when moving from an indicator icon to its dropdown menu. Fixes: #552920 + Approved by: Marco Trevisan (Treviño) + +2015-09-21 Andrea Azzarone <azzaronea@gmail.com> + + Minor changes. + +2015-09-21 Andrea Azzarone <azzaronea@gmail.com> + + Merging with trunk. + +2015-08-11 Andrea Azzarone andrea.azzarone@canonical.com + + Avoid to open adjacent menu when moving from an indicator icon to its dropdown menu. + +2015-09-21 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MenuManager: add a new setting to control the show-now delay Fixes: #1497915 + Approved by: Andrea Azzarone + +2015-09-17 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MenuManager: add a new setting to control the show-now delay + +2015-09-21 Lars Uebernickel <lars@uebernic.de> + + DevicesSettingsImp: dont't feed garbage to gsettings + + Use a const reference for the iteration variable in the loop over _blacklist so that the pointers returned from c_str() are still valid when feeding them to g_settings_set_strv(). + + In the best case, this only wrote garbage to the "blacklist" key (making that setting useless). In the worst case, it led to a crash because the garbage was invalid utf8, which gsettings refuses to accept. + + Fixes LP: #1495173 Fixes: #1495173 + Approved by: Andrea Azzarone + +2015-09-17 Lars Uebernickel <lars@uebernic.de> + + DevicesSettingsImp: dont't feed garbage to gsettings + + Use a const reference for the iteration variable in the loop over + _blacklist so that the pointers returned from c_str() are still valid + when feeding them to g_settings_set_strv(). + + In the best case, this only wrote garbage to the "blacklist" key (making + that setting useless). In the worst case, it led to a crash because the + garbage was invalid utf8, which gsettings refuses to accept. + + Fixes LP: #1495173 + +2015-09-21 Andrea Azzarone <azzaronea@gmail.com> + + Make sure to restore the state before the call to glDisable(GL_SCISSOR_TEST). Fixes: #1485727 + Approved by: Marco Trevisan (Treviño), Eleni Maria Stea + +2015-09-16 Andrea Azzarone <azzaronea@gmail.com> + + Remove double ; + +2015-09-16 Andrea Azzarone <azzaronea@gmail.com> + + Minor change. + +2015-09-16 Andrea Azzarone <azzaronea@gmail.com> + + Make sure to restore the state before calling glDisable(GL_SCISSOR_TEST) + +2015-09-21 Luke Yelavich <luke.yelavich@canonical.com> + + Make a copy of a quicklist menu item plain text label + + Likely due to changes in the gcc transition, Orca stopped speaking quicklist menu items. It seems that keeping a separate copy of the label string for a11y use allows quicklist menu items to be spoken again. + Approved by: Marco Trevisan (Treviño) + +2015-09-21 Luke Yelavich <luke.yelavich@canonical.com> + + Whoops, add missing brace + +2015-09-11 Luke Yelavich <luke.yelavich@canonical.com> + + Make sure we free used memory before we get a new label string. + +2015-09-11 Luke Yelavich <luke.yelavich@canonical.com> + + Make a copy of a quicklist menu item plain text label + + Likely due to changes in the gcc transition, Orca stopped speaking quicklist + menu items. It seems that keeping a separate copy of the label string for a11y + use allows quicklist menu items to be spoken again. + +2015-09-21 Luke Yelavich <luke.yelavich@canonical.com> + + Make a copy of a quicklist menu item plain text label + + Similar to the fix for quicklist menu items, keep a copy of the session + button label for a11y use to allow for the buttons in the session dialog + to be spoken by Orca. + Approved by: Marco Trevisan (Treviño) + +2015-09-14 Luke Yelavich <luke.yelavich@canonical.com> + + Make a copy of a quicklist menu item plain text label + + Similar to the fix for quicklist menu items, keep a copy of the session button + label for a11y use to allow for the buttons in the session dialog to be spoken + by Orca. + +2015-09-10 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150910.1-0ubuntu1 + +2015-09-10 Andrea Azzarone andrea.azzarone@canonical.com + + Merge patch from https://launchpadlibrarian.net/216192448/llvm-fix.patch Fixes: #1491555 + Approved by: Marco Trevisan (Treviño) + +2015-09-08 Andrea Azzarone andrea.azzarone@canonical.com + + Merge patch from https://launchpadlibrarian.net/216192448/llvm-fix.patch + +2015-09-10 Andrea Azzarone andrea.azzarone@canonical.com + + Merge patch from https://launchpadlibrarian.net/216276242/low-gfx-override.patch Fixes: #1491913 + Approved by: Marco Trevisan (Treviño) + +2015-09-08 Andrea Azzarone andrea.azzarone@canonical.com + + Merge the patch from https://launchpadlibrarian.net/216276242/low-gfx-override.patch + +2015-09-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityScreen: force shell to be on top when there's a window fullscreen and we've a menu open. + + This allows to see the panel and control menus properly. Added support for fullscreen + windows to WindowsManager, in order to handle properly the LIM mode. Fixes: #591189 + +2015-09-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with trunk + +2015-09-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: consider fullscreen windows as maximized, in any case. + + In this way in LIM-mode, we've menus available for them, and eventually + panel shows proper title (when unfocused). + + RESUBMITTED r3969, to hopefully fix criss-cross + +2015-09-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with lp:~azzar1/unity/lp-1485559 + +2015-09-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Autpilot, launcher: make dragging tests more reliable + +2015-09-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Autopilot, TestIconBehavior: add utility function to get a running application + + This waits, if needed + +2015-06-12 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Autopilot, TestPanel: fix open menu on new focused window in LIM mode + + Since LIM works for unfocused windows as well, no menu should be closed by + an app being mapped. + +2015-06-08 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: consider fullscreen windows as maximized, in any case. + + In this way in LIM-mode, we've menus available for them, and eventually + panel shows proper title (when unfocused). + +2015-06-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + WindowManager: add IsWindowFullscreen and related signals when fullscreen is toggled + +2015-06-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityScreen: force shell to be on top when there's a window fullscreen and we've a menu open. + +2015-06-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MenuManager: add a menu_open property that is true when a menu is opened + +2015-06-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Indicators: add a method to get the active entry + +2015-09-10 Andrea Azzarone andrea.azzarone@canonical.com + + Make sure we update the maximized window when "show desktop"/"restore desktop". Fixes: #1485559 + Approved by: Marco Trevisan (Treviño) + +2015-08-17 Andrea Azzarone andrea.azzarone@canonical.com + + Make sure we update the maximized window when "show desktop"/"restore desktop". + +2015-08-14 Andrea Azzarone andrea.azzarone@canonical.com + + Merge with trunk. + +2015-09-10 Andrea Azzarone azzaronea@gmail.com + + Properly hide decorations when on "Show Desktop" mode. Fixes: #1485073 + Approved by: Marco Trevisan (Treviño) + +2015-08-14 Andrea Azzarone azzaronea@gmail.com + + Properly hide decorations when on "Show Desktop" mode. + +2015-09-10 Andrea Azzarone andrea.azzarone@canonical.com + + Do not allow shutdown when screen is locked. Fixes: #1460626 + Approved by: Marco Trevisan (Treviño) + +2015-06-19 Andrea Azzarone andrea.azzarone@canonical.com + + Do not allow shutdown when screen is locked. + +2015-09-10 Andrea Azzarone andrea.azzarone@canonical.com + + Add/Update tests for gnome session manager. + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-09-08 Andrea Azzarone andrea.azzarone@canonical.com + + Resolve conflicts. + +2014-04-19 Andrea Azzarone <azzaronea@gmail.com> + + Add/Updates tests for gnome session manager. + +2015-09-10 Andrea Azzarone andrea.azzarone@canonical.com + + Add unit tests for unity::lockscreen::DBusManager. + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-09-08 Andrea Azzarone andrea.azzarone@canonical.com + + Some minor change. + +2015-09-08 Andrea Azzarone andrea.azzarone@canonical.com + + Merge with trunk. + +2014-04-16 Andrea Azzarone <azzaronea@gmail.com> + + No need for DBusManager to be trackable. The impl class will do all the job. + +2014-04-16 Andrea Azzarone <azzaronea@gmail.com> + + Add tests for unity::lockscreen::DBusManager + +2015-08-25 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150825-0ubuntu1 + +2015-08-25 Iain Lane <iain@orangesquash.org.uk> + + Depend on v5-renamed xpathselect package + Approved by: Marco Trevisan (Treviño) + +2015-08-24 Iain Lane <iain@orangesquash.org.uk> + + Merge archive upload + +2015-08-19 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150819-0ubuntu1 + +2015-08-19 Andrea Azzarone andrea.azzarone@canonical.com + + Do not handle events coming from viewports not actually containing the window. Fixes: #1449654 + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-08-19 Chris Townsend <christopher.townsend@canonical.com> + + When using keyboard navigation in the Dash, skip category headers that are not expandable. Also, do not highlight the category header when the mouse cursor is over it. Fixes: #1045933 + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-08-19 Chris Townsend <christopher.townsend@canonical.com> + + Also use the Compiz show() method when forcing an unmapped window to be visible when clicking on it's active Launcher icon. Fixes: #989588 + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Autopilot: modernize some tests, use stronger methods to ensure false positive + Approved by: Andrea Azzarone + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DecorationsForceQuitDialog: override the background of the window with transparent color Fixes: #1470292 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SessionButton: set button opacity to 75% when pressed Fixes: #1301655 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PlacesGroup: connect to view changes using a function instead of a lambda + + This prevents crashes as there's automatic disconnection. Fixes: #1470298 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: ensure that we connect to window signals as soon as the AppManager knows it Fixes: #1472326 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Launcher: Always unfold an active icon Fixes: #1472339 + Approved by: Andrea Azzarone, PS Jenkins bot, Stephen M. Webb + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: rely on windows monitor property changes for updating Pips + + Removing the expensive calls that rely on Compiz window moved events which + are fired for every window, also if outside the scope of an Icon, so we don't + have to filter these signals out, but we can just get the monitor.changed signal + and depend on that. + This fixes the launcher pips not to be properly initialized in multi-monitor environments. Fixes: #1027191 + Approved by: PS Jenkins bot + +2015-08-24 Iain Lane <iain@orangesquash.org.uk> + + Update hardcoded libxpathselect1.4 dep (dlopened) to the new v5 name + +2015-08-25 Andrea Azzarone andrea.azzarone@canonical.com + + Do not handle events coming from viewports not actually containing the window. Fixes: #1449654 + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-08-07 Andrea Azzarone andrea.azzarone@canonical.com + + Minor change. + +2015-08-07 Andrea Azzarone andrea.azzarone@canonical.com + + Use nullptr. + +2015-08-07 Andrea Azzarone andrea.azzarone@canonical.com + + Do not handle events coming from viewports not actually containing the window. + +2015-08-25 Chris Townsend <christopher.townsend@canonical.com> + + When using keyboard navigation in the Dash, skip category headers that are not expandable. Also, do not highlight the category header when the mouse cursor is over it. Fixes: #1045933 + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-05-08 Chris Townsend <christopher.townsend@canonical.com> + + Make returning from SkipUnexpandableHeaderKeyNav() a bit more efficient. + +2015-05-05 Chris Townsend <christopher.townsend@canonical.com> + + When using keyboard navigation in the Dash, skip category headers that are not expandable. Also, do not highlight the category header when the mosue cursor is over it. + +2015-08-25 Chris Townsend <christopher.townsend@canonical.com> + + Also use the Compiz show() method when forcing an unmapped window to be visible when clicking on it's active Launcher icon. Fixes: #989588 + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-05-29 Chris Townsend <christopher.townsend@canonical.com> + + Also add the show() method in PluginAdapter::UnMinimize(). + +2015-05-27 Chris Townsend <christopher.townsend@canonical.com> + + Also use the Compiz show() method when forcing an unmapped window to be visible when clicking on it's active Launcher icon. + +2015-08-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Autopilot: modernize some tests, use stronger methods to ensure false positive + Approved by: Andrea Azzarone + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestSwitcher: use eventually in mouse selection tests + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestPanel: use proper grab_area path + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP: dash, fix typo + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestDash: use valid property for eventual check + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestPanel: add a lambda to verify app/win status + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, test dash: fix issues on refactoring + + Properly click object and return geometry of the view (controller has no geo) + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestSwitcherMouseInteraction: move mouse at origin before testing + + Otherwise our technology to prevent small mouse movements might + ignore the events and make the test fail. + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestSpread: increase the wait time before moving to a window + + Unfortunately this seems to be needed to get input in some machines + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestPanel: get active indicator using a lambda + + In this way we ensure that it gets called repeatdly until there's a result + +2015-08-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + panel: ignore WindowButtons that have not been placed yet, as they're not visible + +2015-08-18 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Autopilot: use new globalRect property as alias for geometry + +2015-08-18 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Autopilot: use some new facilities to move and click over items + +2015-08-18 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityIntrospectionObject: make customization of repr easier + +2015-08-18 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityIntrospectionObject: implement proper __eq__, __ne__ and __repr__ methods + +2015-08-18 Marco Trevisan (Treviño) <mail@3v1n0.net> + + AP, TestDash: fix tab category key nav test to match recent changes + + AS per a rencent fix, the first element is selected if the category is not exapandible + +2015-08-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DecorationsForceQuitDialog: override the background of the window with transparent color Fixes: #1470292 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-07-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DecorationsForceQuitDialog: override the background of the window with transparent color + +2015-08-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SessionButton: set button opacity to 75% when pressed Fixes: #1301655 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-07-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SessionButton: set button opacity to 75% when pressed + +2015-07-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + IconTexture: only redraw if opacity actually changed + +2015-07-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SessionView: don't show Lock button if session is currently locked + + Yay, double-lock! :) + +2015-08-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PlacesGroup: connect to view changes using a function instead of a lambda + + This prevents crashes as there's automatic disconnection. Fixes: #1470298 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-07-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PlacesGroup: connect to view changes using a function instead of a lambda + + This prevents crashes as there's automatic disconnection. + +2015-07-01 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultViewGrid: use sigc::mem_fun to connect to QueueDraw + +2015-08-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: ensure that we connect to window signals as soon as the AppManager knows it Fixes: #1472326 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-07-07 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: ensure that we connect to window signals as soon as the AppManager knows it + +2015-07-07 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: add back connection to window_closed signal + + This was a leftover of the previous refactor. + +2015-08-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Launcher: Always unfold an active icon Fixes: #1472339 + Approved by: PS Jenkins bot, Andrea Azzarone, Stephen M. Webb + +2015-07-07 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Launcher: Always unfold an active icon + +2015-08-25 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: rely on windows monitor property changes for updating Pips + + Removing the expensive calls that rely on Compiz window moved events which + are fired for every window, also if outside the scope of an Icon, so we don't + have to filter these signals out, but we can just get the monitor.changed signal + and depend on that. + This fixes the launcher pips not to be properly initialized in multi-monitor environments. Fixes: #1027191 + Approved by: PS Jenkins bot + +2015-07-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestBamfApplication: veridy children addition properly + +2015-07-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfMockApplication: emit child-{added,removed} signals when setting children + +2015-07-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: rely on windows monitor property changes for updating Pips + + Removing the expensive calls that rely on Compiz window moved events which + are fired for every window, also if outside the scope of an Icon, so we don't + have to filter these signals out, but we can just get the monitor.changed signal + and depend on that. + This fixes the launcher pips not to be properly initialized in multi-monitor environments. + +2015-07-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + StandaloneAppManager: connect to window events also for newly opend windows + +2015-07-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + StandaloneAppManager: list monitor changes as well + +2015-07-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfApplicationManager: UpdateWindows on App creation as it might be already running + +2015-07-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MockApplication: use explicit return type with const& or Lambda will fail + +2015-07-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: return a const& WindowList in GetWindows + + Since we don't have to fetch anything, we can just avoid copies here. + +2015-07-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfApplicationManager: save windows for each app emitting window_{opened,closed} signal + + Reduce the creation of windows, emit opened or closed signals properly when windows + are added or removed, this fixes the problem of not getting these signals with sticky apps + +2015-07-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfApplicationManager: try to use cached windows in GetWindowForId at first try + +2015-07-08 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfApplicationManager: remove cached Apps/Windows on 'closed' signal + + This happens as the last thing, then we can be sure that that app or window + won't be re-created for further signals (as it happened before). + + Also don't remove sticky apps, until they are unsticked (and closed). + +2015-07-08 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: use monitor as property and emit changes + +2015-08-03 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150803.1-0ubuntu1 + +2015-08-03 Stephen M. Webb <stephen.webb@canonical.com> + + unity-shared/DebugDBusInterface.cpp: include <iostream> to fix a FTBFS + Approved by: Eleni Maria Stea + +2015-08-03 Stephen M. Webb <stephen.webb@canonical.com> + + fix a FTBFS with GCC-5 on arm64 due to missing required standard header + +2015-08-03 Andrea Azzarone andrea.azzarone@canonical.com + + Enable building unity form source with gcc5. + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-07-31 Andrea Azzarone andrea.azzarone@canonical.com + + Fix for gcc5. + +2015-08-03 Andrea Azzarone andrea.azzarone@canonical.com + + Fixes that enable building unity from sources with cmake3 (wily). + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-07-31 Andrea Azzarone andrea.azzarone@canonical.com + + Fix for cmake 3.0 + +2015-06-27 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150627.1-0ubuntu1 + +2015-06-27 Luke Yelavich <luke.yelavich@canonical.com> + + Implement filter results controls accessibility Fixes: #1457071 + Approved by: PS Jenkins bot, Marco Trevisan (Treviño) + +2015-05-25 Luke Yelavich <luke.yelavich@canonical.com> + + Switch header include order, hoefully fixes Rm64 FTBFs. + +2015-05-08 Luke Yelavich <luke.yelavich@canonical.com> + + Some code cleanup and improvement, thanks to Marco Trevisan (Treviño)" for the pointers. + +2015-05-06 Luke Yelavich <luke.yelavich@canonical.com> + + Remove some commented out code that is not needed + +2015-05-05 Luke Yelavich <luke.yelavich@canonical.com> + + Whoops, accidently dropped some member variables when moving code around for testing + +2015-05-05 Luke Yelavich <luke.yelavich@canonical.com> + + Implement filter results controls accessibility + +2015-06-27 Andrea Azzarone andrea.azzarone@canonical.com + + This likely could fix https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1451613. At least the backtraces posted there suggest this. But I think that those backtraces are just leftovers of old crashes-on-unloading. + Approved by: Marco Trevisan (Treviño) + +2015-05-28 Andrea Azzarone andrea.azzarone@canonical.com + + Avoid using lambda in EdgeBarrierController. + +2015-06-27 Andrea Azzarone andrea.azzarone@canonical.com + + Make sure new icons are added to the model before calling SortAndUpdate. Fixes: #1458950 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-05-29 Andrea Azzarone andrea.azzarone@canonical.com + + Make sure new icons are added to the model before calling SortAndUpdate. + +2015-06-27 Andrea Azzarone andrea.azzarone@canonical.com + + Fix a regression with urgent icons not showing up if launcher is hidden. Fixes: #1450991 + Approved by: PS Jenkins bot, Stephen M. Webb + +2015-05-21 Andrea Azzarone andrea.azzarone@canonical.com + + Properly render urgent icons. + +2015-06-27 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DecorationsForceQuitDialog: remove deprecated override style functions, use CSS + Approved by: PS Jenkins bot, Christopher Townsend + +2015-06-12 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DecorationsForceQuitDialog: remove deprecated override style functions, use CSS + +2015-06-12 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DecorationsForceQuitDialog: remove alignment deprecated functions + + Replace them with gtkwidget parameters + +2015-06-27 Marco Trevisan (Treviño) <mail@3v1n0.net> + + OverlayWindowButtons: trigger a queuedraw also when a child requires a redraw Fixes: #1461618 + Approved by: PS Jenkins bot, Christopher Townsend + +2015-06-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + OverlayWindowButtons: trigger a queuedraw also when a child requires a redraw + +2015-06-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + WindowButton: emit visual_state_change signal when we change the state + +2015-06-27 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: connect to target window / application title changes + + This will be smart enough to work with LIM and global menus Fixes: #1418449 + Approved by: PS Jenkins bot, Christopher Townsend + +2015-04-22 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with lp:~3v1n0/unity/application-manager-new + +2015-04-21 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfApplicationManager: use bamf_matcher_get_application_for_xid to get windows for id + + This reduces the DBus traffic + +2015-04-20 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: connect to target window / application title changes + + This will be smart enough to work with LIM and global menus + +2015-06-27 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: add missing features, keep a copy of views around + + Use this in PanelMenuView, getting rid of the BAMF internal at this level. + Approved by: PS Jenkins bot, Christopher Townsend + +2015-05-22 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestAppliactionLauncherIcon: ensure window is activ + +2015-05-22 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MockApplicationWindow: make LocalFocus to activate the window as well + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationLauncherIcon: use window active state for generating quicklist + +2015-04-21 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationLauncherIcon: add "natuilus.desktop" back to the fliemanager list + +2015-04-20 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: add RefreshAndRedraw utility function + + Instead of duplicating the same code everywhere + +2015-04-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with trunk + +2015-03-12 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with trunk + +2015-02-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + StandaloneAppManager: add missing mock type in switch + +2015-02-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with lim-everywhere again + +2015-02-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with lp:~3v1n0/unity/lim-everywhere + +2015-02-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: add MOCK {App,Window}Type + +2015-02-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + panel: link standalone version with unity-shared-bamf + +2015-02-09 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfApplicationManager: do safer convertion from bamf window type to unity::WindowType + +2015-02-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + PanelMenuView: use ApplicationManager to handle windows + + Remove the usage of BAMF internals, this allows better testability + and less resources usage. + +2015-02-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BamfApplicationManager: make sure we don't emit signals with null apps + +2015-02-05 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ApplicationManager: add missing features, keep a copy of views around + + This might be still improved when BAMF crashes/reloads, so that we can rebuild the table + +2015-06-27 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeSessionManager: Request ScreenSaver (de)activation on VT changes + + Connect to login1 session active property, and monitor its state. + When the session is active we can safely request the screensaver to stop. Fixes: #1405349 + Approved by: PS Jenkins bot, Christopher Townsend + +2015-05-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeSessionManager: Request ScreenSaver (de)activation on VT changes + + Connect to login1 session active property, and monitor its state. + When the session is active we can safely request the screensaver to stop. + +2015-05-19 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GLibDBusProxy: Notify invalidated properties as well, by emitting a null value for them + + It's then up to the client to get the value. + And plus fix the signature of the OnPropertyChanged callback. + +2015-06-27 Chris Townsend <christopher.townsend@canonical.com> + + Allow mouse clicks that are not in the visible area of the Quicklist to pass through down to the Launcher icon. Fixes a failing AP test. Fixes: #1456245 + Approved by: Marco Trevisan (Treviño) + +2015-05-20 Chris Townsend <christopher.townsend@canonical.com> + + Use CairoBaseWindow::FindAreaUnderMouse. + Use _anchorX instead of _padding. + +2015-05-20 Chris Townsend <christopher.townsend@canonical.com> + + Add override to the new method. + +2015-05-20 Chris Townsend <christopher.townsend@canonical.com> + + Allow mouse clicks that are not in the visible area of the Quicklist to pass through down to the Launcher icon. Fixes a failing AP test. + +2015-05-22 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150522-0ubuntu1 + +2015-05-22 Luke Yelavich <luke.yelavich@canonical.com> + + Implement scope bar icon accessibility Fixes: #1457073 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-03-25 Luke Yelavich <luke.yelavich@canonical.com> + + Implement scope bar icon accessibility + +2015-05-22 Chris Townsend <christopher.townsend@canonical.com> + + Enable real page up/page down key navigation in the Dash. When using these keys the view scrolls the length of the visible view. Fixes: #913612 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-05-05 Chris Townsend <christopher.townsend@canonical.com> + + Use a signal instead of a nux::Property since we are not storing any value. + +2015-05-04 Chris Townsend <christopher.townsend@canonical.com> + + Move the ScrollDir enum class to the anonymous namespace and use ScrollDir instead of a bool when signalling which direction to page. + +2015-04-30 Chris Townsend <christopher.townsend@canonical.com> + + Clean up the case handling of the page up and page down keys and also only do these when a preview is not showing. + +2015-04-29 Chris Townsend <christopher.townsend@canonical.com> + + Enable real page up/page down key navigation in the Dash. When using these keys the view scrolls the length of the visible view. + +2015-05-22 Chris Townsend <christopher.townsend@canonical.com> + + If dragging an application:// uri type from the Dash to the desktop, change it to a file:// uri type so Nautilus can understand the type a make a copy of it on the desktop. Fixes: #1241972 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-28 Chris Townsend <christopher.townsend@canonical.com> + + Make changes as suggested by Marco's review. + +2015-04-27 Chris Townsend <christopher.townsend@canonical.com> + + If dragging an application:// uri type from the Dash to the desktop, change it to a file:// uri type so Nautilus can understand the type a make a copy of it on the desktop. + +2015-05-22 Chris Townsend <christopher.townsend@canonical.com> + + If Spread/Expo is active, then terminate it when entering Launcher keynav mode. Fixes: #1447810 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-05-08 Chris Townsend <christopher.townsend@canonical.com> + + Move the 'key_nav_mode_requested=false' inside the test so we don't always set that even if it's not needed. + +2015-04-24 Chris Townsend <christopher.townsend@canonical.com> + + If Spread/Expo is active, then terminate it when entering Launcher keynav mode. + +2015-05-22 Marco Trevisan (Treviño) <mail@3v1n0.net> + + + + ResultViewGrid: wait for double-click event only if the relative result needs the Preview + + This was causing a 500ms delay between the user click and some results (apps) activation. + Also, at this point, we can get rid of PREVIEW_LEFT_BUTTON activation type. Fixes: #1291950, #1447372 + Approved by: Christopher Townsend, Brandon Schaefer, PS Jenkins bot + +2015-04-24 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DashView: use new SearchBar in_live_search property + +2015-04-24 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SearchBar: add in_live_search ROProperty, add more lambdas + +2015-04-24 Marco Trevisan (Treviño) <mail@3v1n0.net> + + DashView: reduce delay on key-activation of first result + + If user hits enter, then the first result has to be activated quickly. + So, we now wait 300ms since the live search has ended (this doesn't mean + we already have all the results, but we might have some of them) and + at this point if the user has already hit Enter key we activate the first result. + In case the user hits Enter after 300ms that the live search has ended, + we simply and promptly activate the first result. + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + BGHash: request redraw only if WindowThread is initialized + + This was causing a crash in standalone dash + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Unity: remove various unneeded g{d,t}k inclusions... + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultViewGrid: don't wait double-click if a local result doesn't support preview + + This fixes slow click events on Alt+F2 scope + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultView: add GetLocalResultActivateType that returns how a result should be activated + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultView: define default_click_activation getter to make it depends on Settings + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ScopeView: initialize results_view in any case. + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultViewGrid: wait for double-click event only if the default_click_activation is PREVIEW + + This was causing a 500ms delay between the user click and some results (apps) activation. + Also, at this point, we can get rid of PREVIEW_LEFT_BUTTON activation type. + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ScopeView: set default_click_activation on ResultViewGrid to DIRECT on apps + + This property has to be DIRECT when we handle apps or when the user has + requested this behavior using settings. + +2015-04-23 Marco Trevisan (Treviño) <mail@3v1n0.net> + + ResultView: add default_click_activation property + + This is set to DIRECT by default, also move to enum class + +2015-05-22 Chris Townsend <christopher.townsend@canonical.com> + + Wait on Spread to be terminated before showing the Quicklist. Fixes: #1441626 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-23 Chris Townsend <christopher.townsend@canonical.com> + + Wait on Spread to be terminated before showing the Quicklist. + +2015-05-22 Chris Townsend <christopher.townsend@canonical.com> + + Add necessary signaling to set the BFB icon's tooltip and the Home Scope's default search string to accurately reflect if searching online is enabled or disabled in unity-system-settings. Fixes: #1101662, #1202160 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-23 Chris Townsend <christopher.townsend@canonical.com> + + Fixed formatting in last commit. + +2015-04-23 Chris Townsend <christopher.townsend@canonical.com> + + Make sure the Home Scope is valid before setting it's search hint. Fixes seg faults in the unit tests. + +2015-04-23 Chris Townsend <christopher.townsend@canonical.com> + + Rename some functions to be more descriptive. + Use a property instead of a signal. + +2015-04-22 Chris Townsend <christopher.townsend@canonical.com> + + Add necessary signaling to set the BFB icon's tooltip and the Home Scope's default search string to accurately reflect if searching online is enabled or disabled in unity-system-settings. + +2015-05-12 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.10.20150512-0ubuntu1 + +2015-05-12 Eleni Maria Stea <elenimaria.stea@canonical.com> + + The skydome rendering of the cube plugin was wrong with unity because transformation matrices set by the unityshell plugin were left in the opengl matrix stacks affecting other compiz plugins. Saving the compiz state at the beginning of the unityshell plugin rendering functions and restoring it at the end of them fixes the problem. Fixes: #1446165 + Approved by: Stephen M. Webb, PS Jenkins bot + +2015-04-27 Eleni Maria Stea <elenimaria.stea@canonical.com> + + renamed static functions + +2015-04-21 Eleni Maria Stea <elenimaria.stea@canonical.com> + + cleanup diff (removed empty line) + +2015-04-21 Eleni Maria Stea <elenimaria.stea@canonical.com> + + renamed push_all/pop_all to something more relevant + +2015-04-21 Eleni Maria Stea <elenimaria.stea@canonical.com> + + cleanup diff (newlines/spaces) + +2015-04-21 Eleni Maria Stea <elenimaria.stea@canonical.com> + + use the minimum push and pop possible to not see errors in compiz + +2015-04-20 Eleni Maria Stea <elenimaria.stea@canonical.com> + + added #ifndef USE_GLES + +2015-04-20 Eleni Maria Stea <elenimaria.stea@canonical.com> + + removed save/restore framebuffer (it's not necessary) + +2015-04-17 Eleni Maria Stea <elenimaria.stea@canonical.com> + + removed unused function + +2015-04-17 Eleni Maria Stea <elenimaria.stea@canonical.com> + + save and restore fbo + +2015-04-16 Eleni Maria Stea <elenimaria.stea@canonical.com> + + restore shader as well + +2015-04-15 Eleni Maria Stea <elenimaria.stea@canonical.com> + + preserving the compiz state before applying the unity transformations + (fixes the compiz skydome and other issues) + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + Add option to enable and disable Unity low graphics mode on the fly in ccsm or via gsettings. Fixes: #1412937 + Approved by: Marco Trevisan (Treviño) + +2015-04-21 Chris Townsend <christopher.townsend@canonical.com> + + Add check to whether the low graphics mode has really changed before emitting the signal. + +2015-04-21 Chris Townsend <christopher.townsend@canonical.com> + + Add option to enable and disable Unity low graphics mode on the fly in ccsm or via gsettings. + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + Save the active window when showing the Dash so the correct window is focused when hiding the Dash. Fixes issue when "Always on Top" windows are present. Fixes: #1446634 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-21 Chris Townsend <christopher.townsend@canonical.com> + + Save the active window when showing the Dash so the correct window is focused when hiding the Dash. Fixes issue when "Always on Top" windows are present. + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + Save the active window when showing the Hud so the correct window is focused when hiding the Hud. Fixes issue when "Always on Top" windows are present. Fixes: #1366583 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-17 Chris Townsend <christopher.townsend@canonical.com> + + Save the active window when showing the Hud so the correct window is focused when hiding the Hud. Fixes issue when "Always on Top" windows are present. + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + When using the left arrow to exit a Quicklist, Launcher keynav is implied and should be active regardless of how the Quicklist was opened. Fixes: #1444626 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-16 Chris Townsend <christopher.townsend@canonical.com> + + When using the left arrow to exit a Quicklist, Launcher keynav is implied and should be active regardless of how the Quicklist was opened. + +2015-04-16 Chris Townsend <christopher.townsend@canonical.com> + + Merge lp:~townsend/unity/fix-keynav-bfb-quicklist since it's a prerequisite. + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + Add new signal to tell the Launcher to terminate keynav mode and use that signal when a BFB quicklist item is chosen. Fixes: #1052024, #1444643 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-16 Chris Townsend <christopher.townsend@canonical.com> + + Move the logic to terminate Launcher keynav inside the code that has already determined a Launcher icon was clicked. + +2015-04-15 Chris Townsend <christopher.townsend@canonical.com> + + Revert the previous fix of using a UBus message. Instead, use a signal in which the Launcher will signal the LauncherController to disable KeyNav if the Launcher is clicked with a mouse. + +2015-04-14 Chris Townsend <christopher.townsend@canonical.com> + + Add new signal to tell the Launcher to terminate keynav mode and use that signal when a BFB quicklist item is chosen. + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + Send signal to ensure the Dash will show when entering keynav mode since the first icon always highlighted is the BFB. Fixes: #1444113 + Approved by: Marco Trevisan (Treviño) + +2015-04-16 Chris Townsend <christopher.townsend@canonical.com> + + In the KeyNav movement functions, add a check to see if the icon is the BFB and if so, send message to ensure the Dash will show. + +2015-04-14 Chris Townsend <christopher.townsend@canonical.com> + + Send signal to ensure the Dash will show when entering keynav mode since the first icon always highlighted is the BFB. + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + Remove code that is no longer needed and broke opening application spread while in Launcher keynav mode. Fixes: #1445082 + Approved by: Marco Trevisan (Treviño) + +2015-04-17 Chris Townsend <christopher.townsend@canonical.com> + + Remove code that is no longer needed and broke opening application spread while in Launcher keynav mode. + +2015-05-12 Chris Townsend <christopher.townsend@canonical.com> + + When looking for the top-most valid window in a VP, also check if the window is focused if the window is set to Always on Top. This allows Launcher icon spread to work properly when a window is minimized an Always on Top exists in the group. + Fixes: #1131385 + Approved by: Marco Trevisan (Treviño), PS Jenkins bot + +2015-04-09 Chris Townsend <christopher.townsend@canonical.com> + + When looking for the top-most valid window in a VP, also check if the window is focused if the window is set to Always on Top. This allows Launcher icon spread to work properly when a window is minimized an Always on Top exists in the group. + +2015-04-20 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.04.20150420-0ubuntu1 + +2015-04-20 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MenuManager, settings: go back to Global Menus as default + + As per design decision. Fixes: #1446256 + Approved by: Stephen M. Webb + +2015-04-20 Marco Trevisan (Treviño) <mail@3v1n0.net> + + MenuManager, settings: go back to Global Menus as default + + As per design decision. + +2015-04-10 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.04.20150410.1-0ubuntu1 + +2015-04-10 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityScreen: terminate spread if active when initiating Switcher + + Also avodon't make the SpreadFilter to unset the nux key-focus area on destruction. Fixes: #1412001 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-04-08 Marco Trevisan (Treviño) <mail@3v1n0.net> + + TestSpreadFilter: include SearchBar + +2015-04-08 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SpreadFilter: no need to manually unset the key-focus area or remove from layout queue + + This is now done inside nux::Area::~Area, and leaves the focus to the upcoming views + (such as the switcher view). + +2015-04-08 Marco Trevisan (Treviño) <mail@3v1n0.net> + + UnityScreen: terminate spread if active when initiating Switcher + +2015-04-10 Gerry Boland <gerry.boland@canonical.com> + + SwitcherController: add first selection mode property, to decide what to select at first + + Add option to have Switcher strictly between applications, and not select the previously focused window as first selection (even if that window part of the same application) Fixes: #998285 + Approved by: Gerry Boland, Christopher Townsend, PS Jenkins bot + +2015-04-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SwitcherController: set FirstSelectionMode::LAST_ACTIVE_VIEW as default + +2015-04-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + Merging with trunk + +2015-04-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SwitcherController: use properties better + +2015-04-03 Marco Trevisan (Treviño) <mail@3v1n0.net> + + SwitcherController: save settings in controller, and update them from compiz + +2015-02-04 Gerry Boland <gerry.boland@canonical.com> + + Add option to have Switcher strictly between applications, and not select the previously focused window as first selection (even if that window part of the same application) + +2015-04-10 Brandon Schaefer <brandontschaefer@gmail.com> + + When we get a launcher key press (ie. super key). We check if the command lens is open. If it is then just switch the lens to the home lens. This way we dont close the dash. Fixes: #1108956 + Approved by: Stephen M. Webb, Christopher Townsend, PS Jenkins bot + +2015-04-10 Brandon Schaefer <brandontschaefer@gmail.com> + + * Fix AP tests + +2015-03-31 Brandon Schaefer <brandontschaefer@gmail.com> + + * Finally fixes the issue where you cant go from the command lens to the home dash + +2015-04-10 Stephen M. Webb <stephen.webb@canonical.com> + + test_wm_keybindings: fix AP failures caused by upstream Compiz change Fixes: #1294864 + Approved by: Christopher Townsend + +2015-04-10 Stephen M. Webb <stephen.webb@canonical.com> + + adjust previous fix to use floating-point division + +2015-04-10 Stephen M. Webb <stephen.webb@canonical.com> + + test_wm_keybindings: fix AP failures caused by upstream Compiz change + +2015-04-10 Stephen M. Webb <stephen.webb@canonical.com> + + (Ubuntu packaging) move the session migration scripts to Python3 Fixes: #1440560 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-04-06 Stephen M. Webb <stephen.webb@canonical.com> + + migration scripts: used /usr/bin/python3 shebang instead of Python-recommended /usr/bin/env + +2015-04-05 Stephen M. Webb <stephen.webb@canonical.com> + + move migration scripts to python3 + +2015-04-10 Stephen M. Webb <stephen.webb@canonical.com> + + fixed the Panel title string expected by Launcher keynav AP tests Fixes: #1435830 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-03-26 Stephen M. Webb <stephen.webb@canonical.com> + + made the test_launcher_keynav_changes_panel test conform to design requirements + +2015-03-24 Stephen M. Webb <stephen.webb@canonical.com> + + AP tests: updated panel title expectd during keynav tests + +2015-03-30 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.04.20150330-0ubuntu1 + +2015-03-30 Sebastien Bacher <seb128@ubuntu.com> + + use the new nautilus .desktop name Fixes: #1436297 + Approved by: Stephen M. Webb, PS Jenkins bot + +2015-03-25 Sebastien Bacher <seb128@ubuntu.com> + + use the new nautilus .desktop name + +2015-03-30 Stephen M. Webb <stephen.webb@canonical.com> + + AP tests: accounted for arbitrarily-raised exceptions in checking scaled windows Fixes: #1436095 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-03-24 Stephen M. Webb <stephen.webb@canonical.com> + + AP tests: accounted for arbitrarily-raised exceptions in checking scaled windows + +2015-03-30 Andrea Azzarone <azzaronea@gmail.com> + + Make sure that signals are auto-desconnected when XdndStartStopNotifierImp is destroyed. + Fixes: #1432231 + Approved by: Stephen M. Webb, PS Jenkins bot + +2015-03-27 Andrea Azzarone <azzaronea@gmail.com> + + Make sure that signal are auto-desconnected when XdndStartStopNotifierImp is destroyed. + +2015-03-30 Andrea Azzarone <azzaronea@gmail.com> + + Forward first key event that happens on top of the blank window to the lockscreen. Fixes: #1308265 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-03-24 Andrea Azzarone <azzaronea@gmail.com> + + Forward first key event that happens on top of the blank window to the lockscreen. + +2015-03-30 Andrea Azzarone <azzaronea@gmail.com> + + Release pointer barrier if launcher is in lock_hide state. + Fixes: #1029114 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-03-23 Andrea Azzarone <azzaronea@gmail.com> + + Release pointer barrier if launcher is in lock_hide state. + +2015-03-30 Andrea Azzarone <azzaronea@gmail.com> + + Hide launcher to avoid damaging window when not needed. Also make sure that pressure effect works fine (previous fix has been reverted because of this!). Fixes: #1301394 + Approved by: Marco Trevisan (Treviño) + +2015-03-23 Andrea Azzarone <azzaronea@gmail.com> + + Impre readability. + +2015-03-23 Andrea Azzarone <azzaronea@gmail.com> + + Hide launcher to avoid damaging window when not needed. Also make sure that pressure effect works fine. + +2015-03-30 Andrea Azzarone <azzaronea@gmail.com> + + Make sure scope_views_[filter.id] exists before using operator[] on it. Fixes: #926979 + Approved by: Stephen M. Webb, PS Jenkins bot + +2015-03-20 Andrea Azzarone <azzaronea@gmail.com> + + Check the use of std::*map::operator[]. + +2015-03-30 Andrea Azzarone <azzaronea@gmail.com> + + Do not restore focus if a quicklist is opened during launcher key navigation. Fixes: #932486 + Approved by: Stephen M. Webb, PS Jenkins bot + +2015-03-20 Andrea Azzarone <azzaronea@gmail.com> + + Do not refocus window when opening a quicklist during launcher key navigation. + +2015-03-24 CI Train Bot <ci-train-bot@canonical.com> + + Releasing 7.3.2+15.04.20150324.1-0ubuntu1 + +2015-03-24 Brandon Schaefer <brandontschaefer@gmail.com> + + When we quit the quicklist it would check if the mouse was over the launcher, if it wasn't it would fold the launcher. We don't need to check this if we are in keynav as we want all the icons to be unfolded. Fixes: #1246891 + Approved by: Christopher Townsend + +2015-03-13 Brandon Schaefer <brandontschaefer@gmail.com> + + * If we are in KeyNav mode do not check if we should set hover or not. + +2015-03-24 Stephen M. Webb <stephen.webb@canonical.com> + + silenced GCC 5 warnings Fixes: #1430784 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-03-13 Stephen M. Webb <stephen.webb@canonical.com> + + work around new GCC 5 warnings in GTest code + +2015-03-12 Stephen M. Webb <stephen.webb@canonical.com> + + HudController.cpp: bind value of correct type to signal + +2015-03-24 Stephen M. Webb <stephen.webb@canonical.com> + + uses the new upstream .desktop file for D-Bus activated Nautilus instances Fixes: #1428837 + Approved by: Christopher Townsend, PS Jenkins bot + +2015-03-05 Stephen M. Webb <stephen.webb@canonical.com> + + used D-bus activation .desktop file for Nautilus in AP tests + +2015-03-24 Chris Townsend <christopher.townsend@canonical.com> + + Use a 2 second delay before showing the first run shortcut hints to workaround a race condition on input handling. Fixes: #1313597 + Approved by: Stephen M. Webb + +2015-03-05 Chris Townsend <christopher.townsend@canonical.com> + + Use a 2 second delay before showing the first run shortcut hints to workaround a race condition on input handling. + +2015-03-24 Stephen M. Webb <stephen.webb@canonical.com> + + fix AP test failure due to new parameter added to key grabbing Fixes: #1433648 + Approved by: Christopher Townsend, Marco Trevisan (Treviño) + +2015-03-24 Stephen M. Webb <stephen.webb@canonical.com> + + fixed AP tests to match code changes + +2015-03-24 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: add timestamp support to accelerators Fixes: #1433648 + Approved by: Sebastien Bacher, Christopher Townsend, PS Jenkins bot + +2015-03-18 Marco Trevisan (Treviño) <mail@3v1n0.net> + + GnomeKeyGrabber: add timestamp support to accelerators + +2015-03-19 Stephen M. Webb <stephen.webb@canonical.com> + + Upstream release 7.3.2. + 2015-02-27 CI Train Bot <ci-train-bot@canonical.com> Releasing 7.3.1+15.04.20150227-0ubuntu1 diff --git a/UnityCore/Scope.h b/UnityCore/Scope.h index 7c06c285b..3be56a4c8 100644 --- a/UnityCore/Scope.h +++ b/UnityCore/Scope.h @@ -36,7 +36,7 @@ namespace dash typedef enum { G_SCOPE_ERROR_NO_ACTIVATION_HANDLER = (1 << 0), - G_SCOPE_ERROR_INVALID_PREVIEW = (2 << 0) + G_SCOPE_ERROR_INVALID_PREVIEW = (1 << 1) } GScopeError; GQuark diff --git a/dash/previews/CMakeLists.txt b/dash/previews/CMakeLists.txt index abc95f967..6d566f48d 100644 --- a/dash/previews/CMakeLists.txt +++ b/dash/previews/CMakeLists.txt @@ -48,36 +48,36 @@ add_pch(pch/previews_pch.hh previews-lib) # Application Standalone variant # add_executable (app_previews StandaloneApplicationPreview.cpp) -target_link_libraries (app_previews previews-lib unity-shared) +target_link_libraries (app_previews previews-lib unity-shared unity-shared-standalone) # # Music Standalone variant # add_executable (music_previews StandaloneMusicPreview.cpp) -target_link_libraries (music_previews previews-lib unity-shared) +target_link_libraries (music_previews previews-lib unity-shared unity-shared-standalone) # # Social Standalone variant # add_executable (social_previews StandaloneSocialPreview.cpp) -target_link_libraries (social_previews previews-lib unity-shared) +target_link_libraries (social_previews previews-lib unity-shared unity-shared-standalone) # # Movie Standalone variant # add_executable (movie_previews StandaloneMoviePreview.cpp) -target_link_libraries (movie_previews previews-lib unity-shared) +target_link_libraries (movie_previews previews-lib unity-shared unity-shared-standalone) # # Payment Standalone variant # add_executable (payment_previews StandaloneMusicPaymentPreview.cpp) add_dependencies (payment_previews previews-lib) -target_link_libraries (payment_previews previews-lib unity-shared) +target_link_libraries (payment_previews previews-lib unity-shared unity-shared-standalone) # # Error Standalone variant # add_executable (error_previews StandaloneErrorPreview.cpp) add_dependencies (error_previews previews-lib) -target_link_libraries (error_previews previews-lib unity-shared) +target_link_libraries (error_previews previews-lib unity-shared unity-shared-standalone) diff --git a/debian/changelog b/debian/changelog index 463470f60..66f838f36 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,35 @@ +unity (7.4.0+16.04.20151102-0ubuntu1) xenial; urgency=medium + + [ Marco Trevisan (Treviño) ] + * Bumping version to 7.4.0 + * Fix building in xenial + + [ Didier Roche ] + * Remove unity2d transitional packages. We are post trusty LTS, they + are not needed anymore + + [ Marco Trevisan (Treviño) ] + * ApplicationLauncherIcon: if an app is not running and has no desktop + file, add QL item to add to dash + * PanelService: unset the idle ID before removal on callback (LP: + #1501289) + * Unity: use compiz cursorCache to get properly updated cursors (LP: + #1359211) + * UnityScreen: add SpreadAppWindows option and trigger it on + Super+Ctrl+[Shift]+W + + [ Stephen M. Webb ] + * changed the wording of the help message and warning message for the + --reset option (LP: #1486498) + + -- Marco Trevisan (Treviño) <mail@3v1n0.net> Mon, 02 Nov 2015 13:29:58 +0000 + +unity (7.3.3-0ubuntu1) UNRELEASED; urgency=medium + + * Releasing Unity 7.3.3 + + -- Marco Trevisan (Treviño) <marco@ubuntu.com> Mon, 26 Oct 2015 15:37:22 +0100 + unity (7.3.2+15.10.20151016-0ubuntu1) wily; urgency=medium [ Marco Trevisan (Treviño) ] diff --git a/debian/control b/debian/control index 07d2050b2..3df374ba7 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: gnome Priority: optional Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Build-Depends: cmake, - compiz-dev (>= 1:0.9.11), + compiz-dev (>= 1:0.9.12.2), debhelper (>= 9.0.0~), dbus-test-runner, dh-migrations, @@ -13,7 +13,7 @@ Build-Depends: cmake, gsettings-ubuntu-schemas (>= 0.0.1+14.04.20140219), intltool (>= 0.35.0), libatk1.0-dev, - libbamf3-dev (>= 0.5.0+13.10.20130731), + libbamf3-dev (>= 0.5.2~bzr0), libboost-dev, libcairo2-dev, libdbus-1-dev, @@ -201,68 +201,3 @@ Description: Autopiloted tests for Unity bindings to be able to write tests in python as well as the full test suite for Unity. -Package: unity-2d -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - -Package: libunity-2d-private0 -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - -Package: libunity-2d-private-dev -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - -Package: unity-2d-panel -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - -Package: unity-2d-spread -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - -Package: unity-2d-common -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - -Package: unity-2d-shell -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - -Package: unity-2d-dbg -Priority: extra -Depends: unity, ${misc:Depends} -Architecture: all -Section: oldlibs -Description: transitional dummy package - This is a transitional dummy package for unity-2d -> unity migration. - It can safely be removed. - diff --git a/debian/rules b/debian/rules index 60ad382f4..9869be6a7 100755 --- a/debian/rules +++ b/debian/rules @@ -27,11 +27,12 @@ cmake_base_options := -DUSE_GSETTINGS=TRUE -DCOMPIZ_BUILD_WITH_RPATH=FALSE -DCOM ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gles2_architectures))) cmake_gl_options := -DBUILD_GLES=TRUE -DDISABLE_MAINTAINER_CFLAGS=ON endif + +# Workaround for bug #1511542 ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), arm64)) - cmake_pch_options := -Duse_pch=OFF + cmake_pch_options := -DENABLE_UNIT_TESTS=OFF endif - override_dh_auto_configure: dh_auto_configure -- $(cmake_base_options) $(cmake_gl_options) $(cmake_pch_options) diff --git a/decorations/DecorationsDataPool.cpp b/decorations/DecorationsDataPool.cpp index e89bad13f..0c44cd625 100644 --- a/decorations/DecorationsDataPool.cpp +++ b/decorations/DecorationsDataPool.cpp @@ -67,7 +67,6 @@ unsigned EdgeTypeToCursorShape(Edge::Type type) DataPool::DataPool() { - SetupCursors(); SetupTextures(); CompSize glow_size(texture::GLOW_SIZE, texture::GLOW_SIZE); @@ -78,13 +77,6 @@ DataPool::DataPool() unity::Settings::Instance().dpi_changed.connect(cb); } -DataPool::~DataPool() -{ - auto* dpy = screen->dpy(); - for (auto cursor : edge_cursors_) - XFreeCursor(dpy, cursor); -} - DataPool::Ptr const& DataPool::Get() { if (instance_) @@ -99,16 +91,9 @@ void DataPool::Reset() instance_.reset(); } -void DataPool::SetupCursors() -{ - auto* dpy = screen->dpy(); - for (unsigned c = 0; c < edge_cursors_.size(); ++c) - edge_cursors_[c] = XCreateFontCursor(dpy, EdgeTypeToCursorShape(Edge::Type(c))); -} - Cursor DataPool::EdgeCursor(Edge::Type type) const { - return edge_cursors_[unsigned(type)]; + return screen->cursorCache(EdgeTypeToCursorShape(type)); } void DataPool::SetupTextures() diff --git a/decorations/DecorationsDataPool.h b/decorations/DecorationsDataPool.h index 9eb81f4b2..f530df52d 100644 --- a/decorations/DecorationsDataPool.h +++ b/decorations/DecorationsDataPool.h @@ -36,7 +36,7 @@ public: static DataPool::Ptr const& Get(); static void Reset(); - virtual ~DataPool(); + virtual ~DataPool() = default; Cursor EdgeCursor(Edge::Type) const; cu::SimpleTexture::Ptr const& GlowTexture() const; @@ -48,10 +48,8 @@ private: DataPool(DataPool const&) = delete; DataPool& operator=(DataPool const&) = delete; - void SetupCursors(); void SetupTextures(); - std::array<Cursor, size_t(Edge::Type::Size)> edge_cursors_; cu::SimpleTexture::Ptr glow_texture_; typedef std::array<std::array<cu::SimpleTexture::Ptr, size_t(WidgetState::Size)>, size_t(WindowButtonType::Size)> WindowButtonsArray; diff --git a/launcher/ApplicationLauncherIcon.cpp b/launcher/ApplicationLauncherIcon.cpp index ede26baf8..d3e7cca5a 100644 --- a/launcher/ApplicationLauncherIcon.cpp +++ b/launcher/ApplicationLauncherIcon.cpp @@ -1092,6 +1092,22 @@ AbstractLauncherIcon::MenuItemsVector ApplicationLauncherIcon::GetMenus() if (IsRunning()) { + if (DesktopFile().empty() && !IsSticky()) + { + /* Add to Dash */ + glib::Object<DbusmenuMenuitem> menu_item(dbusmenu_menuitem_new()); + dbusmenu_menuitem_property_set(menu_item, DBUSMENU_MENUITEM_PROP_LABEL, _("Add to Dash")); + dbusmenu_menuitem_property_set_bool(menu_item, DBUSMENU_MENUITEM_PROP_ENABLED, true); + dbusmenu_menuitem_property_set_bool(menu_item, DBUSMENU_MENUITEM_PROP_VISIBLE, true); + + _gsignals.Add<void, DbusmenuMenuitem*, unsigned>(menu_item, DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, + [this] (DbusmenuMenuitem*, unsigned) { + app_->CreateLocalDesktopFile(); + }); + + result.push_back(menu_item); + } + if (!quit_item) quit_item = _menu_items[MenuItemType::QUIT]; diff --git a/launcher/LauncherController.cpp b/launcher/LauncherController.cpp index db0a8c9ff..2968a8ec9 100644 --- a/launcher/LauncherController.cpp +++ b/launcher/LauncherController.cpp @@ -150,7 +150,11 @@ Controller::Impl::Impl(Controller* parent, XdndManager::Ptr const& xdnd_manager, WindowManager& wm = WindowManager::Default(); wm.window_focus_changed.connect(sigc::mem_fun(this, &Controller::Impl::OnWindowFocusChanged)); +#if SIGCXX_MAJOR_VERSION >= 2 && SIGCXX_MINOR_VERSION >= 5 + wm.viewport_layout_changed.connect(sigc::track_obj([this] (int w, int h) { UpdateNumWorkspaces(w * h); }, *this)); +#else wm.viewport_layout_changed.connect(sigc::group(sigc::mem_fun(this, &Controller::Impl::UpdateNumWorkspaces), sigc::_1 * sigc::_2)); +#endif average_color_connection_ = wm.average_color.changed.connect([this] (nux::Color const& color) { parent_->options()->background_color = color; }); diff --git a/panel/PanelTitlebarGrabAreaView.cpp b/panel/PanelTitlebarGrabAreaView.cpp index 24d186b1f..21215a160 100644 --- a/panel/PanelTitlebarGrabAreaView.cpp +++ b/panel/PanelTitlebarGrabAreaView.cpp @@ -24,6 +24,7 @@ #include <X11/cursorfont.h> #include "unity-shared/UnitySettings.h" #include "unity-shared/DecorationStyle.h" +#include "unity-shared/WindowManager.h" #include "PanelTitlebarGrabAreaView.h" @@ -48,12 +49,6 @@ PanelTitlebarGrabArea::PanelTitlebarGrabArea() }); } -PanelTitlebarGrabArea::~PanelTitlebarGrabArea() -{ - if (grab_cursor_) - XFreeCursor(nux::GetGraphicsDisplay()->GetX11Display(), grab_cursor_); -} - void PanelTitlebarGrabArea::SetGrabbed(bool enabled) { auto display = nux::GetGraphicsDisplay()->GetX11Display(); @@ -64,13 +59,12 @@ void PanelTitlebarGrabArea::SetGrabbed(bool enabled) if (enabled && !grab_cursor_) { - grab_cursor_ = XCreateFontCursor(display, XC_fleur); + grab_cursor_ = WindowManager::Default().GetCachedCursor(XC_fleur); XDefineCursor(display, panel_window->GetInputWindowId(), grab_cursor_); } else if (!enabled && grab_cursor_) { XUndefineCursor(display, panel_window->GetInputWindowId()); - XFreeCursor(display, grab_cursor_); grab_cursor_ = None; } } diff --git a/panel/PanelTitlebarGrabAreaView.h b/panel/PanelTitlebarGrabAreaView.h index c0789aa76..4cc3901d4 100644 --- a/panel/PanelTitlebarGrabAreaView.h +++ b/panel/PanelTitlebarGrabAreaView.h @@ -38,7 +38,6 @@ class PanelTitlebarGrabArea : public nux::InputArea, public unity::debug::Intros public: PanelTitlebarGrabArea(); - ~PanelTitlebarGrabArea(); void SetGrabbed(bool enabled); bool IsGrabbed(); diff --git a/plugins/unityshell/src/UnityGestureBroker.cpp b/plugins/unityshell/src/UnityGestureBroker.cpp index 99066c3e1..dee06370a 100644 --- a/plugins/unityshell/src/UnityGestureBroker.cpp +++ b/plugins/unityshell/src/UnityGestureBroker.cpp @@ -24,27 +24,13 @@ #include "UnityGestureTarget.h" #include "WindowGestureTarget.h" -#include <X11/cursorfont.h> - UnityGestureBroker::UnityGestureBroker() : nux::GestureBroker() { - g_assert(WindowGestureTarget::fleur_cursor == 0); - WindowGestureTarget::fleur_cursor = XCreateFontCursor (screen->dpy (), XC_fleur); - unity_target.reset(new UnityGestureTarget); gestural_window_switcher_.reset(new unity::GesturalWindowSwitcher); } -UnityGestureBroker::~UnityGestureBroker() -{ - if (WindowGestureTarget::fleur_cursor) - { - XFreeCursor (screen->dpy (), WindowGestureTarget::fleur_cursor); - WindowGestureTarget::fleur_cursor = 0; - } -} - std::vector<nux::ShPtGestureTarget> UnityGestureBroker::FindGestureTargets(const nux::GestureEvent &event) { diff --git a/plugins/unityshell/src/UnityGestureBroker.h b/plugins/unityshell/src/UnityGestureBroker.h index 75b4f13c1..28aad4ed5 100644 --- a/plugins/unityshell/src/UnityGestureBroker.h +++ b/plugins/unityshell/src/UnityGestureBroker.h @@ -32,7 +32,7 @@ class UnityGestureBroker : public nux::GestureBroker { public: UnityGestureBroker(); - virtual ~UnityGestureBroker(); + virtual ~UnityGestureBroker() = default; private: std::vector<nux::ShPtGestureTarget> diff --git a/plugins/unityshell/src/WindowGestureTarget.cpp b/plugins/unityshell/src/WindowGestureTarget.cpp index 92a192acd..202cdf1ef 100644 --- a/plugins/unityshell/src/WindowGestureTarget.cpp +++ b/plugins/unityshell/src/WindowGestureTarget.cpp @@ -23,6 +23,7 @@ #include "WindowGestureTarget.h" #include <Nux/Nux.h> // otherwise unityshell.h inclusion will cause failures +#include <X11/cursorfont.h> #include "unityshell.h" // To make the gesture tests pass, this has to be a local include. @@ -30,8 +31,6 @@ using namespace nux; -Cursor WindowGestureTarget::fleur_cursor = 0; - WindowGestureTarget::WindowGestureTarget(CompWindow *window) : window_(window), drag_grab_(0), started_window_move_(false), window_restored_by_pinch_(false) @@ -138,7 +137,7 @@ void WindowGestureTarget::StartWindowMove(const nux::GestureEvent &event) { if (!event.IsDirectTouch()) { - drag_grab_ = screen->pushGrab(fleur_cursor, "unity"); + drag_grab_ = screen->pushGrab(screen->cursorCache(XC_fleur), "unity"); window_->grabNotify(window_->serverGeometry().x(), window_->serverGeometry().y(), 0, diff --git a/plugins/unityshell/src/WindowGestureTarget.h b/plugins/unityshell/src/WindowGestureTarget.h index 49eae0c95..1dfe7dcdc 100644 --- a/plugins/unityshell/src/WindowGestureTarget.h +++ b/plugins/unityshell/src/WindowGestureTarget.h @@ -36,8 +36,6 @@ class WindowGestureTarget : public nux::GestureTarget virtual nux::GestureDeliveryRequest GestureEvent(const nux::GestureEvent &event); - static Cursor fleur_cursor; - CompWindow *window() {return window_;} private: virtual bool Equals(const nux::GestureTarget& other) const; diff --git a/plugins/unityshell/src/unityshell.cpp b/plugins/unityshell/src/unityshell.cpp index acadc2a34..b429c9274 100644 --- a/plugins/unityshell/src/unityshell.cpp +++ b/plugins/unityshell/src/unityshell.cpp @@ -381,6 +381,8 @@ UnityScreen::UnityScreen(CompScreen* screen) optionSetPanelFirstMenuInitiate(boost::bind(&UnityScreen::showPanelFirstMenuKeyInitiate, this, _1, _2, _3)); optionSetPanelFirstMenuTerminate(boost::bind(&UnityScreen::showPanelFirstMenuKeyTerminate, this, _1, _2, _3)); optionSetPanelFirstMenuNotify(boost::bind(&UnityScreen::optionChanged, this, _1, _2)); + optionSetSpreadAppWindowsInitiate(boost::bind(&UnityScreen::spreadAppWindowsInitiate, this, _1, _2, _3)); + optionSetSpreadAppWindowsAnywhereInitiate(boost::bind(&UnityScreen::spreadAppWindowsAnywhereInitiate, this, _1, _2, _3)); optionSetAutomaximizeValueNotify(boost::bind(&UnityScreen::optionChanged, this, _1, _2)); optionSetDashTapDurationNotify(boost::bind(&UnityScreen::optionChanged, this, _1, _2)); optionSetAltTabTimeoutNotify(boost::bind(&UnityScreen::optionChanged, this, _1, _2)); @@ -2106,7 +2108,7 @@ bool UnityScreen::showLauncherKeyInitiate(CompAction* action, action->setState(action->state() | CompAction::StateTermKey); super_keypressed_ = true; - int when = options[7].value().i(); // XEvent time in millisec + int when = CompOption::getIntOptionNamed(options, "time"); launcher_controller_->HandleLauncherKeyPress(when); EnsureSuperKeybindings (); @@ -2138,7 +2140,7 @@ bool UnityScreen::showLauncherKeyTerminate(CompAction* action, bool was_tap = state & CompAction::StateTermTapped; bool tap_handled = false; LOG_DEBUG(logger) << "Super released: " << (was_tap ? "tapped" : "released"); - int when = options[7].value().i(); // XEvent time in millisec + int when = CompOption::getIntOptionNamed(options, "time"); // hack...if the scale just wasn't activated AND the 'when' time is within time to start the // dash then assume was_tap is also true, since the ScalePlugin doesn't accept that state... @@ -2209,7 +2211,7 @@ bool UnityScreen::showPanelFirstMenuKeyInitiate(CompAction* action, /* In order to avoid too many events when keeping the keybinding pressed, * that would make the unity-panel-service to go crazy (see bug #948522) * we need to filter them, just considering an event every 750 ms */ - int event_time = options[7].value().i(); // XEvent time in millisec + int event_time = CompOption::getIntOptionNamed(options, "time"); if (event_time - first_menu_keypress_time_ < 750) { @@ -2279,6 +2281,38 @@ bool UnityScreen::showDesktopKeyInitiate(CompAction* action, return true; } +void UnityScreen::SpreadAppWindows(bool anywhere) +{ + if (ApplicationPtr const& active_app = ApplicationManager::Default().GetActiveApplication()) + { + std::vector<Window> windows; + + for (auto& window : active_app->GetWindows()) + { + if (anywhere || WM.IsWindowOnCurrentDesktop(window->window_id())) + windows.push_back(window->window_id()); + } + + WM.ScaleWindowGroup(windows, 0, true); + } +} + +bool UnityScreen::spreadAppWindowsInitiate(CompAction* action, + CompAction::State state, + CompOption::Vector& options) +{ + SpreadAppWindows(false); + return true; +} + +bool UnityScreen::spreadAppWindowsAnywhereInitiate(CompAction* action, + CompAction::State state, + CompOption::Vector& options) +{ + SpreadAppWindows(true); + return true; +} + bool UnityScreen::setKeyboardFocusKeyInitiate(CompAction* action, CompAction::State state, CompOption::Vector& options) @@ -2632,7 +2666,7 @@ bool UnityScreen::ShowHudInitiate(CompAction* action, // to receive the Terminate event if (state & CompAction::StateInitKey) action->setState(action->state() | CompAction::StateTermKey); - hud_keypress_time_ = options[7].value().i(); // XEvent time in millisec + hud_keypress_time_ = CompOption::getIntOptionNamed(options, "time"); // pass key through return false; @@ -2653,7 +2687,7 @@ bool UnityScreen::ShowHudTerminate(CompAction* action, if (!(state & CompAction::StateTermTapped)) return false; - int release_time = options[7].value().i(); // XEvent time in millisec + int release_time = CompOption::getIntOptionNamed(options, "time"); int tap_duration = release_time - hud_keypress_time_; if (tap_duration > local::ALT_TAP_DURATION) { @@ -3886,9 +3920,9 @@ void UnityScreen::OnScreenLocked() screen->removeAction(&action); // We notify that super/alt have been released, to avoid to leave unity in inconsistent state - CompOption::Vector options(8); - options[7].setName("time", CompOption::TypeInt); - options[7].value().set<int>(screen->getCurrentTime()); + CompOption::Vector options(1); + options.back().setName("time", CompOption::TypeInt); + options.back().value().set<int>(screen->getCurrentTime()); showLauncherKeyTerminate(&optionGetShowLauncher(), CompAction::StateTermKey, options); showMenuBarTerminate(&optionGetShowMenuBar(), CompAction::StateTermKey, options); diff --git a/plugins/unityshell/src/unityshell.h b/plugins/unityshell/src/unityshell.h index ce75ee246..42853a67f 100644 --- a/plugins/unityshell/src/unityshell.h +++ b/plugins/unityshell/src/unityshell.h @@ -185,6 +185,8 @@ public: bool executeCommand(CompAction* action, CompAction::State state, CompOption::Vector& options); bool showDesktopKeyInitiate(CompAction* action, CompAction::State state, CompOption::Vector& options); + bool spreadAppWindowsInitiate(CompAction* action, CompAction::State state, CompOption::Vector& options); + bool spreadAppWindowsAnywhereInitiate(CompAction* action, CompAction::State state, CompOption::Vector& options); bool setKeyboardFocusKeyInitiate(CompAction* action, CompAction::State state, CompOption::Vector& options); bool altTabInitiateCommon(CompAction* action, switcher::ShowMode mode); @@ -318,6 +320,7 @@ private: void DamageBlurUpdateRegion(nux::Geometry const&); void ShowFirstRunHints(); + void SpreadAppWindows(bool anywhere); std::unique_ptr<na::TickSource> tick_source_; std::unique_ptr<na::AnimationController> animation_controller_; diff --git a/plugins/unityshell/unityshell.xml.in b/plugins/unityshell/unityshell.xml.in index 1c4debef4..56a95842a 100644 --- a/plugins/unityshell/unityshell.xml.in +++ b/plugins/unityshell/unityshell.xml.in @@ -87,6 +87,18 @@ <default><Alt>F10</default> </option> + <option name="spread_app_windows" type="key"> + <_short>Key to spread the current application windows</_short> + <_long>Initiate the window Spread for the current application windows.</_long> + <default><Control><Super>w</default> + </option> + + <option name="spread_app_windows_anywhere" type="key"> + <_short>Key to spread the current application windows in any workspace</_short> + <_long>Initiate the window Spread for the current application windows, for the all the windows.</_long> + <default><Control><Super><Shift>w</default> + </option> + <option name="panel_opacity" type="float"> <_short>Panel Opacity</_short> <_long>The opacity of the Panel background.</_long> diff --git a/services/panel-service.c b/services/panel-service.c index 6f9d086e2..b9b86cd7f 100644 --- a/services/panel-service.c +++ b/services/panel-service.c @@ -1314,6 +1314,7 @@ on_removed_idle (PanelService *self) g_slist_free (self->priv->removed_entries); self->priv->removed_entries = NULL; + self->priv->remove_idle = 0; return G_SOURCE_REMOVE; } diff --git a/shortcuts/CompizShortcutModeller.cpp b/shortcuts/CompizShortcutModeller.cpp index bc1f64fc9..f415d39a2 100644 --- a/shortcuts/CompizShortcutModeller.cpp +++ b/shortcuts/CompizShortcutModeller.cpp @@ -68,6 +68,8 @@ namespace const std::string UNITYSHELL_OPTION_LAUNCHER_SWITCHER_FORWARD = "launcher_switcher_forward"; const std::string UNITYSHELL_OPTION_SHOW_HUD = "show_hud"; const std::string UNITYSHELL_OPTION_PANEL_FIRST_MENU = "panel_first_menu"; + const std::string UNITYSHELL_OPTION_SPREAD_APP_WINDOWS = "spread_app_windows"; + const std::string UNITYSHELL_OPTION_SPREAD_APP_WINDOWS_ANYWHERE = "spread_app_windows_anywhere"; const std::string UNITYSHELL_OPTION_ALT_TAB_FORWARD = "alt_tab_forward"; const std::string UNITYSHELL_OPTION_ALT_TAB_FORWARD_ALL = "alt_tab_forward_all"; const std::string UNITYSHELL_OPTION_ALT_TAB_NEXT_WINDOW = "alt_tab_next_window"; @@ -316,6 +318,23 @@ void CompizModeller::AddWindowsHints(std::list<shortcut::AbstractHint::Ptr> &hin } hints.push_back(std::make_shared<shortcut::Hint>(windows, "", "", + (ws_enabled ? + _("Spreads all windows of the focused application in the current workspace.") : + _("Spreads all windows of the focused application.")), + shortcut::OptionType::COMPIZ_KEY, + UNITYSHELL_PLUGIN_NAME, + UNITYSHELL_OPTION_SPREAD_APP_WINDOWS)); + + if (ws_enabled) + { + hints.push_back(std::make_shared<shortcut::Hint>(windows, "", "", + _("Spreads all windows of the focused application in all the workspaces."), + shortcut::OptionType::COMPIZ_KEY, + UNITYSHELL_PLUGIN_NAME, + UNITYSHELL_OPTION_SPREAD_APP_WINDOWS_ANYWHERE)); + } + + hints.push_back(std::make_shared<shortcut::Hint>(windows, "", "", _("Minimises all windows."), shortcut::OptionType::COMPIZ_KEY, CORE_PLUGIN_NAME, diff --git a/tests/MockWindowManager.h b/tests/MockWindowManager.h index f1093d61d..19df0db4c 100644 --- a/tests/MockWindowManager.h +++ b/tests/MockWindowManager.h @@ -101,6 +101,7 @@ class MockWindowManager : public WindowManager MOCK_CONST_METHOD1(GetWindowName, std::string(Window)); MOCK_CONST_METHOD1(IsOnscreenKeyboard, bool(Window)); + MOCK_CONST_METHOD1(GetCachedCursor, Cursor(unsigned int)); MOCK_METHOD1(AddProperties, void(GVariantBuilder*)); }; diff --git a/tests/test-gestures/WindowGestureTargetMock.h b/tests/test-gestures/WindowGestureTargetMock.h index e43bad80c..6d0a1a9f4 100644 --- a/tests/test-gestures/WindowGestureTargetMock.h +++ b/tests/test-gestures/WindowGestureTargetMock.h @@ -32,7 +32,6 @@ class WindowGestureTargetMock : public nux::GestureTarget CompWindowMock *window; std::list<nux::GestureEvent> events_received; - static Cursor fleur_cursor; private: virtual bool Equals(const nux::GestureTarget& other) const { diff --git a/tests/test-gestures/compiz_mock/core/screen.h b/tests/test-gestures/compiz_mock/core/screen.h index 225d41c65..f8dd81058 100644 --- a/tests/test-gestures/compiz_mock/core/screen.h +++ b/tests/test-gestures/compiz_mock/core/screen.h @@ -58,6 +58,7 @@ public: } Cursor invisibleCursor() {return 1;} + Cursor cursorCache(unsigned int) {return 0;} int width_; int height_; diff --git a/tests/test-gestures/test_gestures_main.cpp b/tests/test-gestures/test_gestures_main.cpp index 1d99b8a25..8c863fa40 100644 --- a/tests/test-gestures/test_gestures_main.cpp +++ b/tests/test-gestures/test_gestures_main.cpp @@ -46,7 +46,6 @@ void nux::GestureEvent::Reject() g_gesture_event_reject_count[gesture_id_] + 1; } -Cursor WindowGestureTargetMock::fleur_cursor = 0; std::set<WindowGestureTargetMock*> g_window_target_mocks; int main(int argc, char** argv) diff --git a/tools/unity.cmake b/tools/unity.cmake index 15d036856..bea3ebfee 100755 --- a/tools/unity.cmake +++ b/tools/unity.cmake @@ -1,6 +1,6 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# Copyright (C) 2010 Canonical +# Copyright (C) 2010, 2015 Canonical # # Authors: # Didier Roche <didrocks@ubuntu.com> @@ -182,7 +182,7 @@ if __name__ == '__main__': parser.add_option("--replace", action="store_true", help="Run unity /!\ This is for compatibility with other desktop interfaces and acts the same as running unity without --replace") parser.add_option("--reset", action="store_true", - help="Reset is not supported anymore. Deprecated option") + help="(deprecated: provided for backwards compatibility)") parser.add_option("--reset-icons", action="store_true", help="Reset the default launcher icon.") parser.add_option("-v", "--verbose", action="store_true", @@ -195,8 +195,7 @@ if __name__ == '__main__': sys.exit(reset_to_distro()) if options.reset: - print ("ERROR: the reset option is now deprecated") - sys.exit(1) + print ("The --reset option is deprecated, You should run with no options instead.") if options.reset_icons: reset_launcher_icons () diff --git a/unity-shared/BamfApplicationManager.cpp b/unity-shared/BamfApplicationManager.cpp index 2a16228a7..9a76d2a08 100644 --- a/unity-shared/BamfApplicationManager.cpp +++ b/unity-shared/BamfApplicationManager.cpp @@ -425,8 +425,7 @@ void Application::UpdateWindows() bool was_empty = windows_.empty(); - std::shared_ptr<GList> children(bamf_view_get_children(bamf_view_), g_list_free); - for (GList* l = children.get(); l; l = l->next) + for (GList* l = bamf_view_peek_children(bamf_view_); l; l = l->next) { if (ApplicationWindowPtr const& window = pool::EnsureWindow(manager_, static_cast<BamfView*>(l->data))) { @@ -686,15 +685,15 @@ ApplicationWindowPtr Manager::GetWindowForId(Window xid) const return win_pair.second; } - // TODO: use bamf_matcher_get_window_for_xid + if (BamfWindow* win = bamf_matcher_get_window_for_xid(matcher_, xid)) + return pool::EnsureWindow(*this, reinterpret_cast<BamfView*>(win)); + auto* app = bamf_matcher_get_application_for_xid(matcher_, xid); if (!app) return nullptr; - std::shared_ptr<GList> windows(bamf_view_get_children(reinterpret_cast<BamfView*>(app)), g_list_free); - - for (GList* l = windows.get(); l; l = l->next) + for (GList* l = bamf_view_peek_children(reinterpret_cast<BamfView*>(app)); l; l = l->next) { if (!BAMF_IS_WINDOW(l->data)) continue; diff --git a/unity-shared/GnomeKeyGrabber.cpp b/unity-shared/GnomeKeyGrabber.cpp index 88d49871a..603daa2af 100644 --- a/unity-shared/GnomeKeyGrabber.cpp +++ b/unity-shared/GnomeKeyGrabber.cpp @@ -64,11 +64,6 @@ namespace testing std::string const DBUS_NAME = "com.canonical.Unity.Test.GnomeKeyGrabber"; } -namespace -{ -inline int compiz_event_timestamp(CompOption::Vector& options) { return options[7].value().i(); } -} - GnomeGrabber::Impl::Impl(bool test_mode) : screen_(screen) , shell_server_(test_mode ? testing::DBUS_NAME : shell::DBUS_NAME) @@ -224,7 +219,7 @@ uint32_t GnomeGrabber::Impl::GrabDBusAccelerator(std::string const& owner, std:: action.setState(CompAction::StateInitKey); action.setInitiate([this, action_id](CompAction* action, CompAction::State state, CompOption::Vector& options) { LOG_DEBUG(logger) << "pressed \"" << action->keyToString() << "\""; - ActivateDBusAction(*action, action_id, 0, compiz_event_timestamp(options)); + ActivateDBusAction(*action, action_id, 0, CompOption::getIntOptionNamed(options, "time")); return true; }); } @@ -239,7 +234,7 @@ uint32_t GnomeGrabber::Impl::GrabDBusAccelerator(std::string const& owner, std:: if (state & CompAction::StateTermTapped) { LOG_DEBUG(logger) << "tapped \"" << key << "\""; - ActivateDBusAction(*action, action_id, 0, compiz_event_timestamp(options)); + ActivateDBusAction(*action, action_id, 0, CompOption::getIntOptionNamed(options, "time")); return true; } diff --git a/unity-shared/IMTextEntry.cpp b/unity-shared/IMTextEntry.cpp index c90701f46..41aa16097 100644 --- a/unity-shared/IMTextEntry.cpp +++ b/unity-shared/IMTextEntry.cpp @@ -19,7 +19,9 @@ */ #include "IMTextEntry.h" +#include "WindowManager.h" #include <gtk/gtk.h> +#include <X11/cursorfont.h> namespace unity { @@ -28,7 +30,30 @@ NUX_IMPLEMENT_OBJECT_TYPE(IMTextEntry); IMTextEntry::IMTextEntry() : TextEntry("", NUX_TRACKER_LOCATION) , clipboard_enabled(true) -{} +{ + // Let's override the nux RecvMouse{Enter,Leave} using the hard way + mouse_enter.clear(); + mouse_leave.clear(); + + mouse_enter.connect([this] (int, int, unsigned long, unsigned long) { + auto dpy = nux::GetGraphicsDisplay()->GetX11Display(); + auto window = static_cast<nux::BaseWindow*>(GetTopLevelViewWindow()); + + if (dpy && window) + { + auto cursor = WindowManager::Default().GetCachedCursor(XC_xterm); + XDefineCursor(dpy, window->GetInputWindowId(), cursor); + } + }); + + mouse_leave.connect([this] (int, int, unsigned long, unsigned long) { + auto dpy = nux::GetGraphicsDisplay()->GetX11Display(); + auto window = static_cast<nux::BaseWindow*>(GetTopLevelViewWindow()); + + if (dpy && window) + XUndefineCursor(dpy, window->GetInputWindowId()); + }); +} void IMTextEntry::CopyClipboard() { diff --git a/unity-shared/PluginAdapter.cpp b/unity-shared/PluginAdapter.cpp index 9239b12e7..8e4f0d46d 100644 --- a/unity-shared/PluginAdapter.cpp +++ b/unity-shared/PluginAdapter.cpp @@ -1486,6 +1486,11 @@ void PluginAdapter::OnWindowClosed(CompWindow *w) _last_focused_window = NULL; } +Cursor PluginAdapter::GetCachedCursor(unsigned int cursor_name) const +{ + return screen->cursorCache(cursor_name); +} + void PluginAdapter::UnmapAllNoNuxWindowsSync() { for (auto const& window : m_Screen->windows()) diff --git a/unity-shared/PluginAdapter.h b/unity-shared/PluginAdapter.h index 1c1eb3a2b..3445d27e7 100644 --- a/unity-shared/PluginAdapter.h +++ b/unity-shared/PluginAdapter.h @@ -194,6 +194,8 @@ public: Window GetTopWindowAbove(Window xid) const; + Cursor GetCachedCursor(unsigned int) const; + void UnmapAllNoNuxWindowsSync(); static bool IsNuxWindow(CompWindow* value); diff --git a/unity-shared/StandaloneWindowManager.cpp b/unity-shared/StandaloneWindowManager.cpp index de318c5c1..3e9a63c93 100644 --- a/unity-shared/StandaloneWindowManager.cpp +++ b/unity-shared/StandaloneWindowManager.cpp @@ -742,6 +742,11 @@ std::list<StandaloneWindow::Ptr> StandaloneWindowManager::GetStandaloneWindows() return standalone_windows_; } +Cursor StandaloneWindowManager::GetCachedCursor(unsigned int cursor_name) const +{ + return 0; +} + void StandaloneWindowManager::SetCurrentViewport(nux::Point const& vp) { current_vp_ = vp; diff --git a/unity-shared/StandaloneWindowManager.h b/unity-shared/StandaloneWindowManager.h index ebdf6bbab..295cdfc81 100644 --- a/unity-shared/StandaloneWindowManager.h +++ b/unity-shared/StandaloneWindowManager.h @@ -181,6 +181,8 @@ public: void SetCurrentViewport(nux::Point const& vp); void SetWorkareaGeometry(nux::Geometry const& geo); + Cursor GetCachedCursor(unsigned int cursor_name) const; + void ResetStatus(); protected: diff --git a/unity-shared/WindowManager.h b/unity-shared/WindowManager.h index 9cee0c405..da29a7b39 100644 --- a/unity-shared/WindowManager.h +++ b/unity-shared/WindowManager.h @@ -171,6 +171,8 @@ public: virtual std::string GetStringProperty(Window, Atom) const = 0; virtual std::vector<long> GetCardinalProperty(Window, Atom) const = 0; + virtual Cursor GetCachedCursor(unsigned int cursor_name) const = 0; + virtual void UnmapAllNoNuxWindowsSync() = 0; |
