# PPT Remote Control PowerPoint from your Android phone over Wi-Fi. ## Server (Windows PC) Requirements: [Bun](https://bun.sh) installed, PowerPoint open with a presentation. ```bash cd server bun install bun start ``` The server listens on port **8765**. Find your PC's local IP with `ipconfig`. ## Server (Linux) Requirements: Bun, LibreOffice, python3 (with `uno` module — ships with LibreOffice), xdotool. ```bash sudo apt install xdotool # or equivalent for your distro ``` Start LibreOffice Impress with the UNO socket listener enabled: ```bash libreoffice --impress --accept="socket,host=localhost,port=2002;urp;StarOffice.ServiceManager" your-presentation.pptx ``` Then start the server: ```bash cd server bun install bun start ``` Find your machine's local IP with `ip addr` or `hostname -I`. ## Client (Android) Requirements: Flutter SDK. ```bash cd client flutter pub get flutter run ``` Enter your PC's local IP and port `8765`, then tap Connect. ## How it works - Server auto-detects the platform (`process.platform`) and picks the right driver. - Windows: PowerShell COM automation via `GetActiveObject('PowerPoint.Application')`. - Linux: navigation via `xdotool` key events, slide state and image export via Python UNO connected to LibreOffice's socket listener on port 2002. - After each navigation, the current slide is exported as an image and sent as base64 to all connected clients. ## Notes - PowerPoint must already be open on the PC before connecting. - The slideshow must be running (or use "Start Show") for next/prev to work. - Both devices must be on the same Wi-Fi network. - Windows Firewall may need to allow port 8765.