Skip to content

Commit 9b571ca

Browse files
authored
fix: resolve remaining desktop queue items (#15)
1 parent f067d86 commit 9b571ca

30 files changed

Lines changed: 867 additions & 626 deletions

DEVELOPMENT.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ code-editor/
3535
│ │ ├── device-carousel # Multi-device preview
3636
│ │ ├── pip-window # Picture-in-Picture floating preview
3737
│ │ ├── agent-annotations # AI change highlights
38-
│ │ └── component-isolator # Component isolation (⌘⇧I)
38+
│ │ └── component-isolator # Component isolation (Cmd/Ctrl+Shift+I)
3939
│ ├── workspace-sidebar # Chat list + navigation
4040
│ ├── agent-panel # Chat/agent interface
4141
│ ├── settings-panel # Settings (themes, GitHub, editor)
@@ -101,9 +101,9 @@ Launches a native macOS window with the web app inside. Both the web frontend an
101101

102102
Copy `.env.example``.env` and fill in:
103103

104-
| Variable | Required | Description |
105-
| ------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
106-
| `NEXT_PUBLIC_SPOTIFY_CLIENT_ID` | Optional | Spotify PKCE OAuth Client ID for the music plugin. Create at [developer.spotify.com/dashboard](https://developer.spotify.com/dashboard). |
104+
| Variable | Required | Description |
105+
| ------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
106+
| `NEXT_PUBLIC_SPOTIFY_CLIENT_ID` | Optional | Spotify PKCE OAuth Client ID for the music plugin. Create at [developer.spotify.com/dashboard](https://developer.spotify.com/dashboard). |
107107

108108
> **Note:** `NEXT_PUBLIC_` variables are embedded in the client bundle. Only put public client IDs here, never secrets.
109109
@@ -198,19 +198,19 @@ The `release.yml` workflow:
198198

199199
## Keyboard Shortcuts
200200

201-
| Shortcut | Action |
202-
| -------- | --------------------------- |
203-
| `⌘B` | Toggle file explorer |
204-
| `⌘J` | Toggle terminal |
205-
| `⌘\` | Toggle sidebar |
206-
| `⌘P` | Quick open file |
207-
| `⌘⇧I` | Isolate component (preview) |
208-
| `⌘K` | Inline edit |
209-
| `⌘L` | Send selection to chat |
210-
| `⌘S` | Save file |
211-
| `⌘⇧F` | Global search |
212-
| `⌘⇧P` | Command palette |
213-
| `Esc` | Close overlays |
201+
| Shortcut | Action |
202+
| ------------------ | --------------------------- |
203+
| `Cmd/Ctrl+B` | Toggle file explorer |
204+
| `Cmd/Ctrl+J` | Toggle terminal |
205+
| `Cmd/Ctrl+\` | Toggle sidebar |
206+
| `Cmd/Ctrl+P` | Quick open file |
207+
| `Cmd/Ctrl+Shift+I` | Isolate component (preview) |
208+
| `Cmd/Ctrl+K` | Inline edit |
209+
| `Cmd/Ctrl+L` | Send selection to chat |
210+
| `Cmd/Ctrl+S` | Save file |
211+
| `Cmd/Ctrl+Shift+F` | Global search |
212+
| `Cmd/Ctrl+Shift+P` | Command palette |
213+
| `Esc` | Close overlays |
214214

215215
---
216216

@@ -236,11 +236,11 @@ To add a new theme:
236236

237237
## Preview System
238238

239-
The preview panel (`3` or click Preview tab) connects to any local dev server:
239+
The preview panel (`Cmd/Ctrl+3` or click Preview tab) connects to any local dev server:
240240

241241
- **URL bar** — type `localhost:5173` or any dev server URL
242242
- **Device Carousel** — see your app on iPhone, Pixel, iPad, MacBook, Desktop simultaneously
243-
- **Component Isolation** (`⌘⇧I`) — isolate a React component from the active file
243+
- **Component Isolation** (`Cmd/Ctrl+Shift+I`) — isolate a React component from the active file
244244
- **Picture-in-Picture** — float the preview over your code while editing
245245
- **Agent Annotations** — when the AI makes changes, glowing highlights show what changed
246246

README.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ A lightweight, AI-native code editor powered by [OpenClaw](https://github.com/op
88
┌──────────────┬──────────────────────────┬─────────────────┐
99
│ File Tree │ Monaco Editor │ Agent Panel │
1010
│ │ (multi-tab, vim mode) │ (chat + diff) │
11-
│ ⌘B toggle │ ⌘K inline edit │ ⌘J toggle │
12-
│ │ ⌘P quick open │ │
11+
│ Cmd/Ctrl+B │ Cmd/Ctrl+K │ Cmd/Ctrl+J │
12+
│ toggle │ inline edit │ toggle │
13+
│ │ Cmd/Ctrl+P quick open │ │
1314
├──────────────┴──────────────────────────┴─────────────────┤
1415
│ Terminal (xterm.js) │
1516
└───────────────────────────────────────────────────────────┘
@@ -81,7 +82,7 @@ Copy `.env.example` to `.env` and configure. All variables are optional — the
8182
- **Agent Builder** — Choose a persona, customize your system prompt, configure behaviors
8283
- **Inline Edits** — Agent proposes changes, you review diffs and accept/reject per-hunk
8384
- **7 Themes** — Obsidian, Bone, Neon, Catppuccin, VooDoo, CyberNord, PrettyPink
84-
- **Monaco Editor** — Multi-tab, Vim mode, syntax highlighting, P quick open
85+
- **Monaco Editor** — Multi-tab, Vim mode, syntax highlighting, Cmd/Ctrl+P quick open
8586
- **GitHub Integration** — Token-based auth, commit, push, branch switching
8687
- **Terminal** — Integrated xterm.js with gateway slash commands
8788
- **Spotify + YouTube** — Built-in music and video plugins
@@ -108,15 +109,15 @@ See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for the technical architecture,
108109

109110
## Keyboard Shortcuts
110111

111-
| Shortcut | Action |
112-
| -------- | ------------------------------ |
113-
| `⌘P` | Quick file open (fuzzy search) |
114-
| `⌘K` | Inline edit at selection |
115-
| `⌘B` | Toggle file explorer |
116-
| `⌘I` | Toggle agent panel |
117-
| `⌘J` | Toggle terminal |
118-
| `Enter` | Send message / Start chat |
119-
| `Esc` | Close overlays |
112+
| Shortcut | Action |
113+
| ------------ | ------------------------------ |
114+
| `Cmd/Ctrl+P` | Quick file open (fuzzy search) |
115+
| `Cmd/Ctrl+K` | Inline edit at selection |
116+
| `Cmd/Ctrl+B` | Toggle file explorer |
117+
| `Cmd/Ctrl+I` | Toggle agent panel |
118+
| `Cmd/Ctrl+J` | Toggle terminal |
119+
| `Enter` | Send message / Start chat |
120+
| `Esc` | Close overlays |
120121

121122
## Tech Stack
122123

__tests__/platform.test.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { describe, expect, it } from 'vitest'
2+
import { formatShortcut, formatShortcutKeys } from '@/lib/platform'
3+
4+
describe('shortcut labels', () => {
5+
it('renders generic modifiers for display text', () => {
6+
expect(formatShortcut('meta+shift+p')).toBe('Cmd/Ctrl+Shift+P')
7+
})
8+
9+
it('renders generic modifier keys for kbd chips', () => {
10+
expect(formatShortcutKeys('meta+alt+1')).toEqual(['Cmd/Ctrl', 'Alt/Option', '1'])
11+
})
12+
13+
it('handles special keys', () => {
14+
expect(formatShortcut('meta+enter')).toBe('Cmd/Ctrl+Enter')
15+
expect(formatShortcut('escape')).toBe('Esc')
16+
})
17+
})

app/page.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { useAppMode } from '@/context/app-mode-context'
1414
import { WorkspaceSidebar } from '@/components/workspace-sidebar'
1515
import { FloatingPanel } from '@/components/floating-panel'
1616
import { EditorTabs } from '@/components/editor-tabs'
17+
import { formatShortcut } from '@/lib/platform'
1718
import { isTauri } from '@/lib/tauri'
1819
import {
1920
fetchFileContentsByName as fetchFileContents,
@@ -668,7 +669,7 @@ export default function EditorLayout() {
668669
key={m.id}
669670
onClick={() => setMode(m.id)}
670671
className={`shell-mode-button ${mode === m.id ? 'shell-mode-button--active' : ''}`}
671-
title={`${m.label} mode (⌘⇧${index + 1})`}
672+
title={`${m.label} mode (${formatShortcut(`meta+shift+${index + 1}`)})`}
672673
>
673674
<Icon icon={m.icon} width={13} height={13} />
674675
</button>

0 commit comments

Comments
 (0)