← Back to team overview

unity-dev team mailing list archive

[Ayatana-dev] Home lens status update

 

Hey all,

Been hacking frantically to get the HomeLens class in UnityCore working smoothly, and I think I am just about there. I'll just add a few more tests and it's ready for mp. If you wanna peek you need all the branches from: https://bugs.launchpad.net/ubuntu/+source/unity/+bug/885738 (where you can also find a screenshot https://launchpadlibrarian.net/90419671/Screenshot_Unity_HomeLens.png)

NOTE: Currently I implemented in a way that require an ABI break in libunity-core (but not API break).

The way it is going to work is to allow lenses to put up arbitrary categories in the global results. Before this lenses were shoehorned into one category. Then we (we=mhr3 and me) will make sure the default lenses behave as they should.

Under the hood HomeLens is a smart Lens subclass in libunity-core (shared by u3d and u2d) that merges all global results and categories on the fly and expose it as one bog standard Lens instance. I am telling you that this is a *lot* more complicated than it sounds :-). But rest assured that it's easy to consume in Unity3/2d.

To make sure we get a sane layout I've implemented a way to control the overall sorting on the home screen in a gsettings key. After we've landed the home-lenses branch I'll look into sorting the dash lens-bar icons by the same rules (they are currently rather arbitrarily sorted alphabetically, without possibility for user overrides).

I am pretty excited about all of this because a) it empowers users and lens authors to customize the home screen, yet keeping it slick and unity-styled, and b) it allows OEMs or thin clients providers to do the same.

But basically everything is working nicely. Except for the first item below I am about ready to merge-propose. Todo:

- Add a few more tests cases to the rather complex HomeLens class

- Music lens to collate results into one category (wip by mhr3)

- Recent Apps doesn't filter out running apps that are not favorites (wip by mhr3, blocking on bamf merge queue)

- Unity2d enablement (should be easy, by design of the HomeLens class). I can do this unless someone beats me to it

Good weekend all!

Cheers,
Mikkel



Follow ups