[gnome-shell-extensions/gnome-3-14] window-list: Keep panel below modal dialogs when possible
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell-extensions/gnome-3-14] window-list: Keep panel below modal dialogs when possible
- Date: Thu, 15 Jan 2015 13:01:42 +0000 (UTC)
commit 1406feb262a207ea8d8454049f85fdc8724e92ee
Author: Florian Müllner <fmuellner gnome org>
Date: Wed Nov 26 19:43:53 2014 +0100
window-list: Keep panel below modal dialogs when possible
Currently the window-list will be stacked above system modal dialogs,
which means it is not dimmed like the rest of the desktop and remains
accessible to interaction. We cannot do any better when showing the
on-screen keyboard, as we need to keep ourselves above to not end up
covered by the OSK, and the keyboard itself is stacked above modal
dialogs to allow its use for input. However we can at least fix the
case when not using the OSK.
https://bugzilla.gnome.org/show_bug.cgi?id=740722
extensions/window-list/extension.js | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js
index 0cee654..424b14a 100644
--- a/extensions/window-list/extension.js
+++ b/extensions/window-list/extension.js
@@ -796,6 +796,7 @@ const WindowList = new Lang.Class({
Main.layoutManager.addChrome(this.actor, { affectsStruts: true,
trackFullscreen: true });
+ Main.uiGroup.set_child_above_sibling(this.actor, Main.layoutManager.trayBox);
Main.ctrlAltTabManager.addGroup(this.actor, _("Window List"), 'start-here-symbolic');
this._appSystem = Shell.AppSystem.get_default();
@@ -811,9 +812,13 @@ const WindowList = new Lang.Class({
this._keyboardVisiblechangedId =
Main.layoutManager.connect('keyboard-visible-changed',
Lang.bind(this, function(o, state) {
- Main.layoutManager.keyboardBox.visible = state;
- Main.uiGroup.set_child_above_sibling(windowList.actor,
- Main.layoutManager.keyboardBox);
+ let keyboardBox = Main.layoutManager.keyboardBox;
+ keyboardBox.visible = state;
+ if (state)
+ Main.uiGroup.set_child_above_sibling(this.actor, keyboardBox);
+ else
+ Main.uiGroup.set_child_above_sibling(this.actor,
+ Main.layoutManager.trayBox);
this._updateKeyboardAnchor();
}));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]