[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Scripting Language for IPC
From:       Mirko Klemm <klemm () alpha ! fh-furtwangen ! de>
Date:       1998-02-28 18:49:17
[Download RAW message or body]

Does anyone know REXX (OS/2 or Amiga) or AppleScript?

Applications can be very powerful, but they won't ever be perfect for
the needs of advanced users.
No one ever has managed to make an application perfectly suitable for
any purpose, instead applications are getting bulky, more features are
added at every new release and the user just gets confused with all the
features that he/she doesn't really need.
The solution to this could be a scripting system similar to REXX.
Applications are obliged to put up an IPC port that other applications
and scripts can send commands to.  There should be a basic set of
commands that has to be understood by every KDE application, such as
minimize, restore, maximize, trigger menu items, stick, unstick, close
...
Additionally, applications could allow for inserting new menu items,
trigger special functions, present data to the script or accept data
from it, and so on. With this, an e-mail program could for example be
enhanced by PGP functionality even if this is not explicitly
implemented. If the e-mail program supported commands for presenting a
special mail to a script (e.g. return the filename...), advanced
filtering options could be implemented. Applications could be linked
together to a powerful System without having to use large and bulky
killer executables.
Things like Netscape Communicator are completely obsolete with IPC
Scripts. If You received a HTML-email with Your ordinary e-mail client,
You could automatically launch a Browser to view it, if the message was
in RTF-Format, You could bring up a word processor or other viewer for
this file format.
Graphics Programs could automatically generate graphics from raw data
received from a different application, such as a spreadsheet. Word
processors could be automatized to generate e-mail, letters, faxes or
whatever from data obtained from a web robot or something similar.
And all of this can be done transparently to the user.

Implementation of this will of course affect all present kde
applications, including kwm, kdm, kfm ...
You could use Perl for this purpose. A C/C++ shared library can provide
the functionality for the IPC system such as putting up the port,
waiting for messages and parsing the commands. Applications could see
the issuing of a command to its port like a menu, widget or other input
message. The basic features (like minimize, maximize and so on) could be
provided by the window manager, so that the application programmers
won't have to care about this.

In perl, there could be a perl library that maintains a list of all
available ports (i.e. running kde applications) from which a script can
obtain a special port by its name, which has to be documented with the
application. The valid commands for this application will also have to
be documented. You could then use that port as an object and call the
valid commands and data structures as its members.

This system will also be quite easy to understand even for unexperienced
users.

IMHO, straight use of this feature will be a great improvement, because
You are not forced to write huge applications that fit any purpose nor
provide thousands of perl libraries. Applications themselves will act as
libraries, and user interaction is always possible.

I'm quite new to kde, but I'd like to do some programming on it and
maybe I'll get something like the above to work. However, there has to
be an addition to the style guide if this really should have some
perspective for the future. And first, I need some information about
application programming for kde itself. Where can I get this?  Any
programmers interested in this?

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic