diff --git a/commentary.org b/commentary.org index ed713015f1b578a312a804dfc72d466cc6706989..a7529fb6f65cf7175dd00b87b7e6880792a04929 100644 --- a/commentary.org +++ b/commentary.org @@ -17,6 +17,8 @@ This leads to graphics bugs ** TODO Resolution changes Almost possible, but clientArea returns the _old_ resolution +** TODO FFM bug when unminimizing + Possibly related to keepAbove/keepBelow * DONE Avoid struts Almost finished, but doesn't directly react to changes Needs an additional kwin signal @@ -48,6 +50,9 @@ Each client belongs to multiple activities, but is on the same desktop on each There can only be one activity at the same time *** Needs changes in tilingmanager (large) and maybe tile and tilelist +** Switch to BSP/BinaryTree-based tiling + This requires a rather large change, but should add flawless resizing without special code in the layouts + and should make layouts much simpler to write * TODO Report ** Bugs *** ClientArea doesn't update diff --git a/contents/code/tiling.js b/contents/code/tiling.js index 02635f785020f8374812e537e4eb72e4a1ed1ac6..fc75b67a25fc7375c9f95094f71c7964de589b82 100644 --- a/contents/code/tiling.js +++ b/contents/code/tiling.js @@ -94,23 +94,19 @@ Tiling.prototype.addTile = function(tile, x, y) { } else { if (tile.tileIndex > -1) { this.tiles.splice(tile.tileIndex, 0, tile); - for (i = 0; i < this.tiles.length; i++) { - this.tiles[i].tileIndex = i; - this.tiles[i].syncCustomProperties(); - } } else { if (readConfig("startAsMaster", false) == true) { tile.tileIndex = 0; this.tiles.splice(tile.tileIndex, 0, tile); - for (i = 0; i < this.tiles.length; i++) { - this.tiles[i].tileIndex = i; - this.tiles[i].syncCustomProperties(); - } } else { tile.tileIndex = this.tiles.length; this.tiles.push(tile); } } + for (i = 0; i < this.tiles.length; i++) { + this.tiles[i].tileIndex = i; + this.tiles[i].syncCustomProperties(); + } } this._updateAllTiles(); } catch(err) {