Merge lp://staging/~fboucault/unity-2d/nautilus_window_instead_of_wallpaper into lp://staging/unity-2d

Proposed by Florian Boucault
Status: Work in progress
Proposed branch: lp://staging/~fboucault/unity-2d/nautilus_window_instead_of_wallpaper
Merge into: lp://staging/unity-2d
Diff against target: 375 lines (+219/-26)
10 files modified
libunity-2d-private/Unity2d/plugin.cpp (+3/-0)
libunity-2d-private/src/CMakeLists.txt (+1/-0)
libunity-2d-private/src/rootwindowinfo.cpp (+121/-0)
libunity-2d-private/src/rootwindowinfo.h (+57/-0)
libunity-2d-private/src/unity2ddeclarativeview.cpp (+11/-0)
libunity-2d-private/src/unity2ddeclarativeview.h (+4/-0)
places/app/dashdeclarativeview.cpp (+1/-1)
spread/Workspace.qml (+21/-10)
spread/app/spreadview.cpp (+0/-12)
spread/app/spreadview.h (+0/-3)
To merge this branch: bzr merge lp://staging/~fboucault/unity-2d/nautilus_window_instead_of_wallpaper
Reviewer Review Type Date Requested Status
Gerry Boland (community) Approve
Florian Boucault (community) Needs Fixing
Review via email: mp+86170@code.staging.launchpad.net

Description of the change

[workspace switcher] Draw Nautilus desktop window's screenshot instead of loading the GNOME wallpaper.

Greatly improves startup speed therefore contributing to fixing https://bugs.launchpad.net/unity-2d/+bug/745764

The following changes were necessary to have the desktop window screenshot taken only when necessary:
- Defined new 'visible' property on Unity2dDeclarativeView.
- Cleaned up descendant classes handling of hideEvent and showEvent.

To post a comment you must log in.
Revision history for this message
Florian Boucault (fboucault) wrote :

Do not merge yet as the screenshoting of Nautilus is done as many times as we have desktops (taking in average 35ms on my laptop).

Revision history for this message
Florian Boucault (fboucault) :
review: Needs Fixing
Revision history for this message
Florian Boucault (fboucault) wrote :

https://bugs.launchpad.net/unity-2d/+bug/900019 should also be fixed with this MR

Revision history for this message
Florian Boucault (fboucault) wrote :

> Do not merge yet as the screenshoting of Nautilus is done as many times as we
> have desktops (taking in average 35ms on my laptop).

A cache based on timestamp should solve that.

832. By Andrea Cimitan

Some fixes to dash layout, especially on the filters pane. Fixes: https://bugs.launchpad.net/bugs/906235. Appoved by .

833. By Albert Astals Cid

[launcher] Move the RMB menu from clicked to pressed

Fixes LP bug #813036
. Fixes: https://bugs.launchpad.net/bugs/813036. Appoved by Lohith D Shivamurthy.

834. By Tiago Salem Herrmann

This merge request intends to fix lp:838708, making BFB behavior and visual match the design.. Fixes: https://bugs.launchpad.net/bugs/838708. Appoved by Lohith D Shivamurthy.

835. By Gerry Boland

[tests] Update visual asset of BFB - UNBLOCK. Fixes: . Appoved by .

836. By Albert Astals Cid

Use QScopedPointers to properly delete the lists returned from qtbamf. Fixes: . Appoved by .

837. By Albert Astals Cid

Reset window to NULL if it's not the one we are looking for

Otherwise in case we don't find the one with the xid we want the function returns the pointer of the last window of the list
. Fixes: . Appoved by .

838. By Albert Astals Cid

Do not invoke m_application->windows() multiple times

Two reasons for that:
 * the result of m_application->windows() needs to be deleted and if we call it in the for loop we can't
 * The size of the list itself can change (and more critically shrink) between calls ending up in a call to an invalid index (Bug 854634)
. Fixes: https://bugs.launchpad.net/bugs/854634. Appoved by Gerry Boland, Lohith D Shivamurthy.

839. By Tiago Salem Herrmann

The request to open the command lens (alt+f2) happens before the list of available lenses is properly populated when unity-2d-places is started by a dbus call.
This patch adds a simple "queue" that checks if the requested queue is available everytime a new lens is added to the "lenses" variable. Fixes: https://bugs.launchpad.net/bugs/883392. Appoved by Gerry Boland, Lohith D Shivamurthy.

840. By Michał Sawicz

[debian] package debug symbols. Fixes: . Appoved by Gerry Boland.

841. By Tiago Salem Herrmann

[dash] Remove underline from "Filter results" when it is highlighted. Fixes: https://bugs.launchpad.net/bugs/893061. Appoved by Gerry Boland.

842. By Gerry Boland

[test] [xdo] Ensure WM controls work by checking metacity's settings. Fixes: . Appoved by Lohith D Shivamurthy.

