← Back to team overview

ubuntu-appstore-developers team mailing list archive

Re: icon files in click packages

 

Le 06/09/2013 05:10, Ted Gould a écrit :
On Thu, 2013-09-05 at 19:19 +0200, David Barth wrote:

(sorry if this has been asked before, i couldn't see it in the archive)

Is there a plan for click to install icon files into
~/.local/share/icons (the same way it deals with .desktop files)?

Or if it's not considered OK, what would be the recommended way for apps
to place and lookup icons contained in the click package installation dir?

I don't think we have a good answer here.  When Colin and I were
comparing desktop hooks we even handled the application icon slightly
differently.  I handled it like a name, and didn't adjust it any, and he
handled it like a file and added the path.  His way doesn't allow for
multiple sizes, and my way probably breaks common usage.  I don't think
we've properly closed that issue.

I worry about installing icons in a common directory just because those
icons would be loaded by another process.  I think most applications
would be better off just having their icons, themed or any other way,
included in their click package and loading that into their
application's icon search paths.  They should be able to know the base
package directory by looking at the current working directory on
startup.

Which brings up an interesting attack possibility.  An application with
a corrupted application icon that gets loaded directly by Unity.  You
wouldn't even need to have the app installed as browsing through the
click scope would be enough.  Most icon loaders should be pretty robust
by now...

Thanks Ted et al. for your answers.

To clarify, I was asking multiple questions and here is what I understand from this thread.

1. Icon/assets used /inside/ the packaged applications.

Here the recommendation is to program the icon search path to include the current directory, as set by the apparmor/upstart launcher process. The rest is application and toolkit specific at this stage.

I guess the Ubuntu app templates should include that at some stage. Similarly the webapp containers (webbrowser-app, unity-webapps-qml and consorts) should set that by default.

2. For the icon(s) representing the application in the shell / store / etc.

Here, the XDG standard is considered, but no definitive design has been decided, nor is there an implementation yet. Where the icon(s) will be published and by which components (click, store client, etc.) is still up for discussion.

David


References