Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions apps/desktop/src-tauri/DEEPLINKS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Cap Desktop Deeplinks

Cap Desktop registers the `cap-desktop://` URL scheme.

## Recording controls

### Start recording

```bash
open 'cap-desktop://record/start?mode=studio&capture_type=screen&target=Built-in%20Display&capture_system_audio=true&mic_label=External%20Microphone'
```

Query params:
- `mode`: `studio` or `instant` (default: `studio`)
- `capture_type`: `screen` or `window` (required)
- `target`: screen/window name exactly as shown in Cap (required)
- `capture_system_audio`: `true` / `false` (optional)
- `mic_label`: microphone label exactly as shown in Cap (optional)
- `mic_off=true` disables microphone input and cannot be combined with `mic_label`
- omitting `mic_label`, `device_id`, `model_id`, `off`, and `mic_off` keeps the current Cap inputs unchanged
- camera:
- `device_id=<id>` or `model_id=<VID:PID>`
- `off=true` to disable camera
Comment on lines +15 to +23
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 mic_off parameter not documented

The Rust parser for record/start calls parse_microphone_from_query(&query, "mic_label", "mic_off"), meaning mic_off=true is a valid way to explicitly disable the microphone when starting a recording. This parameter is never mentioned in the docs — users relying on the docs will not know it exists.

Consider adding a bullet like:

- `mic_off=true` to disable microphone input (cannot be combined with `mic_label`)
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/desktop/src-tauri/DEEPLINKS.md
Line: 15-22

Comment:
**`mic_off` parameter not documented**

The Rust parser for `record/start` calls `parse_microphone_from_query(&query, "mic_label", "mic_off")`, meaning `mic_off=true` is a valid way to explicitly disable the microphone when starting a recording. This parameter is never mentioned in the docs — users relying on the docs will not know it exists.

Consider adding a bullet like:
```
- `mic_off=true` to disable microphone input (cannot be combined with `mic_label`)
```

How can I resolve this? If you propose a fix, please make it concise.


### Stop / pause / resume / toggle / restart

```bash
open 'cap-desktop://record/stop'
open 'cap-desktop://record/pause'
open 'cap-desktop://record/resume'
open 'cap-desktop://record/toggle-pause'
open 'cap-desktop://record/restart'
```

## Device switching

### Switch microphone

```bash
open 'cap-desktop://device/microphone?label=External%20Microphone'
```

To disable microphone input:

```bash
open 'cap-desktop://device/microphone?off=true'
```

### Switch camera

```bash
open 'cap-desktop://device/camera?device_id=YOUR_DEVICE_ID'
open 'cap-desktop://device/camera?model_id=VID:PID'
open 'cap-desktop://device/camera?off=true'
```

`off=true` cannot be combined with `device_id` or `model_id`.

## Settings

```bash
open 'cap-desktop://settings/open?page=hotkeys'
```

## Backward compatibility

Legacy JSON payload links remain supported:

```bash
open 'cap-desktop://action?value={...json...}'
```
Loading