After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 330152 - should learn from my behavior, to shorten # of keystrokes
should learn from my behavior, to shorten # of keystrokes
Product: deskbar-applet
Classification: Deprecated
Component: general
Other Linux
: Normal enhancement
: ---
Assigned To: Deskbar Applet Maintainer(s)
Deskbar Applet Maintainer(s)
Depends on:
Reported: 2006-02-06 17:53 UTC by Luis Villa
Modified: 2006-02-22 15:04 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Luis Villa 2006-02-06 17:53:42 UTC
The vast majority of the time I use the deskbar applet it is to launch the same 5-6 apps. The applet should learn that when I type 'm', 95% of the time I mean 'muine', and autocomplete faster than it does. (Ditto that 'g' 75% of of the time is 'gedit', etc.) This is what quicksilver does, which means that my mac-using friends can usually launch their favorite apps by typing one letter, once they've used a new box for a few hours. Which is pretty slick, and we should have that :)
Comment 1 Raphael Slinckx 2006-02-06 18:34:25 UTC
Indeed, we must come up with some clever algorithm for it.
Comment 2 Nigel Tao 2006-02-07 07:03:55 UTC
We had a "priority" system around the time of version 0.6ish, where frequently hit matches would bubble up the list, towards the top-most position, which was the the default-action-on-enter.

This didn't work for me, because as the order of things changed, certain actions weren't bankable in my muscle memory as reliably always two down-arrows away, but instead I had to stop every time and examine the popup to see where my result was this particular time around.  Just MHO.  :)

Perhaps we could have a separate Handler which keeps track of and offers popular matches, and Luis could enable it and drag it to the top of his list of Handlers?
Comment 3 Luis Villa 2006-02-07 13:06:40 UTC
<shrug> I can't speak directly to the muscle memory issue, I just know that every time a mac person asks me 'does linux have something like quicksilver' I say 'deskbar', they say 'does it learn my favorites', I say 'no', and the conversation ends quickly thereafter with them spouting off interminably about the patheticness of linux and the superiority of mac. 
Comment 4 Nigel Tao 2006-02-07 21:27:56 UTC
> does linux have something like quicksilver

you say deskbar and not gnome-launch-box?  mmm... moment of smugness.  :)

Another idea (just while I think of it, not saying it's a good one) is to have a preference (yuk) that says

Order results
 (o) Alphabetically
 ( ) by Frequency of Use
Comment 5 Luis Villa 2006-02-07 22:35:14 UTC
One is, you know, 'developed', and the other, you know, 'freezes on startup for me while grabbing my keys'.
Comment 6 Raphael Slinckx 2006-02-07 23:16:18 UTC
I don't want to sound stupid here, but since 2.13.90 we have  new handler called 'History' which does a bit like what you want, it will for show (if prioritized above all other handlers) the matches *in your history* (~favorites) for which the entered string is matching the beginning of the history item.

Let's say you launch 'gedit' -> Execute gedit<enter>
Now try to type 'g' it will show, as first match, the history item 'Execute gedit' since 'gedit' starts with 'g'.

Same for 'evolution --force-shutdown' -> Execute %s
Now type 'e', it will show as first match 'Execute evolution --force-shutdown'.

Is this similar, or should it be more clever than what you want ?
Comment 7 Raphael Slinckx 2006-02-07 23:19:19 UTC
As for nigel comments, for the moment we have no framework for storing 'frequencies' of each used matches (as matches are created dynamically on each query).

In fact we have a similar framwork used to persist matches for the persitant history, and it could be adapted to also be used to store frequencies of matches.

Could be per-handler or globally..but is it really necessary, as nigel pointed out he would probably patch it out, or make it optional..
Comment 8 Luis Villa 2006-02-08 14:05:02 UTC
The history item is rougly what I want, except (1) it should be the default top entry and (2) it doesn't work here; the history entry doesn't appear until I've typed all of 'gedit'; it should appear when I type 'g'. (Ditto muine/m).
Comment 9 Raphael Slinckx 2006-02-08 16:55:26 UTC
Allright i spotted a bug in the code which prevented this expected behavior.
Comment 10 Raphael Slinckx 2006-02-08 18:35:42 UTC
I comitted a fix in CVS.

Is this a sufficienbehavior, or should we count each time an action is used, and put the actions sorted by frequency of use ?
Comment 11 Luis Villa 2006-02-08 20:04:28 UTC
I'd think that in the history mode, most recent and/or most extensive usage (perhaps someone has written up quicksilver's algorithm?) should be the primary algorithm. I guess outside of the history option, whatever you're doing now probably makes sense. Might ask the usability folks, though...
Comment 12 Raphael Slinckx 2006-02-08 23:43:23 UTC
For the moment matches outside history are ordered according to
1. Handler priority defined by the preferences
2. Alphabetic order

Matches inside history are ordered according to:
1. Chronological order

I don't know if quicksilver is open source to see how they do their favorite thing, but i suspect the only way is simply counting the number of time you access each action..
Comment 13 Raphael Slinckx 2006-02-22 15:04:31 UTC
Closing this as it seems to be good enough ;)