It's 8 in the morning here, and I've been awake since some vague time way back in yesterday. I may be rambling. I also have no idea what I'm talking about, since I have not looked at the code or the design.
On Fri, 23 Sep 2005 23:40:14 +0200 Gabriel Rossetti <[EMAIL PROTECTED]> wrote: > Can't you just cache the eaps that need to be visible? I doubt that he > has hundreds of eaps in his ibar/engage. As I said, to get e17 to start up quickly again, I cut it down to the 40 odd eaps that I use on a regular basis, and start everything else from the command line, living without icons for those. Most of those 40 live in the menu, only a dozen are in engage. > and load the others if they are needed later on? 10 times out of 9 we > use programs that are in our menu/ibar/engage first, > that's why we put them there in the first place. Good point, which suggest a three level approach. At start up load those used by ibar, engage, and first level favourite menu. Load other menus as they are accessed (most menus will have few enough to make this quick), or as a background process after handing control to the user. Most of the time apps will be started via ibar/engage/menus, so they will be loaded before they are needed, even if it just before (I love 'just in time' code). Only loading the first level menu at startup also caters for the time when all 4000 eaps have already been spread around several levels of menus. The second level is to track often used apps, what "favourites" usually means in other window managers/OS's. Recent versions of KDE let the user choose between most recently used, and most often used. Nothing stopping us from doing both, stick them in a menu or two. Once they are in a menu, the eaps get loaded according to first level rules. Before they get to the menus, they are loaded according to third level rules. Which brings us to the third level, a low priority task that checks through all other eaps, caching the meta data and pointers to the original eap, checking that this cache matches current reality, updating when the eaps get changed, etc. In other words, Rastermans new idea, but it only applies to eaps that are hardly ever used, or that where newly created a few minutes ago. The beauty here is that the horrid 'scan several thousand files and cache them' process is both low level background, and not needed most of the time. The second level makes e17 customise itself based on your actual usage. Visible ibar/engage/menu icons get loaded quickly, sometimes just before they are needed. The only time you get a long delay is when you start an app that you have not started before, AND has not been processed by the third level task, in which case the delayed thing is providing a tiny little icon in the corner of the window. Oh yeah, and the same icon on your engage task bar, which will be a big blue question mark until the icon is found. I suspect that this will not happen often, and should never happen a few minutes after the thousands of eaps are created in the first place, as the background task will have caught up by then and the cache will be correct. Fresh e17 installs will distract the user with all this new, fancy, gee wizz stuff that is accessed from ibar/engage/menus, that by the time they get around to trying to access third level eaps, the background task has completed B-). Create icon from the window menu may have to to display a "you have 4000 of apps installed, and I have only processed 1234, 1235, 1236" progress bar for a minute or two. Everybody is happy, e17 gets a reputation for being fast, pretty, and intelligent, Winblows dies a the horrible death that it deserves, and we all get paid huge sums of money to develop e18. Over to you lot, pick holes in these ramblings. -- Stuff I have no control over could be added after this line. Send instant messages to your online friends http://au.messenger.yahoo.com ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
