[gnome-shell] Make Escape key close More... modes before closing



commit 8b1f7322286d1d6a9911ffd1d5d41cface579e62
Author: Colin Walters <walters verbum org>
Date:   Fri Mar 6 13:06:39 2009 -0500

    Make Escape key close More... modes before closing overlay entirely
    
    This matches what I'd expect at least.
---
 js/ui/overlay.js |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/js/ui/overlay.js b/js/ui/overlay.js
index 2cb3aa3..ce1294a 100644
--- a/js/ui/overlay.js
+++ b/js/ui/overlay.js
@@ -146,11 +146,18 @@ Sideshow.prototype = {
         this._searchEntry.connect('key-press-event', function (se, e) {
             let symbol = Shell.get_event_key_symbol(e);
             if (symbol == Clutter.Escape) {
-                // A single escape clears the entry, two of them hides the overlay
-                if (me._searchEntry.text == '')
-                    me.emit('activated');
-                else
+                // Escape will keep clearing things back to the desktop.  First, if
+                // we have active text, we remove it.
+                if (me._searchEntry.text != '')
                     me._searchEntry.text = '';
+                // Next, if we're in one of the "more" modes, close it
+                else if (me._moreAppsMode)
+                    me._unsetMoreAppsMode();
+                else if (me._moreDocsMode)
+                    me._unsetMoreDocsMode();
+                else
+                // Finally, just close the overlay entirely
+                    me.emit('activated');
                 return true;
             } else if (symbol == Clutter.Up) {
                 // selectUp and selectDown wrap around in their respective displays



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]