Tauri 2 + React 18 + TypeScript + Tailwind CSS v4 + SQLite (rusqlite) Features: - Menu bar app with tray icon (no dock icon) - Global hotkey Cmd+Shift+V - Clipboard polling every 500ms (text, images, file paths) - SQLite FTS5 full-text search - Pin/unpin entries, auto-trim, context menu - Settings panel (launch at login, show images, max history, clear all) - Dark/light mode following macOS system preference - Frameless floating window, closes on blur Testing: - 27 Rust unit tests (db, clipboard, FTS5, trim, settings) - 31 TypeScript component tests (vitest + @testing-library/react) Co-authored-by: Cursor <cursoragent@cursor.com>
75 lines
2.0 KiB
JSON
75 lines
2.0 KiB
JSON
{
|
|
"$schema": "https://raw.githubusercontent.com/tauri-apps/tauri/dev/crates/tauri-config-schema/schema.json",
|
|
"productName": "maCopy",
|
|
"version": "0.1.0",
|
|
"identifier": "com.macopy.app",
|
|
"build": {
|
|
"frontendDist": "../dist",
|
|
"devUrl": "http://localhost:1420",
|
|
"beforeDevCommand": "npm run dev",
|
|
"beforeBuildCommand": "npm run build"
|
|
},
|
|
"app": {
|
|
"withGlobalTauri": true,
|
|
"windows": [
|
|
{
|
|
"label": "main",
|
|
"title": "maCopy",
|
|
"width": 420,
|
|
"height": 560,
|
|
"resizable": false,
|
|
"decorations": false,
|
|
"visible": false,
|
|
"alwaysOnTop": true,
|
|
"skipTaskbar": true,
|
|
"center": true
|
|
}
|
|
],
|
|
"security": {
|
|
"capabilities": [
|
|
{
|
|
"identifier": "default",
|
|
"description": "Default capabilities for maCopy",
|
|
"windows": ["main"],
|
|
"permissions": [
|
|
"core:default",
|
|
"core:window:default",
|
|
"core:window:allow-show",
|
|
"core:window:allow-hide",
|
|
"core:window:allow-set-focus",
|
|
"core:window:allow-close",
|
|
"core:window:allow-is-visible",
|
|
"core:event:default",
|
|
"core:event:allow-emit",
|
|
"core:event:allow-listen",
|
|
"clipboard-manager:allow-read-text",
|
|
"clipboard-manager:allow-write-text",
|
|
"clipboard-manager:allow-read-image",
|
|
"clipboard-manager:allow-write-image",
|
|
"clipboard-manager:allow-clear",
|
|
"global-shortcut:allow-register",
|
|
"global-shortcut:allow-unregister",
|
|
"autostart:allow-enable",
|
|
"autostart:allow-disable",
|
|
"autostart:allow-is-enabled"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"bundle": {
|
|
"active": true,
|
|
"targets": "all",
|
|
"icon": [
|
|
"icons/32x32.png",
|
|
"icons/128x128.png",
|
|
"icons/128x128@2x.png",
|
|
"icons/icon.icns",
|
|
"icons/icon.ico"
|
|
],
|
|
"macOS": {
|
|
"minimumSystemVersion": "10.15"
|
|
}
|
|
}
|
|
}
|