From: chris on 27 Apr 2010 08:51 controlling a pc from lisp code, some years ago I've started a project for automatizations of pc tasks and I think I've reached a state to have implemented the mayor features: -automatizations of any mouse keyboard action (and recording). -visual recognition from the screen -simple editing, sorting, starting compiling, loading ... of pc-macros (written in lisp, sbcl is the backend). -macros and lisp images are exchangeable between users ... -macro scheduler planned: -exchanging macros and images online. -lib of valuable pc-macros so what features to add???
From: fortunatus on 28 Apr 2010 19:32 On Apr 27, 8:51 am, chris <christopham...(a)gmail.com> wrote: > controlling a pc from lisp code, > > some years ago I've started a project for automatizations of pc tasks > and I think I've reached a state to have implemented the mayor > features: > > -automatizations of any mouse keyboard action (and recording). > -visual recognition from the screen > -simple editing, sorting, starting compiling, loading ... of pc-macros > (written in lisp, sbcl is the backend). > -macros and lisp images are exchangeable between users ... > -macro scheduler > > planned: > -exchanging macros and images online. > -lib of valuable pc-macros > > so what features to add??? I sorely desire that windowing systems provide a macro hook at the level of the event loop. A memorized action on a PC running MSWin or XWin should not depend on where windows are positioned on the screen. Memorizing mouse actions should be of the nature of memorizing what GUI buttons were clicked -- *not* where on the screen the mouse moved & was clicked. For always over the long term, windows are moved, or pop-up windows appear to cover up active areas, or programs change state and move controls around - perhaps just because some long message appeared and grew a text field out. I always request writers of GUI programs to provide a scripting port via some kind of pipe or socket - filesystem or network point - that I could sent scripting commands. That way the program could be used GUI style but then rational automation can also be done. (Unfortunately I haven't gotten any takers - clearly they are not automating their own programs! Or if they do provide some script language, they are not automating actions of their program in concert with other programs...) Programs should be usable as building blocks for applications built on top of them. This is the biggest shortcomming of GUI programs, and why all my scripting ends up based around Linux/Lisp/PortableAServe or Cygwin, even though I use MSWin natively for a lot of other Lisp work. If your automation system can hook into the event loop, provide a port into the event loop of a program, it would be a major step forward.
From: chris on 30 Apr 2010 15:23 Thank you for the input, I think my program meets points one and two: 1. if windows is able to identify a control, the program is able to send any command to it (visible or not). 2. .. didn't really understand your request, - automatize the automatization program yes! - connect it over a socket to execute commands yes! - there is a lisp repl with eval for accepting anything the user would like to compute! 3. No, as far as I know that is not possible. In my program the windows automatisation is done by autoit, a very powerfull scriping langugage. Allmost anything autoit (that is a lot) can do, may be done form lisp. c. http://www.autoitscript.com/autoit3/index.shtml
From: Aravindh Johendran on 3 May 2010 03:29 > > Programs should be usable as building blocks for applications built on > top of them. This is the biggest shortcomming of GUI programs, and > why all my scripting ends up based around Linux/Lisp/PortableAServe or > Cygwin, even though I use MSWin natively for a lot of other Lisp > work. If your automation system can hook into the event loop, provide > a port into the event loop of a program, it would be a major step > forward. I completely agree with that. I think, where possible, systems/ applications should be provided with ability to be modified/customized/ extended. AUTOCAD and Emacs' longevity is due to this ability I think.
|
Pages: 1 Prev: many lets Next: Call for papers, ACM Erlang Workshop 2010 |