On Wed, 2010-07-21 at 22:33 -0700, Jon Cruz wrote:
$XDG_CACHE_HOME defines the base directory relative to which user specific non-essential data files should be stored. If $XDG_CACHE_HOME is either not set or empty, a default equal to $HOME/.cache should be used
Given that usability is a main consideration, adding perhaps 10 seconds to the very first time you run a newly installed program sounds like a very reasonable trade-off. We just need to store the details used to generate the current set of icons so that we can regenerate them as needed. Each time the user switches themes, changes displays, or other such pertinent events occur, we can flag it as invalid and recalc. We can even leave the last few in place to avoid regenerating too often.
BTW, this can be especially important for upcoming GNOME themes and stuff with GTK 3, etc.
It's all very simple. We just need to be sure the proper testing is done to make sure people don't accidentally break themeability as has happened in the past. (I'd prefer to spend my time writing new code, not repeatedly unbreaking existing code)
This definitely sounds like a smart approach. It will allow people to still use custom themes and whatever size they choose and they only get the initial punishment while retaining freedom. Is a check also included for the first time the version is bumped (since it's the most likely time icons will actually change)?
Cheers, Josh