diff --git a/contents/code/tile.js b/contents/code/tile.js index 7ebcef07503fe4a3fdd8af088acb10e49dc80950..1f529ca263cc0df4e99a9baaae0cc74b2276ac1f 100644 --- a/contents/code/tile.js +++ b/contents/code/tile.js @@ -225,6 +225,9 @@ Tile.prototype.onClientKeepBelowChanged = function(client) { }; Tile.prototype.onClientFullScreenChanged = function(client) { + // Let fullscreen windows stay _above_ others + client.keepAbove = client.fullScreen; + client.keepBelow = !client.fullScreen; this._recomputeForcedFloating(client); }; diff --git a/contents/code/tiling.js b/contents/code/tiling.js index 85fdd5e5171eceec72158b73aa27ca1c5196bcc8..d6879a1389b34dc408d64cbdc3704596fb775985 100644 --- a/contents/code/tiling.js +++ b/contents/code/tiling.js @@ -180,6 +180,11 @@ Tiling.prototype._updateAllTiles = function() { // Set the position/size of all tiles if (this.active) { for (var i = 0; i < this.layout.tiles.length; i++) { + if (this.tiles[i].clients[0].fullScreen) { + this.layout.tiles[i]._savedGeometry = this.layout.tiles[i].rectangle; + this.layout.tiles[i].rectangle = this.layout.screenRectangle; + break; + } var currentRect = this.tiles[i].clients[0].geometry; var newRect = this.layout.tiles[i].rectangle; if (! newRect) {