messageTray: Add a notification focus keybinding
At the moment, only the mouse can be used to focus and answer a chat notification. This adds a new keybinding (defaults to <Super>+n) to focus and expand the active notification. https://bugzilla.gnome.org/show_bug.cgi?id=652082
This commit is contained in:
parent
644c210fe2
commit
7dc235511e
@ -8,6 +8,9 @@
|
|||||||
<KeyListEntry name="toggle-message-tray"
|
<KeyListEntry name="toggle-message-tray"
|
||||||
_description="Show the message tray"/>
|
_description="Show the message tray"/>
|
||||||
|
|
||||||
|
<KeyListEntry name="focus-active-notification"
|
||||||
|
_description="Focus the active notification"/>
|
||||||
|
|
||||||
<KeyListEntry name="toggle-application-view"
|
<KeyListEntry name="toggle-application-view"
|
||||||
_description="Show all applications"/>
|
_description="Show all applications"/>
|
||||||
|
|
||||||
|
@ -106,6 +106,13 @@ value here is from the GsmPresenceStatus enumeration.</_summary>
|
|||||||
Keybinding to toggle the visibility of the message tray.
|
Keybinding to toggle the visibility of the message tray.
|
||||||
</_description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
|
<key name="focus-active-notification" type="as">
|
||||||
|
<default>["<Super>n"]</default>
|
||||||
|
<_summary>Keybinding to focus the active notification</_summary>
|
||||||
|
<_description>
|
||||||
|
Keybinding to focus the active notification.
|
||||||
|
</_description>
|
||||||
|
</key>
|
||||||
<key name="toggle-recording" type="as">
|
<key name="toggle-recording" type="as">
|
||||||
<default><![CDATA[['<Control><Shift><Alt>r']]]></default>
|
<default><![CDATA[['<Control><Shift><Alt>r']]]></default>
|
||||||
<_summary>Keybinding to toggle the screen recorder</_summary>
|
<_summary>Keybinding to toggle the screen recorder</_summary>
|
||||||
|
@ -1519,6 +1519,10 @@ const MessageTray = new Lang.Class({
|
|||||||
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
|
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
|
||||||
Meta.KeyBindingFlags.NONE,
|
Meta.KeyBindingFlags.NONE,
|
||||||
Lang.bind(this, this.toggleAndNavigate));
|
Lang.bind(this, this.toggleAndNavigate));
|
||||||
|
global.display.add_keybinding('focus-active-notification',
|
||||||
|
new Gio.Settings({ schema: SHELL_KEYBINDINGS_SCHEMA }),
|
||||||
|
Meta.KeyBindingFlags.NONE,
|
||||||
|
Lang.bind(this, this._expandActiveNotification));
|
||||||
|
|
||||||
this._summaryItems = [];
|
this._summaryItems = [];
|
||||||
this._chatSummaryItemsCount = 0;
|
this._chatSummaryItemsCount = 0;
|
||||||
@ -2338,6 +2342,13 @@ const MessageTray = new Lang.Class({
|
|||||||
notification.destroy(NotificationDestroyedReason.EXPIRED);
|
notification.destroy(NotificationDestroyedReason.EXPIRED);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_expandActiveNotification: function() {
|
||||||
|
if (!this._notification)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._expandNotification(false);
|
||||||
|
},
|
||||||
|
|
||||||
_expandNotification: function(autoExpanding) {
|
_expandNotification: function(autoExpanding) {
|
||||||
// Don't grab focus in notifications that are auto-expanded.
|
// Don't grab focus in notifications that are auto-expanded.
|
||||||
if (!autoExpanding)
|
if (!autoExpanding)
|
||||||
|
Loading…
Reference in New Issue
Block a user