A bit more analyses of where E_App caching is needed. Added stub for .order.
SVN revision: 25856
This commit is contained in:
parent
6e12d30138
commit
3cc1775e81
|
@ -232,6 +232,14 @@ SOLUTION:
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
.order files
|
||||||
|
USED BY:
|
||||||
|
WHEN:
|
||||||
|
ISSUES:
|
||||||
|
SOLUTION:
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
E_Apps
|
E_Apps
|
||||||
|
|
||||||
USED BY:
|
USED BY:
|
||||||
|
@ -240,20 +248,50 @@ WHEN:
|
||||||
Currently all read in at startup time. Should change this to an
|
Currently all read in at startup time. Should change this to an
|
||||||
idle time task. Still need to read in them all near startup time
|
idle time task. Still need to read in them all near startup time
|
||||||
though. We need all of them for searching.
|
though. We need all of them for searching.
|
||||||
|
|
||||||
|
a_actions searches for filename, name, generic, and exe to find an
|
||||||
|
app to execute. Updates the most recently used list.
|
||||||
|
|
||||||
|
e_border searches for border and pid to find the border icon. The
|
||||||
|
border search involves searching all E_Apps for win_* and exe that
|
||||||
|
match the app in the border. The pid search involves searching all
|
||||||
|
instances of all E_Apps, looking for a matching pid. Both searches
|
||||||
|
update the most recently used list. None of this is needed for
|
||||||
|
remember stuff.
|
||||||
|
|
||||||
|
e_exebuf searches/lists all apps and most recently used apps based
|
||||||
|
on a partially typed in string. It globs name, exe, generic, and
|
||||||
|
comment. When actually listing the matches, it searches for exe.
|
||||||
|
When showing an icon for the current match, it searches exe, name,
|
||||||
|
then generic. Updates the most recently used list.
|
||||||
|
|
||||||
|
e_zone searches for exe to find a matching E_App when it is
|
||||||
|
executing things. Updates the most recently used list.
|
||||||
|
|
||||||
|
e_int_config_apps shows a sorted list of all apps.
|
||||||
|
|
||||||
|
Everything else loads E_Apps by file name or directory name. Some
|
||||||
|
have .order files.
|
||||||
|
|
||||||
ISSUES:
|
ISSUES:
|
||||||
The current eap caching code is not up to scratch, and the .desktop
|
The current eap caching code is not up to scratch, and the .desktop
|
||||||
conversion didn't help. It does hide some other bugs though, so that
|
conversion didn't help. It does hide some other bugs though, so that
|
||||||
needs to be cleaned up first.
|
needs to be cleaned up first.
|
||||||
|
|
||||||
We need quick sorted access to all Apps on the system. Things like
|
|
||||||
menus and bars need quick access to the ones in their .order files.
|
|
||||||
As mentioned above, we need quick searching of them all.
|
|
||||||
SOLUTION:
|
SOLUTION:
|
||||||
Nuke the existing cache code. Replace with...
|
Start by putting all filenames in ~/.e/e/applications/all in a hash
|
||||||
|
with "empty" E_Apps. Fill the "empty" E_Apps during idle time, also
|
||||||
|
as needed. Everytime a new .desktop file is created, add it to the
|
||||||
|
hash and put it in the directory.
|
||||||
|
|
||||||
Hash of filenames that contains the E_App structures, alphabetically
|
The most recently used list can be built from whatever gets used, it
|
||||||
sorted list (Ecore_Sheap?) of human visible names that contains the
|
will actually speed things up if it does not contain everything, as
|
||||||
filenames. Fill them during idle time, also as needed, and finish
|
it is usually a linear search.
|
||||||
it async when exebuf starts up. Later we shall see if an on disk
|
|
||||||
copy is needed.
|
|
||||||
|
|
||||||
|
Executing an app can probably afford to use a slow search. Border
|
||||||
|
icons could make use of bouncy icon thumbnailing. e_int_config_apps
|
||||||
|
can just show ~/.e/e/applications/all, but e_fm will need to know to
|
||||||
|
sort based on visible name. e_exebuf can also use bouncy icon
|
||||||
|
thumbnailing, but may need more speedups for its globbing.
|
||||||
|
|
||||||
|
Later we shall see if an on disk copy is needed.
|
||||||
|
|
Loading…
Reference in New Issue