\r
## Requirements\r
\r
-Due to the implementation's use of `pywin32` for COM communication, this daemon only works on Windows (but the HTTP and WebSocket interfaces can be accessed from any device).\r
+Due to the use of `pywin32` for COM communication, this daemon only works on Windows (but the HTTP and WebSocket interfaces can be accessed from any device).\r
\r
-The server and the OBS script are written for Python 3.6, since at the time of writing, [OBS only supports 3.6](https://obsproject.com/wiki/Getting-Started-With-OBS-Scripting) for scripts. The source module for the built-in HTTP server from 3.9 is included in this project, since the 3.6 module does not allow for setting a custom server root (this feature was [introduced in 3.7](https://docs.python.org/3/library/http.server.html#http.server.SimpleHTTPRequestHandler)). If you are not using the OBS script (or if you don't mind dealing with multiple versions of Python on the same system), the daemon should work fine on 3.9 in theory, but this is not fully tested. When OBS eventually provides support for >=3.7, this package will be updated to use the native HTTP server module, and support for pre-3.7 will be dropped.\r
+The server and the OBS script are written for Python 3.6, since when this project was started, [OBS only supported 3.6](https://obsproject.com/wiki/Getting-Started-With-OBS-Scripting) for scripts. The source module for the built-in HTTP server from 3.9 is included in this package, since the 3.6 module does not allow for setting a custom server root (this feature was [introduced in 3.7](https://docs.python.org/3/library/http.server.html#http.server.SimpleHTTPRequestHandler)). As of 28.0.0, [OBS now supports >3.6](https://github.com/obsproject/obs-studio/pull/6706) so this package will eventuallly be rewritten for >=3.7 with the native HTTP server.\r
\r
This package also requires [pywin32](https://pypi.org/project/pywin32/), [websockets](https://pypi.org/project/websockets/) and [pystray](https://pypi.org/project/pystray/) (all three are required for the server, but only `websockets` is required for the OBS script).\r
\r
\r
`python -m ppt_control`\r
\r
-from a command prompt (note the underscore). On first run, Windows Defender will show a warning and attempt to block Python from starting the server. You can safely allow the program through the firewall. You can now start a PowerPoint slideshow and navigate to the server by IP address/hostname (`http://localhost` if on the same machine) and control the slideshow.\r
+from a command prompt (note the underscore). On first run, Windows Defender will show a warning and attempt to block Python from starting the server. You can safely allow the program through the firewall. You can now start a PowerPoint slideshow and navigate to the server by IP address/hostname (`http://localhost` if on the same machine) and control the slideshow. A system tray icon shows the daemon's status and lets you stop it or edit the config (requires restarting to apply).\r
\r
There are a few steps to set the package up fully:\r
\r
\r
## Configuration\r
\r
-Various settings can be changed in `%AppData%\ppt-control\ppt-control.ini`. This file is populated with the defaults for all possible settings at installation.\r
+Various settings can be changed in `%AppData%\ppt-control\ppt-control.ini`. This file can be accessed from the system tray icon. If the file is empty or doesn't exist, it will be populated with the defaults for all possible settings. The daemon must be restarted for a modified configuration to be applied.\r
\r
## Todo\r
\r
+- Use native HTTP server module and drop support for 3.6\r
- Refactor/tidy JS code\r
- Fix "RCP server unavailable" error on server\r
- Export all slides on presentation init\r