Skip to content

feat(macos): shell commands and window actions - #20

Merged
spacedevin merged 1 commit into
mainfrom
feat/macos-keychain-shell-windows
Oct 8, 2026
Merged

spacedevin merged 1 commit into
mainfrom
feat/macos-keychain-shell-windows

Conversation

@spacedevin

Copy link
Copy Markdown
Member

Adds two APIs Moo currently implements natively, so it can drop shell.rs and winctl.rs:

  • macos.shell.run(command, { cwd, args, timeoutMs }, cb): /bin/sh -c on a background thread. args are $1, $2, … (never spliced into the command), output is capped at 1 MB, and the process group is killed on timeout. Callback on the main thread.
  • macos.accessibility.windowAction(pid, action): minimize, unminimize (all), fullscreen (toggle), close, raise. Returns { count } or { error }.

README updated. The shell tests come from Moo, where they pass. cargo test -p tishlang_macos doesn't compile on main right now because of existing errors in appkit/build.rs (unrelated).

macos.shell.run runs /bin/sh -c in the background with positional arguments, capped output and
a timeout that kills the whole process group. macos.accessibility.windowAction minimizes,
unminimizes, toggles full screen, closes or raises another app's window.
@spacedevin
spacedevin merged commit bac6c34 into main Oct 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant