summaryrefslogtreecommitdiffhomepage
path: root/src/features/workspaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/workspaces')
-rw-r--r--src/features/workspaces/ui/HomeTileGrid.svelte9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/features/workspaces/ui/HomeTileGrid.svelte b/src/features/workspaces/ui/HomeTileGrid.svelte
index d259aea..489c783 100644
--- a/src/features/workspaces/ui/HomeTileGrid.svelte
+++ b/src/features/workspaces/ui/HomeTileGrid.svelte
@@ -160,7 +160,12 @@
if (!tileEl || insideInteractive(e.target)) return;
const id = tileEl.getAttribute("data-tile-id");
if (id === null) return;
- gridEl?.setPointerCapture?.(e.pointerId);
+ // Capture mouse/pen so fast drags keep streaming to this container. TOUCH
+ // is purposely NOT captured here: an early touch capture can suppress
+ // native scrolling (WebKit), and touch already gets the browser's implicit
+ // capture — after the long-press lift the moved events bubble up to this
+ // container anyway.
+ if (e.pointerType !== "touch") gridEl?.setPointerCapture?.(e.pointerId);
// Where within the tile the pointer grabbed — the follow transform keeps
// THIS point under the pointer (not the tile's top-left origin).
const rect = tileEl.getBoundingClientRect();
@@ -453,7 +458,7 @@
<svelte:window onkeydowncapture={windowKeydown} />
-<div class="relative min-h-0 flex-1">
+<div class="relative h-full">
<div
bind:this={scrollerEl}
class="h-full overscroll-contain"