From ae7cb127642668f8707f84a7393d563200f9a3f5 Mon Sep 17 00:00:00 2001 From: Max Goodhart Date: Mon, 13 Oct 2025 17:49:04 -0700 Subject: [PATCH 1/3] Fix error formatting error string --- tiling.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiling.js b/tiling.js index 65fdf13b9..c33426f6e 100644 --- a/tiling.js +++ b/tiling.js @@ -541,7 +541,7 @@ export class Space extends Array { const k = column.indexOf(grabWindow); if (k < 0) { - throw new Error(`Anchor doesn't exist in column ${grabWindow.title}`); + throw new Error(`Anchor doesn't exist in column ${grabWindow?.title}`); } const gap = Settings.prefs.window_gap; From 18a21c23d0a4dd25a32b2ec995ed3c84616fe925 Mon Sep 17 00:00:00 2001 From: Max Goodhart Date: Mon, 13 Oct 2025 17:49:36 -0700 Subject: [PATCH 2/3] Fix null grabWindow passed to this.layoutGrabColumn --- tiling.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiling.js b/tiling.js index c33426f6e..291a72832 100644 --- a/tiling.js +++ b/tiling.js @@ -744,7 +744,7 @@ export class Space extends Array { if (inGrab && column.includes(inGrab.window) && !allocator) { [resultingWidth, relayout] = this.layoutGrabColumn(column, x, y0, targetWidth, availableHeight, time, - selectedInColumn); + inGrab.window); } else { allocator = allocator || allocateDefault; let targetHeights = allocator(column, availableHeight, selectedInColumn); From 6edca7649b35445795d56c2fd8896ff3c96c47f3 Mon Sep 17 00:00:00 2001 From: Max Goodhart Date: Mon, 13 Oct 2025 17:50:06 -0700 Subject: [PATCH 3/3] Only use grab layout algorithm during DnD drags --- tiling.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiling.js b/tiling.js index 291a72832..bb1758a8d 100644 --- a/tiling.js +++ b/tiling.js @@ -741,7 +741,7 @@ export class Space extends Array { let resultingWidth, relayout; let allocator = allocators && allocators[i]; - if (inGrab && column.includes(inGrab.window) && !allocator) { + if (inGrab && inGrab.dnd && column.includes(inGrab.window) && !allocator) { [resultingWidth, relayout] = this.layoutGrabColumn(column, x, y0, targetWidth, availableHeight, time, inGrab.window);