• Will Chen's avatar
    Add application menu for keyboard shortcuts (Ctrl+C, Ctrl+Z, etc.) (#2335) · f46cdf7a
    Will Chen 提交于
    ## Summary
    
    - Adds an application menu with Edit, View, and Window submenus to
    enable standard keyboard shortcuts
    - Fixes #1952: Users can now use Cmd/Ctrl+C, Cmd/Ctrl+V, Cmd/Ctrl+Z,
    Cmd/Ctrl+X, Cmd/Ctrl+A instead of right-clicking
    - The Edit menu provides: Undo, Redo, Cut, Copy, Paste, Delete, Select
    All
    
    ## Test plan
    
    1. Start the app
    2. Click in the chat input field and type some text
    3. Test Ctrl/Cmd+A (Select All) - should select all text
    4. Test Ctrl/Cmd+C (Copy) - should copy selected text
    5. Test Ctrl/Cmd+V (Paste) - should paste clipboard content
    6. Test Ctrl/Cmd+Z (Undo) - should undo last action
    7. Test Ctrl/Cmd+Shift+Z or Ctrl+Y (Redo) - should redo undone action
    8. Test Ctrl/Cmd+X (Cut) - should cut selected text
    9. Verify right-click context menu still works as before
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    <!-- devin-review-badge-begin -->
    
    ---
    
    <a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2335">
      <picture>
    <source media="(prefers-color-scheme: dark)"
    srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
    <img
    src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
    alt="Open with Devin">
      </picture>
    </a>
    <!-- devin-review-badge-end -->
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Introduces a global application menu to enable OS-standard keyboard
    shortcuts and window/view controls.
    > 
    > - Adds `createApplicationMenu` in `src/main.ts` with `Edit`, `View`,
    and `Window` menus (plus macOS `App` menu) providing `undo/redo`,
    `cut/copy/paste/delete/selectAll`, zoom controls, reload, devtools, and
    fullscreen
    > - Calls `createApplicationMenu()` during startup after
    `createWindow()` to activate shortcuts across the app
    > - Leaves existing right-click context menu behavior intact
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    fbd07b8dc49d8ee97f98526ac1d654701734c038. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Adds an application menu to enable standard keyboard shortcuts (Undo,
    Redo, Cut, Copy, Paste, Select All) across the app. Fixes #1952 so users
    can use Cmd/Ctrl shortcuts instead of relying on the context menu.
    
    - **New Features**
    - Create and set application menu on startup with Edit, View, and Window
    menus.
    - Edit menu wires Undo, Redo, Cut, Copy, Paste, Delete, Select All via
    Electron roles.
    - Includes macOS app menu (About, Services, Hide, Quit); Windows/Linux
    use Window -> Close.
    
    <sup>Written for commit f2499679fb571476cec5f74a2e5a23c3447512c3.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    ---------
    Co-authored-by: 's avatarClaude Opus 4.5 <noreply@anthropic.com>
    Co-authored-by: 's avatarclaude[bot] <41898282+claude[bot]@users.noreply.github.com>
    f46cdf7a
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
makers 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxfmtrc.json 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CLAUDE.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...