60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
# corsair-lcd-control
|
|
|
|
Electron app to control Corsair LCD displays. Monitors system stats (CPU temp, RAM, GPU temp), detects USB devices, and manages preferences.
|
|
|
|
## Prerequisites
|
|
|
|
- [Node.js](https://nodejs.org/) >= 18
|
|
- npm >= 9
|
|
- **Linux**: `libusb-1.0-0-dev`, `build-essential`, `python3`
|
|
- **macOS**: Xcode Command Line Tools (`xcode-select --install`)
|
|
- **Windows**: Build Tools for Visual Studio
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
git clone <repo-url>
|
|
cd corsair-lcd-control
|
|
npm install
|
|
```
|
|
|
|
`postinstall` automatically rebuilds native modules for Electron using `@electron/rebuild`.
|
|
|
|
## Development
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
## Build
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
Produces platform-specific packages:
|
|
|
|
| Platform | Format |
|
|
|----------|--------|
|
|
| Linux | `.AppImage`, `.deb` |
|
|
| macOS | `.dmg` |
|
|
| Windows | `.exe` (NSIS) |
|
|
|
|
## Rebuild Native Modules
|
|
|
|
If native modules fail to load after a Node.js or Electron upgrade:
|
|
|
|
```bash
|
|
npm run rebuild
|
|
```
|
|
|
|
## Capabilities
|
|
|
|
- **USB** — `usb` module enumerates and connects to devices
|
|
- **System Tray** — background process with context menu (Show/Hide/Quit)
|
|
- **Preferences** — persisted via `electron-store` (JSON)
|
|
- **File Pickers** — native OS dialogs via Electron's `dialog` API
|
|
- **CPU Temperature** — `systeminformation.cpuTemperature()`
|
|
- **RAM Usage** — `systeminformation.mem()`
|
|
- **GPU Temperature** — `systeminformation.graphics()`
|