1. 03 Feb, 2023 8 commits
  2. 29 Nov, 2022 2 commits
  3. 27 Nov, 2022 1 commit
    • Corey Berla's avatar
      atspicontext: Log failure to connect to a11y · 16fd72e6
      Corey Berla authored
      GTK depends on the a11y infrastructure to be in place unless GTK_A11Y is
      set to none.  It appears that despite that, users attempt to
      get around the a11y requirement without setting GTK_A11Y.
      This can cause, amongst other issues, performance problems
      with gtk applications.  Log failure to connect to the a11y
  4. 23 Sep, 2022 1 commit
  5. 09 Sep, 2022 1 commit
    • Matthias Clasen's avatar
      a11y: Be safe against state type changes · 4c1bc93f
      Matthias Clasen authored
      For some of the a11y states, calling gtk_accessible_reset_state
      can change the type of the state value from boolean or tristate
      to undefined.
      Handle that, instead of throwing criticals.
      Related: !4910
  6. 25 May, 2022 1 commit
  7. 19 Apr, 2022 1 commit
    • Emmanuele Bassi's avatar
      a11y: Defer object registration after root registration · 17262d15
      Emmanuele Bassi authored
      The root accessible object is registered asynchronously, as it needs to
      call a method on the AT-SPI registry daemon. This means we need to defer
      registering the GtkAtSpiContext on the accessibility bus and in the
      cache until after the registration is complete.
      Fixes: #4825
  8. 14 Dec, 2021 1 commit
  9. 20 Nov, 2021 1 commit
  10. 19 Nov, 2021 1 commit
  11. 29 Sep, 2021 1 commit
    • Matthias Clasen's avatar
      a11y: Simplify atspi context a bit · 01abd156
      Matthias Clasen authored
      We don't really need a bus-address property
      that gets copied for every single object.
      We keep the address in object data on the
      display anyway. Just use it from there.
      This gets rid of a nice amount of strdups
      at startup.
  12. 22 May, 2021 1 commit
  13. 21 Apr, 2021 1 commit
  14. 20 Apr, 2021 2 commits
    • Emmanuele Bassi's avatar
      a11y: Emit window:activate event · 639932ad
      Emmanuele Bassi authored
      Orca uses the window:activate event type to track top levels, and avoid
      being spammed by events coming from non-focused windows.
    • Matthias Clasen's avatar
      a11y: Emit focus events · ae83b799
      Matthias Clasen authored
      Orca relies on these to keep track of the focus location,
      ignoring the focused state. With this change, orca can
      once again speak text in entries as I type.
  15. 19 Apr, 2021 2 commits
  16. 17 Apr, 2021 1 commit
  17. 13 Apr, 2021 1 commit
  18. 05 Dec, 2020 1 commit
  19. 23 Nov, 2020 2 commits
  20. 16 Nov, 2020 3 commits
    • Emmanuele Bassi's avatar
      a11y: Implement atspi.Cache · 9de2b4b0
      Emmanuele Bassi authored
      The AT-SPI cache interface is used to quickly populate the accessible
      objects tree.
      The tricky bit is ensuring that we emit change notifications on the
      cache only when the cache is available, which means waiting until the
      root is asynchronously registered.
    • Emmanuele Bassi's avatar
      a11y: Add getters for GtkAtSpiContext · bc4f71a1
      Emmanuele Bassi authored
      We are going to use them in order to implement atspi.Cache.
    • Emmanuele Bassi's avatar
      a11y: Compute the base path in the root object · eec92b40
      Emmanuele Bassi authored
      The root path is shared by all AtSpiContext instances, so we should
      compute it once, instead of every time we instantiate a new context.
      This allows us to defer the path creation at realization time and ensure
      that we have a registered application.
  21. 11 Nov, 2020 2 commits
  22. 09 Nov, 2020 1 commit
  23. 04 Nov, 2020 2 commits
  24. 25 Oct, 2020 1 commit
  25. 24 Oct, 2020 1 commit
    • Matthias Clasen's avatar
      a11y: Redo child-added/-removed for toplevels · 2546b886
      Matthias Clasen authored
      Instead of monitoring the list of toplevels, rely
      on GtkWindow updating the HIDDEN state before windows
      get removed. This is better, since we still have the
      object available when it happens, so we can pass it
      to the ATs.