-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
2787 lines (1818 loc) · 96.5 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2012-09-07 Vita Humpa <vhumpa@redhat.com>
dogtail 0.8.1
=============
A first update to the new GNOME3 / KDE4 compatible release containing several fixes:
* Sniff's autorefresh made togglable, to help avoid collisions with potential
running dogtail scripts. Sniff checks at startup whether some script is running
and sets up the autorefresh off if it is.
* Added a locking mechanism into utils that can be used to solve situations when
multiple dogtail processes/thread are running (applied in tree/procedural and sniff
already)
* Removed the deprecated dependency on CORBA
* Icons no longer use absolute pathing in sniff (thx roignac)
* Deprecated .has_key() operator replaced with 'in'.
* Removed .svg inside sniff's .desktop file
2012-05-30 Vita Humpa <vhumpa@redhat.com>
dogtail 0.8.0
=============
Finally a big release updating dogtail after more than 2 years ! Dogtail
is developed and maintained now again.
Simply put, ported to be compatible with the new GNOME 3 and to work well in major
GNOME 3 (GTK3) distributions.
We'd like to make the 0.8.x version onward the GNOME 3 compatible branch usable
for Fedora, RHEL7 and others, while keeping 0.7.x releases for fixes in older GNOME2
systems.
--- What was done ---
Notably, Sniff's UI needed to ported completely to GTK3, yet there are
also several places in dogtail 'itself' that needed to be rewritten to go ahead
with the new technologies. Those were all the modules where the old pygtk was
used for various reasons (rawinput, utils, tree...). Incompatibilites were also
present due to the new version of pyatspi (notably with the doAction method).
Release highlights:
* A great number of fixes everywhere related to GTK/GNOME/At-Spi updates
* The dogtail-recorder was dropped for now, but might return in RC or 0.8.1
* Thanks to the qt-at-spi project, dogtail now works out-of-the-box for QT!
* Headless supports KDE sessions
* Headless working with full 3D-Accelerated GNOME session (no fallback anymore)
* Highlight used in sniff completely re-written and made toggleable (of by default)
* Makefile updated, 'make run' builds packages in homedir/rpmbuld now
* Several examples fixed for updated gedit
* Added tree.isChild() convenience method
* Renamed doAction to doActionNamed due to conflict with doAction inside pyatspi namespace
* Delay made configurable in absoluteMotion and relativeMotion functions
* Changed at-spi activation to use DConf instead of GConf
* A bit of code clean-up and modernization (using @property now etc.)
2009-12-07 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Add a little more error checking to avoid some cases
where sniff, if left running for long periods of time, would crash.
2009-10-27 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Add tests for getting labeler/labelee.
2009-10-27 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Refactor all Node properties, to clean up namespace
pollution.
2009-10-27 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Rewrite the Node.value property in a way that's
compatible with python 2.4 while still avoiding namespace pollution.
Add docstrings for the AccessibleValue-related properties.
2009-10-23 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Rewrite Node.findChildren() using
pyatspi.utils.findAllDescendants(). It's around 10% faster now and
allows you to use any kind of predicate you wish.
* tests/Node.py: Make one of the Node.findChildren() tests use
non-recursive mode.
2009-10-23 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Add another unit test for Node.findChildren(). Add
docs for the rest.
2009-10-23 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Add several unit tests for AccessibleValue-related
properties, since they were all broken a long time ago without anyone
noticing.
* dogtail/tree.py: Fix all the AccessibleValue-related properties.
2009-10-22 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Add another unit test for Node.findChildren().
2009-10-22 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Add unit test for Node.findChildren(), since I'm
going to rewrite it using the more-optimized
pyatspi.utils.findAllDescendants().
2009-10-20 Zack Cerza <zcerza@redhat.com>
* tests/procedural.py: Add more tests, make miscellaneous tweaks.
* dogtail/procedural.py: Fix a bug found by unit tests.
2009-10-19 Zack Cerza <zcerza@redhat.com>
* tests/procedural.py: Add some unit tests for the procedural
interface.
2009-10-19 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Add tests for Node.caretOffset and Node.combovalue;
minor tweaks to other tests.
2009-10-08 Zack Cerza <zcerza@redhat.com>
* setup.py, dogtail/__init__.py: Post-release version bump.
2009-10-08 Zack Cerza <zcerza@redhat.com>
* setup.py, dogtail/__init__.py: Bump version to 0.7.0. Remove
references to .svn directory. Reflect new site.
2009-10-08 Zack Cerza <zcerza@redhat.com>
* NEWS, README: Add notes about API docs.
2009-10-08 Zack Cerza <zcerza@redhat.com>
* NEWS: Update.
2009-10-08 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Remove tests for Node.version. This actually comes
straight from pyatspi, and is just plain not useful. It is also
inconsistent. For example, on RHEL5 it gives you the gail version,
while on Fedora 12 it gives you the gtk2 version.
2009-10-06 Zack Cerza <zcerza@redhat.com>
* dogtail/__init__.py: Don't import pyatspi so early.
2009-10-06 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Make sure that binaries (at least those with
absolute or relative paths specified) exist and are executable long
before we try to execute them.
2009-10-06 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Catch LookupErrors (e.g. quitting an app)
2009-09-30 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Disable debug logging... again.
2009-09-29 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Remove an unused set object. Trying to stay compatible
with older pythons...
2009-09-29 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Add Node.contains(), which can be used to determine
if a given point onscreen lies inside a Node's extents. Also add
Node.getAccessibleAtPoint(), which tries to find the Node at a given
point on screen.
* recorder/dogtail-recorder: Use the new Node methods to reimplement
most of the click detection; the old method was too expensive and
fragile. Also turn on pyatspi's caching.
2009-09-24 Zack Cerza <zcerza@redhat.com>
* dogtail/procedural.py: Add FocusWindow class, and corresponding
focus.window() API. I think eventually I want focus.window() calls to
raise the window to the foreground.
2009-09-23 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Fix a bug in Node.typetext(). Actually, change its
behavior significantly: if we can't grab keyboard focus, fall back to
inserting text via the editabletext interface at the current caret
location. old behavior was to replace contents entirely, which doesn't
scale at all.
2009-09-11 Zack Cerza <zcerza@redhat.com>
* dogtail/procedural.py: Use specific Predicate subclasses where
available.
2009-09-11 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Keyboard recording had been disabled by
accident. Reenable it.
2009-09-04 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Simplify Node.click(); add Node.doubleClick().
* tests/Node.py: Make GtkDemoTest.runDemo() use Node.doubleClick()
instead of the activate action, since gtk-demo doesn't appear to use
that action anymore. This will be backward-compatible anyway.
2009-09-04 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Look for at-spi instead of gail in testGetVersion
since Fedora no longer has a package called gail.
2009-09-04 Zack Cerza <zcerza@redhat.com>
* INSTALL: Update.
2009-09-04 Zack Cerza <zcerza@redhat.com>
* README: Update.
2009-09-04 Zack Cerza <zcerza@redhat.com>
* dogtail/distro.py, dogtail/tree.py: Fix some formatting that epydoc
doesn't like.
2009-09-04 Zack Cerza <zcerza@redhat.com>
* NEWS: Update.
2009-08-26 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-run-headless: Tweak usage output.
2009-08-26 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-run-headless: Require a script argument to be run!
2009-08-03 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Refactor eventlistener (de)registration
code. Also move some logEvent calls.
2009-07-24 Zack Cerza <zcerza@redhat.com>
* examples/test-events.py: Update to pyatspi. Disable some events as
they just flood the terminal.
2009-05-08 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-logout: Work with RHEL5.
2009-05-05 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Use os.kill() instead of Popen.terminate(),
since the latter doesn't exist before python 2.6...
2009-05-05 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Oops, don't close() the xinitrc object!
2009-05-05 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Let scratch files be deleted upon closing. Keep
Session.xinitrcFileOBj around until its start() method is next called,
so it can be read in the meantime.
2009-05-05 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-logout: Don't use raw clicks. Also add a little more
documentation.
2009-05-05 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Fix path to dogtail-logout
2009-05-05 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Remove/comment some debug output.
2009-05-05 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Make scriptCmdList an optional argument to
Session.init()
2009-05-01 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-run-headless: Fix option application.
2009-05-01 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Tweak the way we find the correct environment
for the script.
2009-05-01 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py, scripts/dogtail-run-headless: Refactor most of
dogtail.sessions.
2009-04-30 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Merge Session and GNOMESession; refactor
Session; add Script.
2009-04-29 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-logout: Add a note about the script still "working"
if gnome-session doesn't end up being accessible.
2009-04-29 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-run-headless: Give a choice of X servers.
2009-04-29 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-logout: Add a sleep(1), something's wrong...
2009-04-28 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-run-headless: Actually instantiate the session
object.
2009-04-28 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Properly report exit code.
2009-04-28 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-run-headless: Draft of a rewrite using
dogtail.sessions
2009-04-28 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-logout: Add a new script, dogtail-logout. This is
for use with headless sessions. Currently doesn't work yet.
2009-04-28 Zack Cerza <zcerza@redhat.com>
* dogtail/sessions.py: Add a sessions module. This will become the
basis for a rewritten dogtail-run-headless.
2009-03-21 Zack Cerza <zcerza@redhat.com>
* epydoc.conf: Add the Epydoc config file.
2009-03-21 Zack Cerza <zcerza@redhat.com>
* Makefile: Add proper targets for generating/uploading API docs.
We're using Epydoc now.
2009-03-21 Zack Cerza <zcerza@redhat.com>
* dogtail/utils.py: If we're running under pydoc or epydoc, don't bail
if accessibility is disabled.
2008-12-31 Zack Cerza <zcerza@redhat.com>
* examples/appstartup.py: Add a new example that launches a given
application, then checks to see that it started correctly by looking
for a Node with the given roleName.
2008-08-18 Zack Cerza <zcerza@redhat.com>
* examples/gedit-test-utf8-procedural-api.py: Actually, handle the
file chooser's expander widget more gracefully by looking to see if it
has the 'checked' state before expanding it - apparently 'checked'
means it is expanded. Go figure.
2008-08-18 Zack Cerza <zcerza@redhat.com>
* dogtail/procedural.py: Make Click.__call__() work without arguments
again.
2008-08-11 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Don't import pyatspi unnecessarily.
2008-08-11 Zack Cerza <zcerza@redhat.com>
* dogtail/rawinput.py: Use config.actionDelay for click().
2008-08-11 Zack Cerza <zcerza@redhat.com>
* examples/gedit-test-utf8-procedural-api.py: Collapse the file
chooser's expander widget when we're done using it.
2008-08-11 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Don't log giant messages to the debug log if we're
setting a Node's text to a very large value. Also, use
config.actionDelay for Node.click().
2008-08-11 Zack Cerza <zcerza@redhat.com>
* dogtail/tc.py: Put a timestamp on TCImage's diff.png.
2008-08-08 Zack Cerza <zcerza@redhat.com>
* dogtail/tc.py: Eliminate double slashes in TCImage.diff. Also remove
do-nothing TCImage.__init__().
2008-08-08 Zack Cerza <zcerza@redhat.com>
* dogtail/tc.py: Rewrite TCImage to use PIL instead of ImageMagick.
Update unit tests to reflect this rewrite.
2008-08-08 Zack Cerza <zcerza@redhat.com>
* dogtail/tc.py: Make TC a new-style class. No particular reason.
2008-08-08 Zack Cerza <zcerza@redhat.com>
* dogtail/logging.py: Make ResultsLogger log to a file no matter what.
2008-07-24 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Update to reflect API change in rawinput.
2008-02-19 Zack Cerza <zcerza@redhat.com>
* dogtail/config.py: Add new parameter: checkForA11y, which defaults
to True. If set to False, we assume accessibility is enabled.
* dogtail/utils.py: Don't import gconf until necessary.
* dogtail/tree.py, sniff/sniff: Don't check for accessibility unless
config.config.checkForA11y is True.
2008-02-19 Zack Cerza <zcerza@redhat.com>
* examples/gedit-test-utf8-procedural-api.py: Use click() instead of
activate().
2008-02-19 Zack Cerza <zcerza@redhat.com>
* dogtail/tc.py: Add TCBool and TCNode.
2008-02-19 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py, dogtail/dump.py: Allow tree.Node.dump() to output
to a file instead of stdout.
2008-02-19 Zack Cerza <zcerza@redhat.com>
* dogtail/utils.py: Use subprocess.Popen() instead of os.spawnvpe().
* dogtail/procedural.py: Make run() return the PID.
2008-02-19 Zack Cerza <zcerza@redhat.com>
* dogtail/i18n.py: Add loadAllTranslationsForLanguage().
2008-02-19 Zack Cerza <zcerza@redhat.com>
* dogtail/distro.py: Make distribution detection code a little less
ugly. Remove docstrings from the Distro subclasses. Clean up some other
documentation.
* dogtail/i18n.py: Don't import the distro module until we actually
need it.
* dogtail/logging.py: Add an optional 'newline' arg to Logger.log(),
which defaults to True. Passing False will cause the logger to not
print or write a newline at the end of the message. Also stop catching
some IOErrors, as that made the code awkward for no good reason.
2008-02-06 Zack Cerza <zcerza@redhat.com>
* dogtail/dump.py: Properly print Node.actions; ditch "xml" output as
it was not even really a good start.
* dogtail/tree.py: Strip some useless information of out
Action.__str__().
2008-02-06 Zack Cerza <zcerza@redhat.com>
* dogtail/__init__.py: Fix inconsistent version number.
2008-02-06 Zack Cerza <zcerza@redhat.com>
* dogtail/distro.py: Fix minor inconsistency.
2008-01-31 Zack Cerza <zcerza@redhat.com>
* setup.py, dogtail/__init__.py: Bump version to 0.6.90.
2008-01-31 Zack Cerza <zcerza@redhat.com>
* Makefile, MANIFEST.in: Remove mentions of debian/ and dogtail.spec.
2008-01-31 Zack Cerza <zcerza@redhat.com>
* dogtail.spec: Remove; see Fedora CVS for the canonical spec file.
2008-01-31 Zack Cerza <zcerza@redhat.com>
* debian/: Remove as it's so out-of-date it's probably dangerous, and
Debian doesn't use it anyway.
2008-01-31 Zack Cerza <zcerza@redhat.com>
* dogtail/rawinput.py: Refactor keyname <-> keysym conversion code.
Remove unnecessary code, including the ctypes/xlib-based
keyStringToKeyCode in favor of the gtk.gdk version. This completely
removes the ctypes dependency.
2008-01-21 Zack Cerza <zcerza@redhat.com>
* scripts/dogtail-run-headless: Use a real GNOME session instead of a
"fake" one.
2008-01-21 Zack Cerza <zcerza@redhat.com>
* dogtail/wrapped.py: Add dogtail.wrapped module, with superclasses
for Node and Application wrappers to use in custom application
wrappers. We need this because dogtail.tree.{Node,Application} are no
longer wrapper classes, and thus can't be subclasses directly.
2008-01-15 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Change Node.valueMin and valueMax to Node.minValue
and maxValue; add minValueIncrement.
2008-01-15 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Remove SniffModel.checkNodes() and
SniffModel.addDeadNode() as we're not using them now that we have
events working. While there are applications that don't have proper
event support, the performance hit on constantly crawling over nodes
is too large.
2008-01-15 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Make rows in the main TreeView expand/collapse on
pressing Enter.
2008-01-15 Zack Cerza <zcerza@redhat.com>
* sniff/sniff, sniff.glade: Add a new tab to the bottom pane that
lists the present states (just the ones supported by dogtail).
2008-01-14 Zack Cerza <zcerza@redhat.com>
* sniff/sniff, sniff/sniff.glade: Make the relation buttons only
visible when a target exists. Also prepare
SniffController.showRelationTarget() more prepared for when we add
more relations to dogtail and sniff.
2008-01-14 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Fix a stupid error in the Node.dead check.
2008-01-10 Zack Cerza <zcerza@redhat.com>
* sniff/glade, sniff/sniff: Split bottom pane into tabs: first is
name, roleName, description, actions; second is (editable)text; third
is relations. Currently there are only two relations: labeler and
labelee. Relations in sniff are currently represented as buttons,
which, when clicked, call the relation targets' blink() method. Also
fix a minor bug in SniffController.setUpTable() where sometimes we
would try to disconnect a signal handler multiple times.
2008-01-10 Zack Cerza <zcerza@redhat.com>
* NEWS: Add a note about a broken unit test due to #498563.
2008-01-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Add Node.dead property; useful if you're unsure if
the accessible you're about to poke at is still valid, and don't feel
like trying to catch 3 or more different exceptions.
2008-01-10 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Call SniffController.setUpTable() inside
selectionChanged() instead of buttonPress().
2008-01-10 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Instead of processing events synchronously, put them in
a queue to be processed during an idle function. Rewrite
SniffModel.getPath().
2007-12-18 Zack Cerza <zcerza@redhat.com>
* dogtail/logging.py: Remove IconLogger. Make Logger not create
logfiles until its log() method is called. This means sniff won't be
creating empty logs all the time.
* dogtail/config.py: Clean up some cruft and remove IconLogger stuff.
* dogtail/trayicon.py: Removed.
2007-12-18 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Remove the 'finally' from a try-except-finally, since
that would be the first time we broke compatibility with python 2.4,
and it's far from worth it :)
2007-12-17 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Overhaul sniff to use pyatspi events to be notified
when a node is renamed or gains/loses children. As a result,
SniffModel does not use its addDeadNode() and checkNodes() methods.
Those methods have not yet been removed, however. This change will
result in properly-written applications working far better than before
in sniff. Improperly-written apps (e.g. Firefox, but they know this)
will behave better than sniff in 0.6.1; checkNodes() was causing
serious slowdowns in some cases since it's fairly heavy code that
needs to be looped continuously. Since sniff now has to do a lot less
work than it did ever before, it should be somewhat faster in all
cases.
2007-12-11 Zack Cerza <zcerza@redhat.com>
* sniff/sniff, sniff/glade: Add 'Set Root' and 'Unset Root' menu items
to Sniff's View menu. Useful if you want to dig into a single app and
want to reduce the amount of scrolling around necessary slightly.
2007-12-11 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Improve the removal of dead nodes from SniffModel,
mainly by removing the highest-level dead node in the case that an
entire subtree is found to be dead. Thanks to Michal Babej for the
initial patch. Closes: #503056.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Make Action.__node public (i.e. rename to
Action.node).
2007-12-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Force Node._getChildren() to return an empty list
if the node's parent is a hyper link.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Er, fix typo in last commit.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Add AccessibleValue support. Thanks to Pelya for
submitting a patch before the port was merged.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Fix typo.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Show lines interconnecting TreeView rows.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Expand the root node of the TreeView on startup.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Move SniffModel.getNodeAttr() to SniffController, modify
it to be specific to the 'name' property of a node. That function is
now called nameDataFunc(). The behavior of nameDataFunc() has also
been changed: instead of changing the text of the TreeView cell
representing a defunct Node to '(broken node)', it now flags the row
for removal by adding a reference to it to SniffModel.deadNodes. Every
1000ms SniffModel will prune such rows from itself. In my tests, this
caused no extra measurable increase in CPU utilization. Also, remove
all columns in SniffModel other than the node column, as the rest were
not being used anyway.
2007-12-10 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Refactor sniff. Organize into 3 classes: SniffApp with
methods for setting up the application; SniffModel as a subclass of
gtk.TreeStore; SniffController for poking at the SniffModel and
gtk.TreeView instances.
2007-12-07 Zack Cerza <zcerza@redhat.com>
* dogtail/rawinput.py: Fall back to using a gtk.gdk.Keymap
implementation of keyStringToKeyCode() if ctypes is not available.
This will probably become the default implementation.
2007-12-07 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Add a patch from Michal Babej to fix a python 2.4
compatibility issue. Closes: #502324.
2007-12-06 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Only write the script preamble once.
2007-12-06 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Make the Close button in sniff's About dialog actually
close the dialog.
2007-11-30 Zack Cerza <zcerza@redhat.com>
* Makefile: Minor update.
2007-11-30 Zack Cerza <zcerza@redhat.com>
* NEWS: Add a note about a broken unit test due to #498557.
2007-11-30 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Port Accessible.Hypertext and Hyperlink support.
tree.Link is now called LinkAnchor and is no longer a subclass of
Node. The new behavior is now that when a Hypertext interface is found
on a Node, that node will have one extra child Node per
Hyperlink/anchor pair. The child Nodes will have a role name of 'hyper
link' and the 'URL' property. Also, remove much dead code.
2007-10-31 Zack Cerza <zcerza@redhat.com>
* dogtail/procedural.py: Add a patch from Cole Robinson to both make
all focus.*() queries return a Boolean based on their success and to
make the failure warning more verbose.
* dogtail/config.py, dogtail/logging.py: Add a patch from Cole
Robinson to allow the logging of debug information to stdout to be
disabled via config.logDebugToStdOut. Still enabled by default.
2007-10-22 Zack Cerza <zcerza@redhat.com>
* examples/gedit-test-utf8-procedural-api.py,
examples/gedit-test-utf8-tree-api.py: Tweak slightly to work with the
new dogtail behavior of click() using raw mouse events.
2007-10-22 Zack Cerza <zcerza@redhat.com>
* dogtail/procedural.py: Remove all calls to time.sleep().
2007-10-22 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Add some missing doDelay()'s. Also remove a chunk
of dead code.
2007-10-22 Zack Cerza <zcerza@redhat.com>
* dogtail/errors.py, dogtail/tc.py: Fix encoding headers.
2007-10-22 Zack Cerza <zcerza@redhat.com>
* MAINTAINERS: Updated.
2007-08-29 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Update and clean up the toplevel docstring.
2007-08-29 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Rewrite Node.__doc__.
2007-08-29 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Remove some redundant documentation from
Node.__doc__.
2007-08-23 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Port the Action class over. Mainly needed to get at
keybindings.
2007-08-23 Zack Cerza <zcerza@redhat.com>
* dogtail/__init__.py: Make __init__.py import pyatspi.
2007-08-23 Zack Cerza <zcerza@redhat.com>
* tests/Node.py: Update unit tests with API changes: Node States (from
the old stateSet) are accessed directly, e.g. node.sensitive;
read-only attributes now raise AttributeError instead of
ReadOnlyError; atspi.SpiException has been replaced by
CORBA.COMM_FAILURE.
* dogtail/tree.py: Replace ReadOnlyError with AttributeError. Also
make Node.doAction() raise NotSensitiveError if necessary.
2007-08-23 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Fix Application.window() to not try to initialize
the Window class.
2007-08-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Port setting of Node.combovalue and additionally
allow retrieval of the value.
2007-08-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Port Node.caretOffset.
2007-08-10 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Add most of the rest of the checks from the old
Node.children into the new one, i.e. children limits and null-child
filtering. Also, when filtering null children, warn if
config.debugSearching is True.
2007-07-27 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Handle broken nodes more gracefully.
2007-07-27 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Minor change in how we keep track of
keyboard press/release events.
2007-07-26 Zack Cerza <zcerza@redhat.com>
* recorder/dogtail-recorder: Port dogtail-recorder to pyatspi. Remove
some dead code. Add lots of comments. The keyboard modifier processing
had to be rewritten. As a bonus, things like <Shift><Home> should
actually get noticed now. Also, the madness that was FakeNode is no
more.
2007-07-25 Zack Cerza <zcerza@redhat.com>
* dogtail/i18n.py: Fix duplicate checking in
loadTranslationsFromPackageMoFiles(). Closes: #452232.
2007-06-22 Zack Cerza <zcerza@redhat.com>
* dogtail/dump.py: Remove SIGINT handler.
2007-06-22 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Port Selection stuff to pyatspi and convert to use
normal instance methods and properties.
2007-06-20 Zack Cerza <zcerza@redhat.com>
* examples/no-help-at-all.py: Add patch from Jan Hutař to use
cgi.escape() where necessary.
2007-06-20 Zack Cerza <zcerza@redhat.com>
* examples/filechooser-stress-test.py: Add patch from Jan Hutař to add
i18n support.
2007-05-31 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Fix a minor bug in Node._fastFindChild() that
caused a non-recursive search to halt completely if a null child was
encountered.
2007-05-30 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Move some documentation into the new properties.
Remove some unhelpful documentation. Further clean up bits of
documentation here and there. Note: not done with docs yet :)
2007-05-29 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Remove actual search code from Node.findChild() and
use pyatspi.utils.findDescendent, via a new Node._fastFindChild()
function.
2007-05-29 Zack Cerza <zcerza@redhat.com>
* dogtail/predicate.py: Turn all predicates' satisfiedByNode() functions
into pseudo-staticmethods, so we can pass those methods directly to the
search methods in pyatspi.utils.
2007-05-25 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Port Sniff to pyatspi. It should all work now, but
there could be a bug or two.
2007-05-25 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Begin port from pyspi to pyatspi. Disable __init__,
__getattr__, __setattr__, __str__ while their functionality is ported.
Attributes that were accessed via __[gs]attr__ are now declared as
properties, to make the code easier to read and document.
2007-05-25 Zack Cerza <zcerza@redhat.com>
* dogtail/logging.py: Actually obey config.logDebugToFile.
* dogtail/config.py: Implement runtime changing of logDebugToFile.
2007-05-25 Zack Cerza <zcerza@redhat.com>
* dogtail/config.py: Fix logic in first unit test.
2007-05-16 Zack Cerza <zcerza@redhat.com>
* dogtail/rawinput.py: Port from pyspi to pyatspi. Use ctypes and Xlib
to do the keystring -> keycode keycode conversion.
2007-05-11 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py, recorder/dogtail-recorder,
scripts/dogtail-run-headless, sniff/sniff: Replace 'except:' with
'except: Exception', since we don't want KeyboardInterrupt and
SystemExit to be ignored in any of those cases. See:
http://www.python.org/dev/peps/pep-0352/. Also catch only ImportError
in once case inside of dogtail-recorder.
2007-05-03 Zack Cerza <zcerza@redhat.com>
* sniff/sniff: Add patch from Michal Babej to correctly reset the
actions label when a Node with no actions is selected. Closes:
#432999.
2007-03-16 Zack Cerza <zcerza@redhat.com>
* setup.py: Add patch from Fernando Herrera to fix building from a
subversion checkout. Closes: #418923.
2007-02-20 Zack Cerza <zcerza@redhat.com>
* dogtail/predicate.py: Add unit tests for all predicates.
2007-02-13 Zack Cerza <zcerza@redhat.com>
* dogtail/tree.py: Add patch from Michal Babej to fix
Node.childLabelled().
2007-02-09 Zack Cerza <zcerza@redhat.com>
* examples/no-help-at-all.py: Add patch from Michal Babej to use
cgi.escape() to escape content for SGML.
2007-02-09 Zack Cerza <zcerza@redhat.com>
* dogtail/tc.py: Add patch from Michal Babej that removes some
confusion in TCImage.compare(), and also fixes a unit test.
2007-02-08 Daniel Drake <d.drake@mmm.com>
* dogtail/tree.py: Fix wrong logic in Node.selectedChildren
implementation
2007-02-08 Zack Cerza <zcerza@redhat.com>
* dogtail/utils.py: Make isA11yEnabled() look at $GTK_MODULES, too.
2006-11-28 Zack Cerza <zcerza@redhat.com>
* dogtail/config.py: When creating the default directories for logs,
etc. (/tmp/dogtail/*), create them world-writable so that they may be
shared by multiple users.
2006-11-22 Zack Cerza <zcerza@redhat.com>
* dogtail/config.py: Add parameter 'childrenLimit', which is an integer
representing how many children of a Node instance to return at maximum.
The default is 100.
* dogtail/tree.py: Only return config.childrenLimit children. Log a
warning to the debug logger the first time the list is clipped, but
remain silent on subsequent occurences.
2006-11-17 Zack Cerza <zcerza@redhat.com>
* examples/test-events.py: Make sure dogtail.tree is imported. Closes:
#374898. Also add warning that the script is outdated, may do evil, and
will probably be removed soon.
2006-11-15 David Malcolm <dmalcolm@redhat.com>
* dogtail/tree.py: ensure that a Node and a Link's children attribute
always is a list and hence iteratable (previously returned None for
Link instances and for Node instances that had __hideChildren set);
similar fix for the Node.findChildren method
2006-10-23 Zack Cerza <zcerza@redhat.com>
* dogtail/procedural.py: Make run() insert a space while concatenating
the binary name and arguments to pass. Closes: #364553.
2006-10-23 Zack Cerza <zcerza@redhat.com>