diff --git a/AGENTS.md b/AGENTS.md index 3539f61..af8a234 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,7 +26,7 @@ WineBot is a containerized Windows application runtime (Wine 10.0) with an X11 d | `docker/entrypoint.sh` | Container boot logic. Handles Xvfb, Openbox, Wine init. | `Xvfb`, `wineserver`, `tint2` | | `docker/openbox/rc.xml` | Window Manager config. Controls input focus/decorations. | ``, `` | | `scripts/bin/` | Primary user-facing tools (`winebotctl`, `run-app.sh`). | | -| `scripts/diagnostics/` | System validation suite (`diagnose-master.sh`, `health-check.sh`). | `Environment Health` | +| `scripts/diagnostics/` | System validation suite (`diagnose-master.sh`, `health-check.sh`). | `diagnose-master.sh` | | `scripts/setup/` | Installation and fix logic (`install-theme.sh`, `fix-wine-input.sh`). | | | `automation/bin/` | Standalone automation tools (`x11.sh`, `screenshot.sh`). | | | `automation/examples/` | Demo and verification scripts (`notepad_create_and_verify.py`). | | @@ -70,6 +70,12 @@ scripts/winebotctl config set KEY VALUE scripts/winebotctl config apply ``` +### How to trace input? +```bash +scripts/winebotctl input trace start --layer windows +scripts/winebotctl input trace events --source client --limit 50 +``` + ### How to debug input issues? 1. Enable traces: `WINEBOT_INPUT_TRACE=1` etc. 2. Check `logs/input_events_*.jsonl` in session dir. diff --git a/README.md b/README.md index 77c1008..846cc48 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Use this for project maintenance and verification: - `./scripts/wb test`: Run unit and E2E tests. - `./scripts/wb build [intent]`: Build local images (e.g., `slim`, `dev`, `rel`). - `./scripts/wb vuln`: Run vulnerability scans. +- `./scripts/wb ctl`: Alias for scripts/winebotctl. ### 2. Operator Tool (`scripts/winebotctl`) Use this to automate applications: @@ -27,6 +28,8 @@ Use this to automate applications: - `scripts/winebotctl screenshot`: Capture the virtual desktop. - `scripts/winebotctl apps run "/path/to/app.exe"`: Launch a Windows app. - `scripts/winebotctl input click 100 200`: Perform a mouse click. +- `scripts/winebotctl lifecycle shutdown --yes`: Shutdown the instance. +- `scripts/winebotctl config profile set human-desktop`: Set a profile. ## Configuration diff --git a/docs/api.md b/docs/api.md index 2a2d99f..8a6f323 100644 --- a/docs/api.md +++ b/docs/api.md @@ -32,6 +32,10 @@ Examples: - `scripts/winebotctl sessions list` - `scripts/winebotctl recording start --session-root /artifacts/sessions` - `scripts/winebotctl api POST /sessions/suspend --json '{"shutdown_wine":true}'` +- `scripts/winebotctl tail` +- `scripts/winebotctl config profile set human-desktop` +- `scripts/winebotctl lifecycle shutdown --yes` +- `scripts/winebotctl input trace start --layer windows` Idempotent mode is supported (see `--idempotent` / `--no-idempotent`) so repeat invocations can safely reuse the same response when desired.