- Fix compiling extensions with Rubygems 2.6+
- Update deprecated constant uses (@asterix23)
- Update some documentation for Ruby 2.4
- Update test environment for Xcode 8.2 on macOS Sierra
- Update AXValue constants for OS X 10.11 changes (@fjwagner)
- Update test app for most recent Swift changes
- Fix building of the ScreenShooter extension
- Add a ScreenShooter module for taking screenshots
- Fix various warnings that show up when compiling against Yosemite system ruby
- Remove MacRuby support
- Convert test app to Swift
- Fix a C warning generated in the Sea Lion compatability code path
-
Print notice to standard out when AX access is required for an app (@tbartelmess)
-
Added
CGRect#to_point -
Highlighternow accepts bounds object that responds to#to_rect -
Disable keyboard events on Sea Lion (@tbartelmess)
-
Remove development dependencies from gemspec, keep them in the Gemfile
- Plug various memory leaks in
core.c - Improved error messages for
accessibility/coreon MRI
-
Add
Object#load_plistto match MacRuby'sObject#load_plist -
Add
URI::Generic#lastPathComponentto matchNSURL#lastPathComponent -
Add
URI::Generic#pathExtensionto matchNSURL#pathExtension -
Add a 50% drop-in replacement for
NSData -
Add a 50% drop-in replacement for
NSAttributedString -
Add
Object#descriptionas a freedom patch on MRINSObject#descriptionis the Objective-C equivalent toObject#inspectin Ruby. While the intention is the same, the exact behaviour cannot be mimicked. -
Fixed some bugs related to converting arrays from Cocoa to Ruby
- Add
Range#relative_toto convert ranges to positive indicies - Wrap all strings from Cocoa as UTF8
- Unwrap all ruby strings to Cocoa as UTF8
- Add
NSContainsRect()for MRI - Add
CGRect#contains?as equivalent ofNSContainsRect() - Change
Object#spinto useNSRunLoopinstead ofCFRunLoop(they are not as equivalent as the docs led me to believe) - Change
Object#spinto take a default argument of 0 seconds
- Release the real 0.3.2 gem, none of this non-regenerating gem bull
- Fix
Element#childrenraising when AXAPI returns failure error code - Conditionally defined
CGPoint/CGSize/CGRecton MRI - Tweak various bits of documentation related to Cocoa mappings
- Calculate
NSStringlength properly when wrapping in the C extension - Add a 10% drop-in replacement for
NSBundlefor AXElements - Add
wrap_dictionaryto wrapNSDictionaryobjects - Force
CGPoint/CGSizeattrs to beFloattype at initialize time - Add
Object#to_rubyandArray#to_rubywhen running on MRI
- Fix C extensions being installed to the wrong location
- Fix Accessibility module not always being defined at the appropriate time
-
Merge in
accessibility_bridgev0.2.0-
Add the
Batterymodule for collecting information about the battery status -
Add the
Accessibility::Highilghtermodule to highlight rectangles on the screen -
Add
NSScreen.wakeupmethod as a freedom patch to wake sleeping screens -
Add a 99% drop-in replacement for
NSRunningApplication -
Add a 20% drop-in replacement for
NSWorkspaceto complementNSRunningApplication -
Add a 66% drop-in replacement for
NSProcessInfofor collecting process info -
Add a 66% drop-in-replacement for
NSHostfor collecting host info -
Add a 20% drop-in replacement for
NSScreento help the highlighter -
Add a 33% drop-in replacement for
NSColorto help the highlighter -
Various bugs fixed (wrapping strings, URLs, rectangles...)
-
Various memory leaks plugged
NOTE: Percentages are somewhat arbitrary based on my personal usage.
-
- Update bridge dependency to v0.2.0
- Update bridge dependency to get a fix
- Fix documentation not being generated
- Fix C extension not being installed to the proper location
- Remove redundant core extensions provided by
accessibility_bridge
-
CRuby and MacRuby compatible
-
Added
Accessibilitynamespace -
Added
Accessibility::Elementclass/module as wrapper forAXUIElementRefstructs -
Added
Accessibility::Element.application_forthat takes a pid and returns an app reference -
Added
Accessibility::Element.system_widewhich returns the reference for the system wide reference -
Added
Accessibility::Element.element_atwhich returns the reference for the element at the given co-ordinates -
Added
Accessibility::Element.key_ratefor querying the typing speed -
Added
Accessibility::Element.key_rate=for setting the typing speed -
Added
Accessibility::Element#attributesfor getting a list of the elements's plain attributes -
Added
Accessibility::Element#attributefor getting the value of an attribute -
Added
Accessibility::Element#size_offor getting the size of an array attribute -
Added
Accessibility::Element#writable?for checking writability of an attribute -
Added
Accessibility::Element#setfor setting the value of an attribute -
Added
Accessibility::Element#rolefor getting the value of the role attribute -
Added
Accessibility::Element#subrolefor getting the value of the subrole attribute -
Added
Accessibility::Element#parentfor getting the value of the parent attribute -
Added
Accessibility::Element#childrenfor getting the value of the children attribute -
Added
Accessibility::Element#valuefor getting the value of the value attribute -
Added
Accessibility::Element#pidfor getting the process identifier for the app for an element -
Added
Accessibility::Element#parameterized_attributesfor getting the list of the element's parameterized attributes -
Added
Accessibility::Element#parameterized_attributefor getting the value of a parameterized attribute -
Added
Accessibility::Element#actionsfor getting the list of actions an element can perform -
Added
Accessibility::Element#performfor telling an element to perform an action -
Added
Accessibility::Element#postfor posting key events to an application -
Added
Accessibility::Element#invalid?for checking if an element is alive or dead -
Added
Accessibility::Element#set_timeout_tofor overriding the default messaging timeout -
Added
Accessibility::Element#applicationfor getting the toplevel element for an arbitrary element -
Added
Accessibility::Element#element_atfor getting app specific element at arbitrary co-ordinates -
Added
Accessibility::Element#==for testing equality of elements -
Depend on
accessibility_bridgefor bridging needs and core extensions