Re: PROPOSAL: GNOME Volume Manager for GNOME 2.8



On Thu, 2004-06-24 at 14:52 +0100, Alan Cox wrote:
> a.	That themes should simply be shipped packed

It's cool that you're working on this. You're probably right about
themes being shipped packed for maximum efficiency but the spec is
active today and can't really be changed. 

Well it could be, but we have to get serious about backwards compat at
*some* point, there are icon themes deployed in the wild today.

Let's assume it is decided that it'd be good to use this program to pack
icon themes. What do we do? We could:

1)  Introduce a new version of the spec that includes an optional (ie
not guaranteed to be present) tool called icon-theme-setup, and packages
that include icon themes should do:

if which icon-theme-setup &>/dev/null; then
	icon-theme-setup $PATH_TO_THEME
fi

or the equivalent, which packs the theme into a cache file and maybe
something else/more in future. Implementations like GTK can then check
first for the cache, and if not present fall back to the current code
path.

This means you double the disk space requirements of the icon theme
though.


2) Do like above but have the icon-theme-setup program delete the icons
as they are packed. Breaks package manager file tracking.


3) Introduce a new icon theme format and ship themes packed - that
requires you to have an up to date desktop otherwise some themes will
just mysteriously not work, and is equivalent to scrapping the current
spec. Not Good. Inventing specs then abandoning them months later is
arguably the same as breaking backwards compatibility in that spec.


4) Just cache the icon metadata then mmap each icon in use separately.
Sizes for 32x32 icons seem to always be <4k, largest size of 192x192
tends to be ~20k. SVG icons seem to be quite small (<4k) too. I have no
idea what the kernel/performance implications are of lots of tiny mmaped
files but at least this way you save on disk space (a bigger issue than
you may think especially for people trying linux out on a small
partition/spare disk).


thanks -mike




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]