Dogtail

Latest version: v1.0.4

Safety actively analyzes 688027 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.0.1

Rebased with a number of contributions that were done to the master branch while we were working on Wayland and we have accidentaly not included them in 1.0.
See https://gitlab.com/dogtail/dogtail/-/issues/31
Also returned couple of modules we thought were of no use (tc, wrapped) but were proved otherwise to keep 1.0 fully compatible with 0.x.

1.0

We began working on the Wayland-enabled version over five years ago (originally available in the `devel/wayland` branch). It has taken all this time to ensure the solution is robust and reliable enough to warrant a 1.0 release. This version includes all the Wayland-related developments and other changes (like the GTK4 support tweaks mentioned below) and has been extensively tested. Importantly, it is backward compatible with the entire Dogtail API that has been available so far. This release includes all modules from the 0.9.x series, most notably the "procedural" module, which we plan to deprecate in favor of a completely "tree-based" approach in Dogtail 2.0.

That release will also involve significant cleanup, major code refactoring, and a transition from `pyatspi` to directly introspected `atspi`. It will also contain up date code examples and dogtail's unittests should pass with gitlab pipelines re-enabled.

For more details on these upcoming changes, see issue 29.

Important: Handling GTK4 Application Windows in Dogtail

For GTK4 applications, disabling window shadows is essential to ensure accurate positioning by Dogtail. With shadows disabled, we encounters a consistent coordinate offset, which we've preconfigured as `dogtail.config.gtk4Offset`. In case of working with fullscreen windows, the offset is 0, and we manage to detect that
on-the-fly both in x11 and wayland sessions. However this process requires `python-xlib`, even for Wayland sessions, leveraging Xwayland to ascertain resolution information, as no more direct method we've found currently available for Wayland.

When window shadows are active, the perceived offset can vary significantly, influenced by factors such as the specific application, window size, and scaling settings. To ensure consistent behavior across applications, disabling shadows is recommended.

Disabling Shadows in GTK4:

To disable window shadows, add the following CSS to your GTK4 configuration (`~/.config/gtk-4.0/gtk.css`):

window, .popover, .tooltip {
box-shadow: none;
}

0.9.10

==============

There has been a good deal of fixes and improvements since last year's release. We're not really ready for 1.0
yet, which is why we release this important cumulative release as 0.9.10. We have also moved our homesite to
gitlab (fedoraproject has been discontinued). For the list of changes, simply go to:
https://gitlab.com/dogtail/dogtail/commits/master

0.9.9

=============
A 1.0 pre-release. Contains a big number of fixes and changes done
since 0.9.0. Most important of these is framework's compatibility with
Python3. We've modified the code everywhere to run with both Python 2.7
and 3.3+. This means that from now on we maintain the same codebase and
are releasing the same tarball, which can be used to package both py2 and
py3 installations downstream. A complete list of fixes and changes will
be present here, when we release 1.0 after 0.9.9 has been thouroughly tested.

Though considered a pre-release, don'worry! 0.9.9 is considered stable and
have gone through some rigorious testing already. Thanks to newly extended
unit-test-set, it is actually the most self-tested release so far.

0.9.0

=============
Over the last year we've made a good number of fixes, added some new features
and got overall stability to the point where we can make a new 'major minor'
release. With 0.9 we're finally getting only a step away from what we'd like
to get done with 1.0.


* Added a fix for situations when a previously crashed application
still registered with at-spi blocks search ('Broken' session problem)
Fixed for root.application(), root.applications() and for whenever
GeneralPredicate is used (.child()). Also done for Sniff. RHBZ 972257

* Added a support for gnome-continuous build-api (36)

* Added a direct lambda support in the findChildren method, that allows
using non-predicate lambdas to create search properties. These can be
all pure dogtail Node properties (i.e. showing), not limiting to just
pyatspi ones as is when using Predicate.

* Added a GnomeShell 'helper' class into utils module allowing to work
with the new top-panel application menu.

* With GTK3.10+ Gdk changes, needed to tune the keyNameToKeyCode function
so that it provides valid keySym in as many cases possible - with both
pre-GTK3.10 as well as GTK3.11+ having the same behavior in typeText and
pressKey

* Sniff ui update: the info pane now stays down on resizing

* Got rid of some deprecated GObject calls

* Several updates to the dogtail-run-headless-next
- Any kind of session can now be used in any combination with both gdm/kdm
--session can be used to specify any xsession desktop file, 'kde' defaults
to 'kde-plasma' too keep pre-updated compatibility; default is now the previous user session
--dm - new param to pick either gdm (default) or kdm
--session-binary - new param to specify any in-session binary to grab script env from
- to be used with non gnome/kde session (lxde, ubuntu)
- do not confuse with session execs like gnome-session and starkde, that may
actually exit after session loadup; it should be everpresent (kwin, shell...)
- Added a --restart switch to force restart the previously running (often left-over) session before proceeding
- More logging of script execution (start/stop/PID), and some cleanups

* Trap GErrors in findAllDescendants and retry if it occurs: This fixes crashes in findChildren if elements are being added/removed quickly

* Unicode handling updates:
- Make sure safeDecode is not skipping any strings
- Don't crash when logging message contains unicode

* Error Handling for Attribute Error

* Fixed utils.run issue when having whitespace containing binary by
using shlex shell-like parsing split.

* Removed an always true if condition in i18n

* Log child description when clicking. The log will now print the element description when it will be clicked

* Trap TypeError in findAllDescendants: Sometimes pytaspi returns None as a Node if children are being removed too fast.
We should retry search in this case

* Extended the default TypingDelay from 0.075 to 0.1 seconds (helps working with certain high unicode charactes)

* Fixed an bug in sniff discovered by jmolet that made sniff crash when
run from /bin/sniff not /usr/bin/sniff

* Generate a better script method call for labels

* Fix for failing 'focus.application.node' seting

* Derive all classes from object explicitely

* Changed icons used in sniff that got moved to the gnome-icon-theme-legacy
recently for the ones from non-legacy package.

* Unified the 'isSth' vs. 'sth' properties for only 'sth' - added 'selected', but also introduced
'isChecked' property for 0.7.x compatibility

* Added instructions on how to enable accessibility into utils.bailBecauseA11yIsDisabled()

* Added a 'retry' option to the tree.root.application()

* Fixed the concurrent creation of sniff_refresh lock from both tree and procedural

* Switched to use environ value to get user in config. os.getlogin breaks when run scheduled from a testing system with no terminal.

* Patched the mouse related rawinput methods to prevent using negative coordinates

* Updated and added more unittests

0.8.2

=============
Second update to the 0.8 series containing several fixes and improvements

* Added the dogtail-run-headless-next to replace the dogtail-run-headless in future.
-next, uses a diplay manager (kdm or gdm) for session management, should be used instead of older
headless on systemd systems already

* Unittests vastly improved and updated

* Fixed a missing reset of FocusWindow to None on application refocus

* Fixed the dogtail-logout to use gnome-shell instead of old gnome-panel

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.