843. By Gerry Boland

[test] Fix Xdo to properly send function keys and re-enable Alt+F1 focus test. Fixes: . Appoved by Lohith D Shivamurthy.

844. By Didier Roche-Tolomelli

Dummy commit to rebuild against latest libunity and unity packaging
(libunity ABI bump) UNBLOCK. Fixes: . Appoved by Aurélien Gâteau.

845. By Aurélien Gâteau

* debian/control:
  - bump build-dep versions.

846. By Aurélien Gâteau

releasing version 5.2.0-0ubuntu1

847. By Didier Roche-Tolomelli

post-changelog edit

848. By Didier Roche-Tolomelli

remove TODO

849. By Albert Astals Cid

[test] Check that F1 toggles the launcher and brings the focus to the previous active window
. Fixes: . Appoved by Gerry Boland.

850. By Albert Astals Cid

[test] Check that showing the desktop shows also the launcher
. Fixes: . Appoved by .

851. By Gerry Boland

Rewrite launcher autohide_show_tests to use the verify* methods. Also add TmpWindow class manage creating and closing windows needed for tests.

Replacing the assert* with verify* methods mean we can remove the arbitrary sleep times, which means the test suite will run more smoothly (and faster!). The TmpWindow class provides book-keeping so that all created windows can be closed by the test teardown method, so that one failed test won't cause other tests to fail.. Fixes: . Appoved by Albert Astals Cid.

852. By Albert Astals Cid

Do not use "" to assign to QStrings, use QString() instead that is much faster or do not do nothing if they were just declared. Fixes: . Appoved by .

853. By Albert Astals Cid

Add some const &

It is true that those classes are refcounted so the win is not huge, but there's no reason not to save some locks in some atomic integers used for the ref/unrefing. Fixes: . Appoved by Gerry Boland.

854. By Albert Astals Cid

Add two more files to .bzrignore. Fixes: . Appoved by Gerry Boland.

855. By Albert Astals Cid

Wait for the Quit event to be delivered before really quitting

I think this is a problem either in Qt or in gnome-session, but we can "easily" workaround it ourselves, and could not find how to fix it "properly" so this seems like an acceptable workaround to me.. Fixes: https://bugs.launchpad.net/bugs/812104. Appoved by Gerry Boland.

856. By Albert Astals Cid

[test] Small improvements to autohide tests regarding timing on mouse moves
. Fixes: . Appoved by Gerry Boland.

857. By Albert Astals Cid

Remove Places related code as it is not used anymore. Fixes: . Appoved by Gerry Boland.

858. By Albert Astals Cid

[test] Check that the launcher is around for 1 second after removing an application tile
. Fixes: . Appoved by Michał Sawicz.

859. By Florian Boucault

Defined new 'visible' property on Unity2dDeclarativeView.
Cleaned up descendant classes handling of hideEvent and showEvent.

860. By Florian Boucault

[workspace switcher] Draw Nautilus desktop window's screenshot instead of loading the GNOME wallpaper.

861. By Florian Boucault

Added FIXME.

862. By Florian Boucault

Merged lp:unity-2d

863. By Florian Boucault

Fixes bug #900019

Revision history for this message
Gerry Boland (gerboland) wrote :

This improves the Spread visuals a lot.

It looks less good on multimonitor (the whole desktop of all screens is squeezed into each desktop), but as spread requires lots of MM work, I will accept this.

review: Approve
Revision history for this message
Florian Boucault (fboucault) wrote :

Thanks Gerry. There is still work to do on this MR though, work highlighted above. In summary:
* FIXME: Nautilus' window pixmap is reloaded as many times as there is workspaces
* writing automated tests:
  - make sure nautilus' pixmap is loaded only once
  - make sure nautilus XID retrieval works

Revision history for this message
Florian Boucault (fboucault) wrote :

> This improves the Spread visuals a lot.
>
> It looks less good on multimonitor (the whole desktop of all screens is
> squeezed into each desktop), but as spread requires lots of MM work, I will
> accept this.

Can you post a screenshot of what you described here. I sense that this is not acceptable as it would be a regression of what we currently have.

Revision history for this message
Gerry Boland (gerboland) wrote :

MM Screengrab: https://imgur.com/I4OVY

Yes it is a regression of what we have right now.

Since you plan to continue working on this branch, can you please mark it as Work in Progress until it's ready for review again?

Unmerged revisions

863. By Florian Boucault

Fixes bug #900019

862. By Florian Boucault

Merged lp:unity-2d

861. By Florian Boucault

Added FIXME.

860. By Florian Boucault

[workspace switcher] Draw Nautilus desktop window's screenshot instead of loading the GNOME wallpaper.

859. By Florian Boucault

Defined new 'visible' property on Unity2dDeclarativeView.
Cleaned up descendant classes handling of hideEvent and showEvent.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches