Module: ATSPI

Extended by:
Forwardable
Defined in:
lib/atspi.rb,
lib/atspi/window.rb,
lib/atspi/desktop.rb,
lib/atspi/extents.rb,
lib/atspi/version.rb,
lib/atspi/state_set.rb,
lib/atspi/accessible.rb,
lib/atspi/collection.rb,
lib/atspi/application.rb,
lib/atspi/accessible/image.rb,
lib/atspi/accessible/table.rb,
lib/atspi/accessible/value.rb,
lib/atspi/error_accessible.rb,
lib/atspi/accessible/children.rb,
lib/atspi/accessible/table/cell.rb,
lib/atspi/accessible/table/rows.rb,
lib/atspi/accessible/text/caret.rb,
lib/atspi/accessible/text/range.rb,
lib/atspi/selectable_collection.rb,
lib/atspi/accessible/descendants.rb,
lib/atspi/accessible/text/offset.rb,
lib/atspi/accessible/table/columns.rb,
lib/atspi/accessible/text/character.rb,
lib/atspi/accessible/text/selection.rb,
lib/atspi/accessible/table/cell/rows.rb,
lib/atspi/accessible/hyperlink/anchor.rb,
lib/atspi/accessible/children/selected.rb,
lib/atspi/accessible/table/cell/columns.rb,
lib/atspi/accessible/table/rows/selected.rb,
lib/atspi/selectable_collection/selected.rb,
lib/atspi/accessible/table/columns/selected.rb,
lib/atspi/accessible/descendants/role_filter.rb,
lib/atspi/accessible/descendants/state_filter.rb,
lib/atspi/accessible/descendants/attribute_filter.rb,
lib/atspi/accessible/descendants/interface_filter.rb

Overview

ATSPI is the entry point to access accessible objects.

Defined Under Namespace

Modules: Collection, SelectableCollection Classes: Accessible, Application, Desktop, ErrorAccessible, Extents, StateSet, Window

Constant Summary collapse

VERSION =
"0.10.0"

Class Method Summary collapse

Class Method Details

.applications(desktop = desktops.first) ⇒ Array<Application>

Returns all applications for the given desktop.

Examples:

ATSPI.applications # => [#<ATSPI::Application:0x71d18014 @desktop=0 @name="gnome-terminal-server">, …]

Parameters:

  • desktop (Desktop) (defaults to: desktops.first)

Returns:



44
45
46
47
48
49
50
# File 'lib/atspi.rb', line 44

def applications(desktop = desktops.first)
  if desktop
    desktop.applications
  else
    []
  end
end

.available?true, false

Checks if AT-SPI is activated on the system

Returns:

  • (true, false)


12
13
14
15
# File 'lib/atspi.rb', line 12

def available?
  session_bus = DBus::SessionBus.instance
  session_bus.service('org.a11y.Bus').exists?
end

.desktopsArray<Desktop>

Returns all desktops known to AT-SPI.

Examples:

ATSPI.desktops # => [#<ATSPI::Desktop:0xd4e81014 @index=0 @name="main">]

Returns:

See Also:



26
27
28
29
30
31
32
33
34
# File 'lib/atspi.rb', line 26

def desktops
  @desktops ||= if available?
    Libatspi.get_desktop_count.times.map do |idx|
      Desktop.new(Libatspi.get_desktop(idx))
    end
  else
    []
  end
end

.generate_keyboard_event(keyval, keystring, synth_type) ⇒ true, false

Generates a custom keyboard event.

Delegates directly to libatspi’s generate_keyboard_event

Parameters:

  • keyval (Integer)
  • keystring (String)
  • synth_type (Symbol)

    one of :sym, :string, :press, :release or :pressrelease

Returns:

  • (true, false)


73
# File 'lib/atspi.rb', line 73

delegate %i(generate_keyboard_event generate_mouse_event) => :Libatspi

.generate_mouse_event(x, y, name) ⇒ true, false

Generates a custom mouse event.

Delegates directly to libatspi’s generate_mouse_event

Parameters:

  • x (Integer)
  • y (Integer)
  • name (String)

Returns:

  • (true, false)


73
# File 'lib/atspi.rb', line 73

delegate %i(generate_keyboard_event generate_mouse_event) => :Libatspi