Releases: madewokherd/xalia
xalia-0.4.5
Changes since 0.4.4:
- Disabled the fallback mapping of right stick to scroll wheel.
- Added a work-around for Delphi applications sometimes focusing an invisible "application" window.
- Fixed use of ReadProcessMemory on Wine.
- Updated SDL to 2.30.8.
- Made scrolling with right stick continue when the targeted control is scrolled out of view.
- Fixed a possible stack overflow on Linux.
- Various improvements to Win32 listview support. In particular, individual cells and column headers can now be targeted in details view.
- Fixed a crash when used on some non-English locales (#48).
- Updated to .NET 9.
- Added support for modifying input bindings in Unity3D launchers.
xalia-0.4.4
Changes since 0.4.3:
- Added an accessibility tree viewer, which can be activated with the
XALIA_DEBUG_TREEVIEW
environment variable. - GUDL: Added the ability to create "enum" objects.
- GUDL: Added a
hex()
function which formats integers as hex. - Added a special case to make navigation between scrollbars and content more logical. For example, moving "up" from a vertical scrollbar to content, or "down" from content to the scrollbar is no longer possible.
- Win32: Fixed a regression where quantized updates of hwnd trackbars weren't happening.
- Updated Tmds.DBus.Protocol to 0.20.0
xalia-0.4.3
Changes since 0.4.2:
- The builds are now done by CI.
- Lots of minor bug fixes, app-specific workarounds, and new features usable in GUDL.
- The directional navigation algorithm has been completely rewritten. Horizontal movement is now "strict", meaning an element must be directly to the left or right to be considered. Vertical movement is "loose", meaning there is no requirement that an element be directly above or below to be considered.
- Dependencies
- Updated Tmds.DBus.Protocol to 0.19.0.
- Updated SDL to 2.30.5.
xalia-0.4.2
Windows:
- MSAA code now runs in a dedicated background thread for each remote Win32 thread. This fixes MSAA support in Proton.
- Elements that have both an MSAA implementation and a known Win32 class will use both.
- UI Automation support has been started.
- Fixed send_click for various element types.
- Added a work-around for the buttons in Atelier Ryza launcher.
- The special cases for the original (non-special edition) Skyrim launcher have been generalized so that they work with similar Bethesda launchers, including Skyrim Special Edition and Fallout 3.
- When a listview control has checkboxes, the "primary action" for listview items is to toggle the checkbox, while the "secondary action" is a single click.
- Added a work-around for a bug in the Fallout launchers on Windows, where the active window after a dialog closes is the dialog that just closed (which is in reality only hidden). I don't understand how a hidden window can be the active window, but it's now possible to interact with controls on the main window when this happens.
Linux:
- An
spi_toggle_selected
action has been added which toggles the selected state of an element. This is not used by default because it did not work as well as I'd hoped. - Fixed a crash in
WatchProperty
whenspi_supported
is first checked.
All platforms:
- The targeting box will no longer display when no inputs are bound to it. In practice, this means it will only display when a gamepad is plugged in.
- The debug output for GUDL expressions has been fixed for certain expressions, and there are fewer unnecessary parentheses (for example,
a + b + c
is no longer printed as((a + b) + c)
.
xalia-0.4.1
Added support for win32 listview controls and various tweaks for the Skyrim launcher.
xalia-0.4.0
This release replaces both the Linux and Windows backends.
The new Linux backend is based on Tmds.DBus.Protocol, a lower level library. It has feature-parity with the older Tmds.DBus backend, while losing some limitations and work-arounds that Tmds.DBus made necessary.
The new Windows backend is based primarily on the Win32 API and MSAA, unlike the old backend which was based on UI Automation. This one isn't nearly as featured as the backend it's replacing. Unfortunately, Windows accessibility is a mess of different technologies with various bits of glue holding them together. I was hoping that UI Automation would provide a good interface to all of this, but it turns out that none of the proxies are adequate (either MSAA-to-UIA or Win32-to-MSAA). And so, the best long-term solution appears to be to interact directly with whatever the application provides (Win32 messaging, MSAA, or UI Automation), rather than depend on UI Automation for everything as before.
There's a pretty good chance that for Win32 we'll eventually want some proxy that hooks other processes, in order to switch it to a push model (like what browsers are doing), but I'm resisting this as long as I can because I want to encourage more people to use accessibility APIs, and that sort of example is not encouraging.
xalia-0.3.2
This adds a layered window based implementation for the overlay box on Windows. The default implementation is now the layered window on Windows, and 4 rectangular windows on other platforms.
xalia-0.3.1
This adds an option that configures Xalia as a Wine system process. There is no currently-released version of Wine where Xalia can actually run, so it's not immediately useful. The feature is to support some potential integration with a future Proton release.
xalia-0.3
Far too many changes to name in this one. That's what happens when you keep working and don't release for 6 months, I guess.
xalia-0.2
This release adds Windows support.
There are some minor improvements to startup behavior on Linux. Xalia will now use the Status.IsEnabled property to notify other programs that an accessibility tool is active, and it will attempt to start the AT-SPI2 registry service.