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
This commit is contained in:
@@ -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();
|
||||
}));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user