372315b6ed
create tests
2026-03-25 19:04:12 -04:00
68b68a3c82
clean out src, move mod into lib, remove trash
2026-03-25 19:04:03 -04:00
d0041589b3
init openspec
2026-03-25 18:46:42 -04:00
7dfab68304
mv skills into own dir
2026-03-25 18:36:21 -04:00
github-actions[bot]
bcf5f43fad
release: v0.1.1 [skip ci]
2026-03-25 22:34:39 +00:00
Hari
6dce22eaef
stabilize ( #3 )
...
* specs
* Stabilize deskctl runtime foundation
Co-authored-by: Codex <noreply@openai.com>
* opsx archive
---------
Co-authored-by: Codex <noreply@openai.com>
2026-03-25 18:31:08 -04:00
Hari
d487a60209
openspec init ( #2 )
2026-03-25 17:31:55 -04:00
a6ea5cc9e8
changes (detect paths + calculate version)
...
|
build [cargo, docker] (parallel matrix)
|
update-manifests (bump Cargo.toml, commit, tag)
|
release (GitHub release + checksums)
2026-03-25 16:54:11 -04:00
4bd14c0da3
ci
2026-03-25 16:44:58 -04:00
6845f6b7e4
Acknowledgements
2026-03-25 16:31:15 -04:00
f241dcc1c2
gitignore
2026-03-25 16:25:14 -04:00
07124001eb
favicon
2026-03-25 16:24:27 -04:00
9a178e0b3a
font
2026-03-25 16:04:04 -04:00
e3c96878b1
scaffold docs
2026-03-25 16:04:04 -04:00
600fd6503b
base
2026-03-25 16:04:04 -04:00
26ec452878
public
2026-03-25 16:04:04 -04:00
50c9594780
site init (barrett)
2026-03-25 16:04:04 -04:00
f05f441dee
gitignore and comment
2026-03-25 15:16:42 -04:00
2b65c83245
temp rm uva
2026-03-25 13:40:34 -04:00
76d810a44f
uva
2026-03-25 13:18:11 -04:00
01332db3bf
ci
2026-03-25 13:10:54 -04:00
5d655de594
docker-compose build
2026-03-25 12:40:14 -04:00
b108be8afe
rename
2026-03-25 12:28:38 -04: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
cc7490993a
edition
2026-03-24 23:07:50 -04:00
46dd2f9c53
rename deps
2026-03-24 23:02:44 -04:00
62a1aab859
rename
2026-03-24 22:59:21 -04:00
9adc74f6b7
gitignore
2026-03-24 22:00:27 -04:00
03dfd6b6ea
Phase 6: utility commands, SKILL.md, AGENTS.md, README.md
...
- Implement screen_size via xcap Monitor, mouse_position via x11rb
query_pointer, standalone screenshot with optional annotation,
launch for spawning detached processes
- Handler dispatchers for get-screen-size, get-mouse-position,
screenshot, launch
- SKILL.md agent discovery file with allowed-tools frontmatter
- AGENTS.md contributor guidelines for AI agents
- README.md with installation, quick start, architecture overview
2026-03-24 21:40:29 -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
17d4a1edeb
Initial commit: add .gitignore
2026-03-24 21:08:54 -04:00