Skip to content

shuttle v0.1.11

Choose a tag to compare

@github-actions github-actions released this 20 Oct 21:14
· 91 commits to main since this release
  • Auto input. [desk] input = "auto" sends desk input in the background and takes the foreground only for an action that background input refused before anything was sent: shuttle brings that action's window to the front, runs it once in the foreground, and its result says "input": "foreground". A Windows drag runs in the foreground from the start. Input the driver could not confirm comes back with unverified, as in background, and is never sent twice. gui_plan types a step again in the foreground only when its read-back shows that nothing landed and the front held, and a step background refuses before sending anything (a macOS menu-bar entry, grounding, a pixel state read, a vision expect) fronts the plan window and runs, with the rest of the plan, in the foreground. On Linux and with an [android] section, auto acts as foreground (safety.md).
  • macOS menu-bar icon. The indicator is an 18 pt template icon in place of the Shuttle text: outlined when idle, filled while acting, struck through when stopped. Its tooltip and the first line of its menu name the version and the input mode. The icons are vector PDFs built into the binary, and the item redraws only when its state changes. A menu-bar manager such as Ice puts a new item in its hidden section until you move it (safety.md).
  • macOS windows on another Space. With [desk] input = "background", windows on macOS also lists the windows on another Space, a desktop or a full-screen app's, marked space: "other" and never active, so background input can name them; before, a window on another Space was missing from the list even by pid. Background input by title no longer picks an app's hidden window that belongs to no Space over its window on a Space, and refuses a title that two windows of one app share across Spaces, naming both. When the driver cannot confirm input to a window on another Space, unverified adds that its capture may be stale. In background mode snapshot, find, at and close on such a window fail with "is on another Space" in place of "no window". The listing asks WindowServer for the windows of the Spaces no display shows, about 1 ms per windows call in background mode; the private calls it uses are looked up at run time, so a macOS without them only loses the list.