Go to file
Colin Walters cc2d3fd56d Major rework of application data structures and caching
Before, we looked up application data in several ways; the ShellAppSystem
exported just application ids (though it parsed the .desktop files internally),
and we'd create a Gio.DesktopAppInfo object (reparsing the desktop file again),
wrapping that inside a JavaScript AppInfo class, and finally the AppDisplay
would again parse the .desktop file to get the categories.

Also, to look up applications by id previously, we traversed the entire
menu structure each time.

Some qualities such as the NoDisplay flag were not easily exposed in the old
system.  And if we wanted to expose them we'd have to change several different
application information wrapper classes.

All in all, it was quite suboptimal.

The theme of this new code is basically "just use libgnome-menus".  We do
not call into Gio for app lookups anymore.  The new Shell.AppInfo class
is a disguised pointer for the GMenuTreeEntry item.

To fix the caching, we keep a simple hash table of desktop id -> ShellAppInfo.
2009-07-08 11:33:47 -04:00
.settings Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
data Add GConf schemas for sidebar prefs, and use those prefs from sidebar.js 2009-07-06 11:55:17 -04:00
js Major rework of application data structures and caching 2009-07-08 11:33:47 -04:00
src Major rework of application data structures and caching 2009-07-08 11:33:47 -04:00
tools/build SuSE needs xorg-x11-proto-devel for X11 screen saver extension header 2009-07-02 00:37:05 +02:00
.gitignore Add a built-in screencast recording facility 2009-03-20 16:53:50 -04:00
.project Convert all JS style to be uniform, add Eclipse settings bits 2008-11-28 20:12:20 +00:00
AUTHORS Initial commit 2008-10-31 04:22:44 +00:00
autogen.sh Don't use bash syntax pointlessly. Fixes this to work under real /bin/sh. 2009-04-07 09:37:29 -04:00
configure.ac Major rework of application data structures and caching 2009-07-08 11:33:47 -04:00
COPYING Initial commit 2008-10-31 04:22:44 +00:00
MAINTAINERS Initial commit 2008-10-31 04:22:44 +00:00
Makefile.am Make "make distcheck" work, and verify that we're disting all the javascript 2009-03-12 10:04:25 -04:00
README Initial commit 2008-10-31 04:22:44 +00:00