summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDavid Walter Seikel <onefang@gmail.com>2006-09-22 11:23:21 +0000
committerDavid Walter Seikel <onefang@gmail.com>2006-09-22 11:23:21 +0000
commit7aa7a741eebc1df43e95573d12a328d8f123df5f (patch)
tree386f4a7998295447cf2685a2397890fe792ae308 /doc
parentf13f7826892278056096b514717f3dd5abfdebb6 (diff)
downloadenlightenment-7aa7a741eebc1df43e95573d12a328d8f123df5f.tar.gz
More ideas for icon caching.
SVN revision: 26024
Diffstat (limited to 'doc')
-rw-r--r--doc/cache.txt25
1 files changed, 18 insertions, 7 deletions
diff --git a/doc/cache.txt b/doc/cache.txt
index 77e30715f8..25c71e17b4 100644
--- a/doc/cache.txt
+++ b/doc/cache.txt
@@ -183,8 +183,9 @@ ISSUES:
It's the complete list of themes that are currently installed that can
take ages to find. The list itself should also be small.
SOLUTION:
- Find them during idle time, and finish the job async when the dialog is
- started. Monitor the icon paths for the installation of new themes.
+ Find them during idle time, and finish the job async when the dialog
+ is started. Monitor the icon paths for the installation of new
+ themes. Keep them all in a hash.
-----------------------------------------------------------------------
@@ -197,18 +198,28 @@ WHEN:
ISSUES:
Combined .edj and FDO searching. FDO searching can take a long time.
Things that display lots of icons wont want to wait for all those
- complex searches.
+ complex searches. Searching for icons that don't exist is what
+ takes the longest, as the FDO algo means we have to look through all
+ the directories, in this theme, and the next theme.
SOLUTION:
e_app_icon_add() should be used everywhere, and it should register a
rectangle for use by the icon. The caller then shows an empty icon.
A thumbnailing style process then does all the searching, and does
- the fm2 bouncy icon thing when the icon is found.
-
+ the fm2 bouncy icon thing when the icon is found. raster forbids
+ this method.
+
The results of the search should be cached somewhere on disk for
future reference. That needs to be nuked when the user changes
icon theme. Changing the icon theme currently does not update all
- displayed icons. The X-Enlightenment-IconPath field of the .desktop
- file could be used for the on disk cache.
+ displayed icons, it just does a restart like wm theme changing does.
+ The X-Enlightenment-IconPath field of the .desktop file could be
+ used for the on disk cache. X-Enlightenment-Icon-Theme and
+ X-Enlightenment-Icon-TimeStamp can be used to determine if the icon
+ path stored on disk is out of date, or in a different theme. An
+ idle task can go through all the .desktops in
+ ~/.e/e/applications/all and check if the icons need updating. The
+ spec allows caching of dirs, and we can monitor just the top level
+ icon theme directory.
-----------------------------------------------------------------------