• Colin Walters's avatar
    bus: Rewrite a11y bus management, don't fall back to session bus · ce599c14
    Colin Walters authored
    First of all, there should *always* be an a11y bus; if I enable
    toolkit-accessibility, and apps pick that up but then libat-spi falls
    back to the session bus, that's broken.
    
    Fix this by rewriting the a11y bus launcher in C, making it a persistent
    session service, and giving it a DBus API (bus name: org.a11y.Bus).  It
    will start the bus process as a child dynamically; however if
    toolkit-accessibility is enabled, we start it on startup.  For more
    information, see the new file bus/README.
    
    Details:
    
    * Create a .service file so the session bus autostarts us if
      necessary
    * The .desktop file is changed to use --start-immediately
    * Remove the kill_accessibility_bus() hack in registryd; instead
      we chain at-spi-bus-launcher to the session bus lifecycle.
    * Change at-spi bus lookup to try both the new session bus API
      and the X11 root window property.
    * Create libregistry-internals.la which encapsulates a11y bus
      lookup logic, de-duplicating from atspi/ and registryd/.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=644851
    ce599c14