blob: a0fa0edd6bd0356271a1600571d42394b6583ae9 [file] [log] [blame]
#!/usr/bin/python3
# Copyright (c) 2019 Red Hat and others. All rights reserved.
# The contents of this file are made available under the terms
# of the GNU Lesser General Public License (LGPL) Version 2.1 that
# accompanies this distribution (lgpl-v21.txt). The LGPL is also
# available at http://www.gnu.org/licenses/lgpl.html. If the version
# of the LGPL at http://www.gnu.org is different to the version of
# the LGPL accompanying this distribution and there is any conflict
# between the two license versions, the terms of the LGPL accompanying
# this distribution shall govern.
#
# Contributors:
# Red Hat - initial API and implementation
import pyatspi
def printTree(root, indent=0):
try:
extents = root.queryComponent().getExtents(pyatspi.WINDOW_COORDS)
except:
extents = "()"
print ("%s-> %s %s" % (" " * indent, root, extents))
for child in root:
printTree(child, indent+4)
def listener(e):
# Substitute SWT here for snippets
if e.host_application.name != "Eclipse":
return
print("%s is activated. Accessibility tree with extents:" % e.source)
printTree(e.source)
pyatspi.Registry.registerEventListener(listener, "window:activate")
pyatspi.Registry.start()