Commit graph

19 commits

Author SHA1 Message Date
github-actions[bot]
85e1916635 release: v0.1.13 [skip ci] 2026-03-27 14:10:07 +00:00
github-actions[bot]
3a8d9f90c1 release: v0.1.12 [skip ci] 2026-03-26 19:31:47 +00:00
github-actions[bot]
580ea79c27 release: v0.1.11 [skip ci] 2026-03-26 18:47:09 +00:00
github-actions[bot]
8d690a62b4 release: v0.1.10 [skip ci] 2026-03-26 18:28:13 +00:00
github-actions[bot]
e61c5bc33f release: v0.1.9 [skip ci] 2026-03-26 16:03:29 +00:00
github-actions[bot]
844f2f2bc6 release: v0.1.8 [skip ci] 2026-03-26 13:37:41 +00:00
86c36a3b50 release: v0.1.7 [skip ci] 2026-03-26 08:53:50 -04:00
github-actions[bot]
1092e503be release: v0.1.6 [skip ci] 2026-03-26 03:25:14 +00:00
github-actions[bot]
425a71095a release: v0.1.5 [skip ci] 2026-03-26 02:04:56 +00:00
github-actions[bot]
61f4738311 release: v0.1.4 [skip ci] 2026-03-26 01:16:24 +00:00
github-actions[bot]
cc8f8e548a release: v0.1.3 [skip ci] 2026-03-25 23:47:58 +00:00
github-actions[bot]
bcf5f43fad release: v0.1.1 [skip ci] 2026-03-25 22:34:39 +00:00
e392ba1055 Rewrite X11 backend to drop xcap
Use x11rb directly for screenshot capture and window metadata so the Linux build no longer drags in Wayland build dependencies.

Co-authored-by: Codex <noreply@openai.com>
2026-03-25 12:28:23 -04:00
62a1aab859 rename 2026-03-24 22:59:21 -04:00
567115a6c2 Phase 5: window management via x11rb
- Add x11rb 0.13 dependency with randr feature
- RustConnection and root window in X11Backend
- Focus window via _NET_ACTIVE_WINDOW client message
- Close window via _NET_CLOSE_WINDOW client message
- Move/resize via configure_window
- Handler dispatchers for focus, close, move-window, resize-window
- list-windows command re-runs snapshot for fresh window tree
2026-03-24 21:36:56 -04:00
314a11bcba Phase 4: mouse + keyboard input via enigo
- Add enigo 0.6 dependency (x11rb/XTest backend)
- Enigo field in X11Backend for input simulation
- Click, double-click at absolute coords or @wN ref centers
- Type text into focused window, press individual keys
- Hotkey combinations (modifier press, key click, modifier release)
- Mouse move, scroll (vertical/horizontal), drag operations
- parse_key() mapping human-readable names to enigo Key values
- Handler dispatchers with ref resolution and coord parsing
2026-03-24 21:33:30 -04:00
0072a260b8 Phase 3: screenshot annotation with bounding boxes and @wN labels
- Add imageproc and ab_glyph dependencies
- Annotation module drawing colored bounding boxes per window
- White @wN labels on dark background at each window's top-left
- 8-color palette cycling for distinct window identification
- Back-to-front iteration so topmost labels are not occluded
- Embedded DejaVu Sans Mono font via include_bytes
- Wire --annotate flag into snapshot pipeline
2026-03-24 21:28:10 -04:00
79e6e0e25c Phase 2: snapshot - window tree + screenshot via xcap
- Add xcap and image dependencies
- DesktopBackend trait with all 16 methods for future extensibility
- X11Backend with real snapshot() using xcap Window::all() and
  Monitor::all() for z-ordered window enumeration and screenshot
- Stub implementations for input/window management (phases 4-6)
- Wire X11Backend into DaemonState (now returns Result)
- Real snapshot handler replacing placeholder, updates ref map
2026-03-24 21:24:34 -04:00
dfaa339594 Phase 1: project scaffold, clap CLI, self-re-exec daemon, NDJSON IPC
- Cargo.toml with clap, tokio, serde, anyhow dependencies
- Entry point with env-var routing to daemon or CLI mode
- Core protocol types (Request/Response NDJSON wire format)
- Session detection (X11 check with DISPLAY/XDG_SESSION_TYPE)
- RefMap with @wN selector resolution (direct, prefix, substring)
- Snapshot/WindowInfo shared types with Display impl
- clap derive CLI with all subcommands (snapshot, click, type, etc.)
- Client connection: socket path resolution, daemon auto-start via
  self-re-exec, NDJSON send/receive with retry backoff
- Tokio async daemon: Unix socket listener, accept loop, graceful
  shutdown via notify
- DaemonState holding session info and ref map
- Placeholder handler returning hardcoded snapshot response
2026-03-24 21:19:18 -04:00