Right-click and drag on the desktop.
Version 1.27.0 ·
Desktop opens context menus and drags between two points, and switching a surface on or off now reaches every client already wired to Cupertino.
Share this release
Right-click and drag on the desktop. Desktop opens context menus and drags between two points, and switching a surface on or off now reaches every client already wired to Cupertino. https://cupertino.mgcrea.io/changelog/1.27.0/
Added
Desktop can right-click and drag.
apple_desktop_show_menuopens an element's context menu without moving the pointer or bringing the app forward, and the tree marks which elements offer one. For a view with nothing to ask, such as a drawing canvas,apple_desktop_clicknow takesbutton: "right". While a menu is open,ui_treeandfind_elementslist its items first, wherever the app hung it, so an item is pressed like any other control.apple_desktop_dragpresses, moves and releases between two handles or points, for moving something on a canvas, a slider or a splitter; the press and the drop are both refused unless they land on a window of an app within reach. Both arerunsteps.
Changed
Clients you have configured stay current. Switching a surface on adds it to every client already wired to Cupertino, and switching one off takes it out, without a visit to each client's pane. A surface that arrives in an update and starts switched on is added at the next launch, and an entry still pointing at a copy of Cupertino that is no longer there is pointed at this one. A client that has never been configured is left alone, and so is one wired to another copy of Cupertino that is still installed. Entries that are already right are not rewritten. A folder's
.mcp.jsonis never touched. It is off in a copy that is not in an Applications folder, anddefaults write io.mgcrea.cupertino autoWireClients -bool NOturns it off altogether.
Fixed
A Desktop click right after bringing an app forward is no longer refused.
clickandhoverat a point, given the app'sbundleId, could answer that the point was "not on a window of" an app whose window covered it. The app had come to the front, but its window had not yet been stacked on top. The check now waits up to half a second for the window to arrive.Updating a Mail draft no longer deletes it when the save fails.
apple_mail_update_drafttook any other draft already carrying the subject, such as one of Mail's autosaved copies, as proof that the replacement was saved, and deleted the original with nothing saved in its place.An element reporting an impossible frame no longer quits Cupertino. A window or control whose frame came back as NaN, as some Simulator windows' do, made
ui_tree,find_elementsorlist_windowsterminate the app and every surface's connection with it. It now reads as an element with no frame.Mail's account allowlist holds for mailboxes. With
APPLE_MAIL_ACCOUNTSnaming no account that exists,apple_mail_list_mailboxeslisted every account's mailboxes instead of none.apple_desktop_keyrefuses modifiers it cannot read. Amodifiersgiven as a string, or a list with something other than names in it, was dropped and the bare key sent, so "a" was typed where select-all was meant and the call still reported success.The activity log no longer reports a removed record after a full disk. A write that failed could leave an empty log file behind, and the next launch started a new chain from it, so verification said a record was missing from a log nothing had been removed from.
Safari says when it may need reopening. A page action that times out while no site has been captured for over half an hour now names a stopped extension as the likely cause, rather than only a missing site permission.