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;