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 598111 - typing too quickly results in the wrong application being launched
typing too quickly results in the wrong application being launched
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2009-10-11 20:53 UTC by Allison Karlitskaya (desrt)
Modified: 2009-10-13 20:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
[search] Finish queued search on Return (5.55 KB, patch)
2009-10-13 18:20 UTC, Colin Walters
none Details | Review
[search] Finish queued search on Return (5.63 KB, patch)
2009-10-13 18:23 UTC, Colin Walters
committed Details | Review

Description Allison Karlitskaya (desrt) 2009-10-11 20:53:24 UTC
it's really nice to be able to launch a terminal by typing <super>term<enter>.

gnome-shell does a non-blocking incremental search as i type in each letter of t - e - r - m.

the problem is that the <enter> keypress takes effect immediately, so sometimes you get unlucky:

"te" matches brasero as the first result
"ter" matches "character map"
"term" gives gnome-terminal

so i i type quickly, sometimes only "te" has been fully incrmentally-searched by the time i press enter and then (even though the text box says "term") i get brasero launched.

<enter> should ensure that no search is still in-progress before launching the app.
Comment 1 Colin Walters 2009-10-13 18:20:42 UTC
=> RESOLVED BREAKUSERFINGERS
Comment 2 Colin Walters 2009-10-13 18:20:56 UTC
Created attachment 145369 [details] [review]
[search] Finish queued search on Return

If we had a pending search processing, finish it when the user
activates the entry.

This is a small conceptual change; the large diff is simply
moving the search implementation (unedited otherwise) from
an anonymous inline to a named function so it can be called
sanely in _activate.
Comment 3 Colin Walters 2009-10-13 18:23:29 UTC
Created attachment 145371 [details] [review]
[search] Finish queued search on Return

If we had a pending search processing, finish it when the user
activates the entry.

This is a small conceptual change; the large diff is simply
moving the search implementation (unedited otherwise) from
an anonymous inline to a named function so it can be called
sanely in _activate.
Comment 4 Dan Winship 2009-10-13 19:19:08 UTC
Review of attachment 145371 [details] [review]:

looks good other than:

::: js/ui/dash.js
@@ +646,3 @@
         this._searchEntry.entry.connect('activate', Lang.bind(this, function (se) {
+            if (this._searchTimeoutId > 0) {
+                Mainloop.source_remove(this._searchTiemoutId);

typo ("Tiemout")
Comment 5 Colin Walters 2009-10-13 20:57:58 UTC
Attachment 145371 [details] pushed as d1bdd6f - [search] Finish queued search on Return