Lightweight IPC for scripting
Pascal J.Bourguignon <[email protected]> Sun, 7 Sep 2003 04:25:11 +0200
| Newsgroups | gmane.lisp.clump |
|---|---|
| Organization | InformatiMago. |
| Message-ID | <[email protected]> |
Daniel Barlow writes: > > As many people by now have the misfortune to know, one of my pet rants > about Unix as a desktop OS is the lack of decent support for scripting > applications. What a strange idea, given emacs, gimp, autocad, the NeXTSTEP Distributed Objects (re-implemented in GNUstep), guile and a google of embedable scripting languages ranging from Common-Lisp to TCL thru Scheme, and not counting classical unix "applications" like that email programm I don't remember the name right now, but also big CASE tools that are actually a group of tools wholly scriptable with bash or whatever is your prefered scripting language... > Some apps do CORBA, some apps listen on sockets, some > apps reread their config file when sent certain signals, some apps you > can start twice and the second instance will communicate its command > line args to the first, and some apps (e.g. GNOME, KDE stuff) use some > vast framework which handles it all in a > you-shouldn't-care-about-the-internals way > > None of them have seen pervasive uptake, which makes me feel better > about inventing yet another. Decent supportS for scripting application, there is. Perhaps what you're missing is a common standard? What about just defining an API and having a bunch of subclasses implementing it over the existing "protocols". Some of these protocols are "retrospective" (CORBA, NeXT/Apple DO, lisp based scripting languages to an extent. Other are not: you need to read the documentation (hint: implement the AI that will read it an generate the model needed to drive the program). Pure X applications may make heavy use of the X way to identify the windows and their widgets, but I would bet that in most other toolkits, there is only one X window and every button, field and subview inside it is entirely drawn and managed by the toolkit. Have a look at GNUstep for example. You won't go far trying to find a button with X primitive in a GNUstep application running in a X window (a GNUstep application could run also with different non-X backends). So to be general, it would be better to develo an AI that would analyse the screen bitmap, recognize the buttons, and other controls, the data fields, OCR and "see" them (hopefully we can get 100% here, since there's not much noise, only some anti-aliasing...), and then you could try to drive the mouse and click and drag around. So, combining both AI, you will have your scripting environment, where you'll be able to ask in high level language what you want to do with your programs, whatever their kind and their scripting possibilities. Perhaps ambitious, but one can drean! -- __Pascal_Bourguignon__ http://www.informatimago.com/ ---------------------------------------------------------------------- Do not adjust your mind, there is a fault in reality.