From 08d2e617e1d76697e23c7b0061da9bfd5720f556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 18 Feb 2015 02:52:07 +0100 Subject: [PATCH] windowManager: Take over m keybinding to toggle calendar It's where all the fun is happening nowadays ... https://bugzilla.gnome.org/show_bug.cgi?id=744850 --- data/50-gnome-shell-system.xml.in | 2 +- js/ui/messageTray.js | 7 ------- js/ui/panel.js | 13 ++++++++++--- js/ui/windowManager.js | 11 +++++++++++ 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/data/50-gnome-shell-system.xml.in b/data/50-gnome-shell-system.xml.in index 3e8c6f847..60f456c8d 100644 --- a/data/50-gnome-shell-system.xml.in +++ b/data/50-gnome-shell-system.xml.in @@ -6,7 +6,7 @@ package="gnome-shell"> + _description="Show the message list"/> diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 012972c51..8a8594471 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1703,13 +1703,6 @@ const MessageTray = new Lang.Class({ Main.sessionMode.connect('updated', Lang.bind(this, this._sessionUpdated)); - Main.wm.addKeybinding('toggle-message-tray', - new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }), - Meta.KeyBindingFlags.NONE, - Shell.ActionMode.NORMAL | - Shell.ActionMode.MESSAGE_TRAY | - Shell.ActionMode.OVERVIEW, - Lang.bind(this, this.toggleAndNavigate)); Main.wm.addKeybinding('focus-active-notification', new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }), Meta.KeyBindingFlags.NONE, diff --git a/js/ui/panel.js b/js/ui/panel.js index df67e2bf1..6e4fee3ea 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -877,9 +877,8 @@ const Panel = new Lang.Class({ return Clutter.EVENT_STOP; }, - toggleAppMenu: function() { - let indicator = this.statusArea.appMenu; - if (!indicator) // appMenu not supported by current session mode + _toggleMenu: function(indicator) { + if (!indicator) // menu not supported by current session mode return; let menu = indicator.menu; @@ -891,6 +890,14 @@ const Panel = new Lang.Class({ menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); }, + toggleAppMenu: function() { + this._toggleMenu(this.statusArea.appMenu); + }, + + toggleCalendar: function() { + this._toggleMenu(this.statusArea.dateMenu); + }, + closeCalendar: function() { let indicator = this.statusArea.dateMenu; if (!indicator) // calendar not supported by current session mode diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index 1319fbbef..b4395c143 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -834,6 +834,13 @@ const WindowManager = new Lang.Class({ Shell.ActionMode.TOPBAR_POPUP, Lang.bind(this, this._toggleAppMenu)); + this.addKeybinding('toggle-message-tray', + new Gio.Settings({ schema_id: SHELL_KEYBINDINGS_SCHEMA }), + Meta.KeyBindingFlags.NONE, + Shell.ActionMode.NORMAL | + Shell.ActionMode.TOPBAR_POPUP, + Lang.bind(this, this._toggleCalendar)); + global.display.connect('show-resize-popup', Lang.bind(this, this._showResizePopup)); Main.overview.connect('showing', Lang.bind(this, function() { @@ -1514,6 +1521,10 @@ const WindowManager = new Lang.Class({ Main.panel.toggleAppMenu(); }, + _toggleCalendar: function(display, screen, window, event, binding) { + Main.panel.toggleCalendar(); + }, + _toggleTweens: function() { this._tweensPaused = !this._tweensPaused; const OrigTweener = imports.tweener.tweener;