A small Electron tray app that starts scrcpy automatically when an Android device is connected.
It’s designed for a few simple workflows:
- Display mode: creates a new virtual display via scrcpy (
--new-display=...) and launches scrcpy there - Mirror mode: standard scrcpy mirroring
- Audio mode: audio-only (no window)
- Camera mode: uses the phone camera as the video source
- Capture mode: camera + microphone capture without a window (currently in development)
The tray menu lets you toggle:
- Status (active/inactive)
- Mode (
display/mirror/audio/camera) - Audio (
both/host/device) (only shown fordisplay,mirror,audio) - Fullscreen (on/off) (only shown for
display,mirror) - Control (on/off) (only shown for
display,mirror) - Camera (
front/back) (only shown forcamera)
These options are persisted per-user on your PC.
- Windows
- Linux
macOS is currently not supported.
- Uses
adb wait-for-deviceto block until a device is available - Spawns
scrcpywith arguments based on the tray options - Restarts scrcpy automatically if it exits and Status is set to Active
Options are stored in a JSON file under Electron’s per-user data directory:
- File name:
config.json - Location:
app.getPath("userData")
Typical locations:
- Windows:
%APPDATA%\Android Dock\config.json - Linux:
~/.config/Android Dock/config.json
Current config schema:
{
"active": true,
"mode": "display",
"fullscreen": true,
"control": true,
"audio": "both",
"camera": "front"
}Notes:
mode:display | mirror | audio | camera | capture(capture is supported but not selectable from the tray menu)audio:both | host | devicedevicedisables scrcpy audio capture (use the phone speakers)hostplays the device audio on the hostbothplays on the host and duplicates on the device (if supported)
camera:front | back(used bycamera/capture)
Requirements:
- Node.js + npm
Commands:
npm installnpm start
npm run build
If the build fails with messages about creating symbolic links, enable Windows Developer Mode or run the build from an elevated terminal. Some electron-builder tooling extracts archives that contain symlinks.
This project uses scrcpy (Screen Copy) by Genymobile.
- Project: https://github.com/Genymobile/scrcpy
scrcpy is an independent project with its own license and authors. See THIRD_PARTY_NOTICES.md for details.
This project is licensed under the ISC License — see LICENSE.