WIP: AX port and noatspi work

This commit is contained in:
Storm Dragon
2025-12-25 20:51:34 -05:00
parent 0a18de8e87
commit e134bf97d5
103 changed files with 12882 additions and 3556 deletions

View File

@@ -28,6 +28,9 @@
to open an existing presentation.
"""
import gi
gi.require_version('Atspi', '2.0')
from gi.repository import Atspi
from macaroon.playback import *
sequence = MacroSequence()
@@ -48,13 +51,13 @@ sequence.append(WaitForWindowActivate("subtlewaves - OpenOffice.org Impress", No
# 2. Enter Alt-f, Alt-c to close the presentation window.
#
sequence.append(KeyComboAction("<Alt>f"))
sequence.append(WaitForFocus("New", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("New", acc_role=Atspi.Role.MENU))
sequence.append(KeyComboAction("<Alt>c"))
sequence.append(WaitAction("object:property-change:accessible-name",
None,
None,
pyatspi.ROLE_ROOT_PANE,
Atspi.Role.ROOT_PANE,
30000))
######################################################################

View File

@@ -28,6 +28,9 @@
the OOo Presentation startup wizard.
"""
import gi
gi.require_version('Atspi', '2.0')
from gi.repository import Atspi
from macaroon.playback import *
sequence = MacroSequence()
@@ -42,7 +45,7 @@ sequence = MacroSequence()
# SPEECH OUTPUT: 'Next >> button'
#
sequence.append(WaitForWindowActivate("Presentation Wizard", None))
sequence.append(WaitForFocus("Next", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Next", acc_role=Atspi.Role.PUSH_BUTTON))
######################################################################
# 2. Press Return to get to the second screen of the startup wizard.
@@ -62,7 +65,7 @@ sequence.append(KeyComboAction("Return"))
# SPEECH OUTPUT: 'Create button'
#
sequence.append(KeyComboAction("Return"))
sequence.append(WaitForFocus("Create", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Create", acc_role=Atspi.Role.PUSH_BUTTON))
######################################################################
# 4. Press Return to start up ooimpress with an empty presentation.
@@ -75,22 +78,22 @@ sequence.append(WaitForFocus("Create", acc_role=pyatspi.ROLE_PUSH_BUTTON))
#
sequence.append(KeyComboAction("Return"))
sequence.append(WaitForWindowActivate("Untitled1 - OpenOffice.org Impress", None))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_SCROLL_PANE))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.SCROLL_PANE))
######################################################################
# 5. Enter Alt-f, Alt-c to close the presentation window.
#
sequence.append(KeyComboAction("<Alt>f"))
sequence.append(WaitForFocus("New", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("New", acc_role=Atspi.Role.MENU))
sequence.append(KeyComboAction("<Alt>c"))
sequence.append(WaitForFocus("Save", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Save", acc_role=Atspi.Role.PUSH_BUTTON))
######################################################################
# 6. Enter Tab and Return to discard the current changes.
#
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("Discard", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Discard", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("Return"))

View File

@@ -27,6 +27,9 @@
OOo-dev 2.3.0 simpress application startup wizard hangs the desktop.
"""
import gi
gi.require_version('Atspi', '2.0')
from gi.repository import Atspi
from macaroon.playback import *
sequence = MacroSequence()
@@ -41,7 +44,7 @@ sequence = MacroSequence()
# SPEECH OUTPUT: 'Next >> button'
#
sequence.append(WaitForWindowActivate("Presentation Wizard", None))
sequence.append(WaitForFocus("Next", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Next", acc_role=Atspi.Role.PUSH_BUTTON))
######################################################################
# 2. Press Space to get to the second screen of the startup wizard.
@@ -61,7 +64,7 @@ sequence.append(KeyComboAction("space"))
# SPEECH OUTPUT: 'Create button'
#
sequence.append(KeyComboAction("space"))
sequence.append(WaitForFocus("Create", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Create", acc_role=Atspi.Role.PUSH_BUTTON))
######################################################################
# 4. Press Space to start up ooimpress with an empty presentation.
@@ -74,22 +77,22 @@ sequence.append(WaitForFocus("Create", acc_role=pyatspi.ROLE_PUSH_BUTTON))
#
sequence.append(KeyComboAction("space"))
sequence.append(WaitForWindowActivate("Untitled1 - OpenOffice.org Impress", None))
sequence.append(WaitForFocus("", acc_role=pyatspi.ROLE_SCROLL_PANE))
sequence.append(WaitForFocus("", acc_role=Atspi.Role.SCROLL_PANE))
######################################################################
# 5. Enter Alt-f, Alt-c to close the presentation window.
#
sequence.append(KeyComboAction("<Alt>f"))
sequence.append(WaitForFocus("New", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("New", acc_role=Atspi.Role.MENU))
sequence.append(KeyComboAction("<Alt>c"))
sequence.append(WaitForFocus("Save", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Save", acc_role=Atspi.Role.PUSH_BUTTON))
######################################################################
# 6. Enter Tab and Return to discard the current changes.
#
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("Discard", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Discard", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("Return"))

View File

@@ -27,6 +27,9 @@
OOo simpress crashes when trying to change view modes.
"""
import gi
gi.require_version('Atspi', '2.0')
from gi.repository import Atspi
from macaroon.playback import *
sequence = MacroSequence()
@@ -52,28 +55,28 @@ sequence.append(WaitForWindowActivate("subtlewaves - OpenOffice.org Impress", No
# SPEECH OUTPUT: 'scroll pane'
#
sequence.append(KeyComboAction("<Alt>v"))
sequence.append(WaitForFocus("Normal", acc_role=pyatspi.ROLE_MENU_ITEM))
sequence.append(WaitForFocus("Normal", acc_role=Atspi.Role.MENU_ITEM))
sequence.append(KeyComboAction("Down"))
sequence.append(WaitForFocus("Outline", acc_role=pyatspi.ROLE_MENU_ITEM))
sequence.append(WaitForFocus("Outline", acc_role=Atspi.Role.MENU_ITEM))
sequence.append(KeyComboAction("Return"))
sequence.append(WaitForFocus("Paragraph 0", acc_role=pyatspi.ROLE_PARAGRAPH))
sequence.append(WaitForFocus("Paragraph 0", acc_role=Atspi.Role.PARAGRAPH))
######################################################################
# 3. Enter Alt-f, Alt-c to close the presentation window.
#
sequence.append(KeyComboAction("<Alt>f"))
sequence.append(WaitForFocus("New", acc_role=pyatspi.ROLE_MENU))
sequence.append(WaitForFocus("New", acc_role=Atspi.Role.MENU))
sequence.append(KeyComboAction("<Alt>c"))
sequence.append(WaitForFocus("Save", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Save", acc_role=Atspi.Role.PUSH_BUTTON))
######################################################################
# 4. Enter Tab and Return to discard any changes.
#
sequence.append(KeyComboAction("Tab"))
sequence.append(WaitForFocus("Discard", acc_role=pyatspi.ROLE_PUSH_BUTTON))
sequence.append(WaitForFocus("Discard", acc_role=Atspi.Role.PUSH_BUTTON))
sequence.append(KeyComboAction("Return"))
######################################################################