clamp window dragging to the screen; drop the coloured per-app tiles in the taskbar

This commit is contained in:
Martin Dvořák 2026-09-24 13:43:26 +00:00
commit 415f48f3f0
4 changed files with 24 additions and 20 deletions

View file

@ -223,11 +223,11 @@ list reordering, not free placement. Don't confuse the two.
`eslint-disable-next-line` with a comment. Don't add more without a reason.
- Watch for `pointercancel`: any custom pointer gesture over an `<img>`, link,
or text selection needs `draggable=false` / `user-select: none`.
- Windows must fit the viewport: `openAppDef` / `resizeWin` clamp `w`/`h` in
`WindowsDesktop.tsx`, a `resize` effect re-clamps on browser resize, and
- Windows must stay on-screen: `openAppDef` / `resizeWin` clamp `w`/`h`,
`moveWin` clamps `x`/`y` (dragging can't push a window off any edge or under
the panel), a `resize` effect re-clamps on browser resize, and
`.win-window.centered` carries `max-width`/`max-height`. Keep these in sync if
you add a new window-open path, or windows will open off-screen on a small
monitor.
you add a new window path, or windows will escape the viewport.
- Exposing the **dev** server over a tunnel needs the tunnel host in
`allowedDevOrigins` (`next.config.ts`). Without it Next dev rejects the
cross-origin HMR WebSocket, so the client never hydrates — the page is SSR