Optimisation: + async unref's ... + cache Role & queryInterface results ... [!] 2.0.0: + fix bug #82509 which prevents return of boolean FALSE from SPI_registerKeystrokeListener for ALL_WINDOWS events when XGrabKey fails. + fix bug #84100 which means that keygrabs are not released by the registry when a client dies. Test to make sure grabs are released when a client requests deregistration of a key listener. 2.0.1: + fix bug affecting multihead at-spi behavior. 1.1 API Proposed Additions: + Need API for getting stacking order of toplevel windows. (bug #84097) 1.2 API Proposed Additions: + SPI_dupString () + Additional relation types: FLOWS_TO, FLOWS_FROM + SPIBoolean AccessibleText_getTextBounds (AccessibleText *text, long start_offset, long end_offset, long *x, long *y, long *width, long *height, SPI_COORD_TYPE type); + char * AccessibleText_getTextWithin (AccessibleText *text, long x, long y, long width, long height, SPI_COORD_TYPE type); /* *********************************************************** */ TODO: idl: // + audit IDL for conformance with bonobo/doc/FAQ's [Java] // naming practice [Michael] cspi: + ensure spi-listener-impl's list notification methods don't have a re-enterancy hazard. [Michael] registry: + move code into here from libspi [Michael] + fire an event on dead application & re-factor the listen for broken code. bridge: + move code into here from libspi libspi: + remove redundant casts throughout + determine if there are other headers we don't need to install + consider moving the non-impl. parts into registryd/ bridge/ etc. + complete conversion of static methods to "spi_" namespace. [Bill] test: + update test-simple to do complete API tests + Expand tests for AtkTable ================= for 2.4/'dev complete' [** denotes API extension!] ** ATK API for text range bounds? ** add ROLE_EDITBAR [describes objects, usually text entries, that describe and/or control the operation of other components. They both reflect stateful information about the application or the currently-focussed object within the app, and contain editable text. Examples include the URI/location entry field in browsers, the currently-active-file field in an editor, and the formula/edit field in a spreadsheet.] * multiple-workspace awareness * in deviceeventcontroller, better keysym/unicode mapping (i.e. more complete) * type checking in the 'event detail' methods (see TODO comments in cspi/spi_event.c) * fix silly assumption(s) about apps DISPLAY being same as registry, and being the GDK_DISPLAY() default. * remove listeners from the list if their processes die. * do better deregistration on registry finalize. * check what happens if XKB isn't available - make registry and bridges at least not trash things (even if nonfunctional). * deviceeventcontroller.c: Distinguish between physical and logical (i.e. button 1 versus "left mouse") mouse buttons. ======== 2.6: * use XIM for keysym/unicode mapping, string insertion. * toplevel windows: implement Z ordering via Component mdi_zorder API.