Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Hackery via the AX (Accessibility) APIs

branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.mdown

Haxcessibility

Haxcessibility is, above all, a horrible pun on Mac OS X’s Accessibility framework and its AX prefix. I am shameless.

Second to that, Haxcessibility is a use case–driven remote control for Mac apps by Mac apps. It enables hacks like moving and resizing another app’s windows, and there’s loads more that the AX APIs make possible that Haxcessibility could make convenient with a method or two.

Use it

Resize the focused app’s focused window to fullscreen on a 27" iMac:

[HAXSystem system].focusedApplication.focusedWindow.size = NSMakeRect(0, 0, 2560, 1440);

Close all windows in the focused app:

[[HAXSystem system].focusedApplication.windows makeObjectsPerformSelector:@selector(close)];

Improve it

Don’t see the feature you want? Fortunately, it’s pretty easy to add your own convenience methods. Fork Haxcessibility and send me a pull request with your code.

You’ll want to pay special attention to the HAXElement+Protected.h private header. HAXElement is the root of most functionality in Haxcessibility, and this header declares the conveniences defined for wrapping more of the Accessibility APIs’ functionality.

Thanks to

This framework would not be what it is without the help of:

  • Decimus Software for DTerm, which showed us what you can do with the Accessibility APIs

  • DEVONtechnologies, LLC for their patronage of Grid, the original raison d’être of this framework

  • Scott Perry for his industrious work on Haxcessibility, which modernized it and increased its functionality greatly; and also for his project Switch, a window-based context switcher that motivated a lot of this effort

Something went wrong with that request. Please try again.