On Fri, May 4, 2012 at 9:35 PM, Jasper St. Pierre <jstpie...@mecheye.net> wrote: > On Fri, May 4, 2012 at 7:24 AM, Tim Cuthbertson <t...@gfxmonk.net> wrote: >> I've been trying to figure this out for a while, and it seems like it >> can't be done. >> >> 1) I have got symbolic icons working in a shell extension panel >> button, but *only* by setting the icon_name property on a St.Icon, >> which requires icons be installed in a system location. >> >> 2) If I want to use an icon contained in my extension's folder, I have >> to create a GIcon based on that path, and then assign it to the >> St.Icon's `gicon` property. >> >> It seems I can't have both. Am I missing something? There doesn't seem >> to be a way to construct a symbolic FileIcon, nor a way to >> programmatically add my extension's icon location to the system icon >> lookup-by-name mechanism. Surely it must be possible, can anyone help? > > A symbolic icon isn't anything magical. It's just an SVG with > replaceable colors.
As an aside, the documentation on what a symbolic icon actually needs to be is either nonexistent or far too hard to find. The only way I found to possibly get it working was to use the scripts & svg source in the gnome-icon-theme-symbolic projects, which does little to promote their status as "not magic" ;) > If you use St.Icon with a FileIcon, it should just > work, assuming the file exists. All St.IconType.SYMBOLIC will try to > do will be to append '-symbolic' to parts of the icon. We should > probably scrap that code at some point - it was put in so we would > have full-color fallbacks when not all of the symbolic icons were > created yet, and those days are long gone :) I did try that, and it didn't work. Or, at least, it didn't work as I expected. Perhaps it's beyond the scope of just symbolic icons, but when I loaded a GIcon from a file, it didn't get properly styled by the shell (including rollover effect in the panel). When I use the exact same icons and load them by name after adding them to $XDG_DATA_DIRS, they got styled correctly including hover effects. I even dove into the ST sources, as I can't find any docs. The comments for the st_texture_cache_load_gicon function mention that: * This will load @icon as a full-color icon; if you want a symbolic * icon, you must use st_texture_cache_load_icon_name(). Which seems to back up what I'm seeing. For now, I've done this, but it seems like a pretty bad (and unobvious) solution, not even sure if it will be allowed past an extension review: https://github.com/gfxmonk/shellshape/blob/master/shellshape/indicator.js#L14 _______________________________________________ gnome-shell-list mailing list gnome-shell-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-shell-list