Kommander, the graphical scripting tool, has been radically improved for KDE 3.5.9. While our next goal is a KDE 4 executor, then a full update we wanted to offer some new functionality for KDE 3 users. Best of all, shortly you will be able to run what was built in KDE 3 unaltered and native in KDE 4. In 3.5.9 the focus was on the executor, but new features are in the editor. That includes popup menus, KPart creation, a DatePicker widget, widget creation on the fly, embedded widgets, standard dialogs, and a lot more. There is a new plugin architecture and new plugins for database, KParts, HTTP connections and even a KHTML widget. Read on for more.
One of the limitations of Kommander has been that it only does dialogs. There was a problem getting the editor to work with MainWindow applications. However it turns out that a non-Kommander MainWindow created in Qt Designer does work. There are minor limitations but we are building a database frontend using a MainWindow frame and KParts in Kommander. We have examples, and for the first time the examples are accessible from the editor. Unfortunately there was no quick way to put them into the current Editor without forcing users to have the KPart loader plugin, so they open to a new Editor window.
One of the biggest frustrations for users was the lack of documentation. Actually documentation was partly done, but as we always seemed to be completing things around release string freezes documentation was always behind. Regrettably most of it is only in English, but that still seems better than little or no documentation. Now you can read how to do things along with included dialogs to see what exactly was done. The list of improvements is long. Kommander has been popular as a tool to build frontends for command line programs. It still does that. Let me thumbnail what is new and what it means.
Kommander started life piecing together text strings, got DCOP and some simple functions. While we wanted to be language neutral we ended up being bash centric. The problem was bash is not very quick and a little quirky to learn. So on the road to supporting other languages we wanted a very simple non-language sort of language which is how the new parser got started. The old parser was just functions, and you could use the function browser to point and click your way to a working dialog. The old parser could not nest @if statements and confused users, and it also confused people using bash loops as it would read a script in two passes and always give the last state of the loop. The new parser adds variables, some new functions and infinite nesting of logic elements. In addition scripts can now pass and return values and you can easily shebang any scripting language at the top of a script. There is also correct highlighting for the new parser and it's now well debugged. Either parser is supported and both can co-exist in a Kommander window.
Kommander can use Kommander-based tools in the Editor Tools menu. There is a new example dialog window to enable viewing examples even if you have a binary install. Some of the new tools in the works are revised DCOP tools (the included one slipped out broken), new project management tools with release and install management, an Sqlite3 based snippet library, a database data form creation tool and more. We will also be releasing new Kommander KPart tools for Quanta.
One other thing we added this release was a security feature that gives a warning if the executable bit is not set. It is far from ideal and we are thinking on a better solution for KDE 4, but a better solution will take a lot of work and there is a real security issue in the possibility that people could accidentally run a dialog including exploits whereas they would have to intentionally run the same shell script. Ideally we would like to get the Kommander Executor into the main KDE 4 packages and draw other developers and people interested in supporting other scripting languages. To date most of the development has been the sponsored work of Michal Rudolof, who we were not able to continue to sponsor, and Andras Mantia, who took some time off Quanta.
On a personal note, I want to close by saying I know of several hundred Kommander applications that have been floating around based on what Kommander could do before. In my experience it is now many times better to design applications with than just last month, and for this we owe Andras Mantia a debt of gratitude. Unfortunately being as busy as I have been and as much as I hate asking for money I have not kept up with fund raising and I owe him money. From what I have seen him do I have to say that for KDE, Quanta and Kommander he is without a doubt one of the best developers in KDE and worth more than I have been paying him. Now that he has a family it is on both our minds that he needs a raise. Please consider helping our project and our most valued resource by contributing to our project. We have a few contributors who send in the thousand Euro plus annual range and a precious few sponsoring for small amounts. If a fraction of our users "took us out to lunch" once a month we would be further along. Since its inception 7 years ago Kommander has had less than a year of full-time development.
Keep your eye on our website for updates on tools and plugins. Take a look at the screenshots for an overview.