On 2010-07-05, Lawrence D'Oliveiro <l...@geek-central.gen.new_zealand> wrote: > In message <op.ve06nlvia8n...@gnudebst>, Rhodri James wrote: >> Classic Unix programming is a matter of stringing a bunch of tools >> together with pipes to get the output you want. This isn't a great >> paradigm for GUIs (not without tweaking that hasn't really been done), but >> then again it was never meant to be. > > I???ve never come across any system where you could string together multiple > GUI apps, or even multiple GUI operations in the same app, in any sensible > or effective way at all. GUIs just aren???t designed to work that way.
You can if they are designed to be used externally. COM is an execellent example of this as is script-fu and any number of other technologies that allow external access to the subroutines or automation capability of a GUI application. The problem is not that it cannot be done; but, that it must be explicilty designed to be used this way. I have worked with complex business process automation centered around Excel and I have automated some really ugly AJAX style web based applications that would only work inside of IE6 by accessing IE through its COM interface. > The command line (or scripting, the difference isn???t that important) > remains > the only workable way to string together complex combinations of simpler > operations. The difference is that it is almost always possible to automate using text based applications, even when the author of the software never designed the software to be scripted. Text based IO streams are easy to capture and manipulate. Automating GUI applications requires interal access to the program through some kind of interface and, ideally, decent documention of the interface, something that is missing from many, if not most, GUIs. Anything else relies on ugly and, generally fragile, mechanisms to intercept the programs output and send event triggers to the application. The recent thread to automate Minesweeper by processing its screenshot is an example of this. -- http://mail.python.org/mailman/listinfo/python-list