Updated 2014-12-30 08:33:10 by dbohdan

PowerPro is a closed-source freely-downloadable Windows shell extension, a scripting language. Rather all of the above, plus a lot more.

See Also  edit

another Windows task automater which remotely resembles PowerPro, but overall purpose. A closer look quickly shows they are very different.

Description  edit

The only relation between PowerPro and Tcl/Tk is this wiki, which seems to congregate all sorts of info about pretty much everything geek. But it could be interesting because PowerPro can do things that Tcl/Tk can't, like recognize key presses globally, capture text in child windows, customize your context menu and lots of other things I am too lazy to recall now. Believe me, the list is long.

PowerPro started out as a launcher bar. Configurable floating buttons that could launch programs and files or other very simple tasks. After a few years, PowerPro now has its own scripting language and even not considering its scripting capabilities, it has an absurd number of features for such a small program. It often intimidates new users, but those who get past the initial bewilderment most often fall in love with it. Many learn to use it and dump half a dozen of those handy apps that sit in the tray, because PowerPro replaces all of them with plenty of advantage. What is also amazing in PowerPro is that it is completely written and maintained by one single man. The documentation alone is one impressive piece of work because the program has so many features and the documentation is so comprehensive.

My own idea of it is that I can't stand using a computer without it. A vanilla Windows installation is just too insufferable for my spoiled taste. If I still use Windows instead of Linux, PowerPro is to blame for that.

PowerPro is written in C and accepts plug-ins, and has quite a few of them. The idea of making a Tk plug-in has come up and one bold programmer tried to do it, but a couple of issues made the task be left unfinished.

RS: Hm, the pages from that link show lots of praise, but I could not find details of the language. That would interest me (and others on this Wiki too, I think) most: why a new scripting language? Why not embed Tcl? How is the language different from Tcl?

Luciano ES: If you come from another language, PPSL (PowerPro Scripting Language) is surely going to disappoint you. I am not too fond of it myself. The really good thing about it is maintaining your code. Everything used to be kept in a configuration file. After scripting was introduced, many users began to use the configuration file as little as possible. Scripting was introduced very slowly, one command after another, and it is all a little clumsy now. The author is aware of it. But the good thing about it is the simplicity. Let's see one example:

Let's press a key combo and launch a script. This script will check if Notepad is running and visible (PowerPro can hide windows). If it's not visible, unhide it. If it's not even running, launch it. Then type text into it. Warning: this is PowerPro script, not Tcl! It is just a small example.
If        (activewindow ("*Notepad*")) do
          Jump Hello
ElseIf    (anywindow ("*Notepad*")) do
          Window Show "*Notepad*"
          Wait "*Notepad*"

Keys {toany "*Notepad*"}line 1{enter}line 2{enter}Hi, Mom!


Why not embed Tcl? Well, why not embed Perl? Or Java? Or Visual Basic? Many choices in life are made at random. And PowerPro already had some unique features that could not be addressed by existing languages. What we call "historical reasons".

I'm quite sure that someone could make a Tcl plug-in. There is a Lua plug-in, by the way. I'd be more interested in a Tk plug-in. Its widgets would be extremely welcome to PowerPro users, some of which are beginning to succumb to GUI4Cli. Only no one still has been able to make such plug-in.

Hint: install PowerPro, open the manual and look for the "Expressions" page. Also look for the "PPST.chm" file - PowerPro Scripting Tutorial.