mirror of
https://github.com/harivansh-afk/deskctl.git
synced 2026-04-15 05:02:08 +00:00
tests and tooling (#4)
* init openspec * clean out src, move mod into lib, remove trash * create tests * pre-commit hook * add tests to CI * update website * README, CONTRIBUTING and Makefile * openspec * archive task * fix ci order * fix integration test * fix validation tests
This commit is contained in:
parent
7dfab68304
commit
3819a85c47
24 changed files with 892 additions and 286 deletions
|
|
@ -19,7 +19,7 @@ Requests and responses are newline-delimited JSON (NDJSON) over a Unix socket.
|
|||
**Request:**
|
||||
|
||||
```json
|
||||
{"id": "r123456", "action": "snapshot", "annotate": true}
|
||||
{ "id": "r123456", "action": "snapshot", "annotate": true }
|
||||
```
|
||||
|
||||
**Response:**
|
||||
|
|
@ -31,7 +31,7 @@ Requests and responses are newline-delimited JSON (NDJSON) over a Unix socket.
|
|||
Error responses include an `error` field:
|
||||
|
||||
```json
|
||||
{"success": false, "error": "window not found: @w99"}
|
||||
{ "success": false, "error": "window not found: @w99" }
|
||||
```
|
||||
|
||||
## Socket location
|
||||
|
|
@ -66,13 +66,13 @@ The trait-based design means adding Wayland support is a single trait implementa
|
|||
|
||||
Window detection uses EWMH properties:
|
||||
|
||||
| Property | Purpose |
|
||||
|----------|---------|
|
||||
| `_NET_CLIENT_LIST_STACKING` | Window stacking order |
|
||||
| `_NET_ACTIVE_WINDOW` | Currently focused window |
|
||||
| `_NET_WM_NAME` | Window title (UTF-8) |
|
||||
| `_NET_WM_STATE_HIDDEN` | Minimized state |
|
||||
| `_NET_CLOSE_WINDOW` | Graceful close |
|
||||
| `WM_CLASS` | Application class/name |
|
||||
| Property | Purpose |
|
||||
| --------------------------- | ------------------------ |
|
||||
| `_NET_CLIENT_LIST_STACKING` | Window stacking order |
|
||||
| `_NET_ACTIVE_WINDOW` | Currently focused window |
|
||||
| `_NET_WM_NAME` | Window title (UTF-8) |
|
||||
| `_NET_WM_STATE_HIDDEN` | Minimized state |
|
||||
| `_NET_CLOSE_WINDOW` | Graceful close |
|
||||
| `WM_CLASS` | Application class/name |
|
||||
|
||||
Falls back to `XQueryTree` if `_NET_CLIENT_LIST_STACKING` is unavailable.
|
||||
|
|
|
|||
|
|
@ -169,8 +169,8 @@ deskctl launch code --args /path/to/project
|
|||
|
||||
## Global options
|
||||
|
||||
| Flag | Env | Description |
|
||||
|------|-----|-------------|
|
||||
| `--json` | | Output as JSON |
|
||||
| `--socket <path>` | `DESKCTL_SOCKET` | Path to daemon Unix socket |
|
||||
| `--session <name>` | | Session name for multiple daemons (default: `default`) |
|
||||
| Flag | Env | Description |
|
||||
| ------------------ | ---------------- | ------------------------------------------------------ |
|
||||
| `--json` | | Output as JSON |
|
||||
| `--socket <path>` | `DESKCTL_SOCKET` | Path to daemon Unix socket |
|
||||
| `--session <name>` | | Session name for multiple daemons (default: `default`) |
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ import DocLayout from "../layouts/DocLayout.astro";
|
|||
</header>
|
||||
|
||||
<p>
|
||||
Desktop control CLI for AI agents on Linux X11. Compact JSON output
|
||||
for agent loops. Screenshot, click, type, scroll, drag, and manage
|
||||
windows through a fast client-daemon architecture. 100% native Rust.
|
||||
Desktop control CLI for AI agents on Linux X11. Compact JSON output for
|
||||
agent loops. Screenshot, click, type, scroll, drag, and manage windows
|
||||
through a fast client-daemon architecture. 100% native Rust.
|
||||
</p>
|
||||
|
||||
<h2>Getting started</h2>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue