← Back to team overview

unity-design team mailing list archive

Re: The Unity launcher window matching policy

 

On Wed, 2011-01-19 at 09:10 -0200, Conscious User wrote:
> Hello,

Back at ya!

> 
> I was thinking about filing a bug (perhaps multiple, per-app
> bugs) to track all applications in the Ubuntu repositories
> (or at least all applications in a default install) whose
> windows are not being currently correctly matched to a
> .desktop file in the Unity launcher, causing ugly icons and
> inability to pin to the dock.
> 

Yeah I hate that! If you are noting an inability to pin to the dock I am
guessing you are still using the old unity (new unity hides this but
still suffers). Newer bamf does better but I bet some/most of the
matching failures still exist.

> Some examples: policykit, bluetooth-wizard, evolution-backup...

Looking into all 3 of these today.

> 
> But I can't do that accurately without knowing the exact policy
> for window matching that the launcher is using. Jason, is it
> doing exactly the same as Docky (looking for .desktop files
> according to the window class and using StartupWMClass for
> corner cases like Java apps, iirc) I wanted to post in every
> report the exact procedure to fix.

The basic rundown works like this. There are two forms of matching
inside of bamf, we refer to them informally as primary and secondary
matching. Primary matching is when we essentially have a hard lock on
exactly what the .desktop file is due to be informed via dbus (gio sends
a dbus signal on launch). 90% of all launched applications will go
through this process, and provided there is no short lived shell script
used to launch, the matching works fine.

In the case where primary matching fails, the fallback is a very close
port of the ideas found in Docky for matching. The matching work
sometimes is more accurate or less accurate than docky, depending on the
case. Many of the application/java specific hacks have been removed in
hopes of finding a more permanent solution.

> 
> I was originally going to post this in the ayatana-dev list,
> but this can raise some conceptual issues (ex: should all
> windows be pinnable?)

Here is fine.

> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~ayatana
> Post to     : ayatana@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ayatana
> More help   : https://help.launchpad.net/ListHelp

-- 
Jason Smith | Desktop Experience Team
GNOME Developer
Canonical USA Inc.
T. +1.248.756.6266 | jason.smith@xxxxxxxxxxxxx
Ubuntu - Linux for human beings | www.ubuntu.com




References