Fix cursor positioning, resize, and paste; add App tests and Cursor rules

- Use CoreGraphics (core-graphics crate) for global mouse position instead
  of Tauri's window-relative cursor_position() which fails when hidden
- Switch to titleBarStyle overlay with hiddenTitle for native resize handles
  while keeping the frameless look (decorations:false had no resize affordance)
- Fix paste_and_refocus: use .output() instead of .spawn() so osascript
  actually completes, increase delay to 250ms for reliable app refocus
- Add comprehensive App.test.tsx (7 integration tests) bringing total to 47
- Add multi-select and type badge tests for ClipboardList and ContextMenu
- Update Tauri mock in setup.ts with innerSize/scaleFactor for resize tests
- Create .cursor/rules/ with 4 rule files for project conventions
- Add npm run lint and npm run check scripts
- Update README with full usage table and current test counts (74 total)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-12 14:15:42 -04:00
co-authored by Cursor
parent 55ee81fc6d
commit 80a6c01cdb
17 changed files with 504 additions and 81 deletions
+5 -1
View File
@@ -20,7 +20,9 @@
"resizable": true,
"minWidth": 320,
"minHeight": 300,
"decorations": false,
"decorations": true,
"titleBarStyle": "overlay",
"hiddenTitle": true,
"visible": false,
"alwaysOnTop": true,
"skipTaskbar": true,
@@ -49,6 +51,8 @@
"core:window:allow-current-monitor",
"core:window:allow-cursor-position",
"core:window:allow-start-dragging",
"core:window:allow-start-resize-dragging",
"core:window:allow-scale-factor",
"core:event:default",
"core:event:allow-emit",
"core:event:allow-listen",