Kommander
Dieser Artikel stellt das Programm »Kommander« vor. Anhand eines einfachen Beispielprogrammes werden die Grundprinzipien von Kommander verdeutlicht.
Einführung
Der Kommander ist eine modifizierte Form des Qt Designers. Er erlaubt es, extrem schnell einfache grafische Benutzeroberflächen (GUIs) ohne Programmierkenntnisse zu erstellen. Leider ist die Dokumentation jedoch sehr dürftig geraten und es fehlt eine einfache Anleitung. Dieser Artikel versucht, das Programm etwas populärer zu machen. Aufgrund der schlechten Doku kann ich jedoch selbst nur einen kleinen Teil des Kommander-Potentials ausschöpfen. Über Tipps zur Verbesserung dieses Artikels würde ich mich daher sehr freuen.
Installation: Kommander ist Teil des Paketes kdewebdev, da er häufig von Quanta+ genutzt wird. Sollte das Programm nicht in den Paketquellen Ihrer Distribution zu finden sein, finden sich Downloads auf der Projekt-Homepage.
Dieser Artikel beschreibt Kommander anhand folgender, einfachen Aufgabe: Bei einem eingehenden Anruf soll es möglich sein, sich schnell Notizen zu machen, falls dieser für ein anderes Familienmitglied bzw. einen Mitarbeiter ist. Dazu soll per Shortcut ein kleines Eingabefenster mit den folgenden Feldern gestartet werden:
- Anrufer-Name
- Anrufer Nr.
- Dropdown-Liste mit vordefinierten Empfängern
- Notizen
Per Klick soll dann ein KMail-Fenster mit fertig ausgefüllten Feldern geöffnet werden.
Erstellen des Interfaces
Der Kommander-Editor wird mit dem Befehl kmdr-editor
gestartet. Wählen Sie zunächst und dann den einfachen . Dieser erstellt lediglich ein leeres Formular. Damit in der Fensterdekoration später nicht Form1 steht, sollten Sie zunächst den Eigenschaften-Editor auf der linken Seite des Fensters benutzen, um die Eigenschaft caption in KommanderBeispiel
oder einen ähnlich einfallsreichen Namen zu ändern.
In das Formular klatschen Sie nun einfach die benötigten Widgets grob hinein - und das ist durchaus ernst gemeint, denn um die Größe und Anordnung wird sich der Designer für Sie kümmern. Erstellen Sie also zwei LineEdit Widgets, eine ComboBox, drei Labels, einen TextEdit und einen ExecButton.
Nun lassen Sie den Designer seine Arbeit tun: Dazu wählen Sie einfach alle Elemente aus (STRG+A)
und wählen (STRG+G) - schon werden sie sauber angeordnet. Die zu einem Layout zusammengefassten Widgets erkennt man am roten Rahmen. Neben dem Grid gibt es auch die Möglichkeit, einige Widgets horizontal oder vertikal anzuordnen. Ein abschließendes (STRG+J) verkleinert das Formular so, dass kein Platz verschwendet wird. Dazu muss allerdings wieder das Formular anstatt des Grids markiert werden.
Als nächstes verändern Sie die Eigenschaften dieser Widgets mit dem Property-Editor, wie bereits für die Formular-Caption geschehen:
- Als Eigenschaft "name" vergeben Sie für die Eingabe-Widgets aussagekräftige Bezeichner, z.B. "Name", "Nr", "To" und "Message". Mit diesem Namen können Sie die Widgets später im Code ansprechen.
- Die Eigenschaft "text" der drei Labels und des ExecButtons ändern Sie ebenfalls passend ab, um diese Widgets angemessen zu beschriften.
Abschließend füllen Sie die Combobox mit den möglichen Empfängern, also allen Telefon-Mitbenutzern. Öffnen Sie dazu den Edit-Dialog über einen Doppelklick auf die Combobox.
Kommander Text
Damit ist das Interface auch schon fertig. Nun kommen wir zum »Code«, der - eben weil nicht viel »programmiert« wird, nur Kommander Text genannt wird. Machen Sie einen Rechts-Klick auf den ExecButton und wählen im Kontext-Menü
. Der KommanderText für den Button ist ein einfacher Einzeiler, hier aus Layoutgründen in zwei Zeilen geschrieben:@exec(kmail --subject "Anruf von @Name.Text @Nr.Text" --body "@Message.Text" @To.text)
@exec
führt einfach ein externes Programm aus. Die benötigten Daten werden einfach über @WidgetName.Text
eingefügt. Welche Funktionen noch zur Verfügung stehen, erfahren Sie über einen Klick auf unter dem Eingabefeld. Unter anderem ist es möglich, über Kommander-Text andere KDE-Programme per DCOP zu steuern, oder über die Standardausgabe andere Programme zu bedienen.
Test und Produktiveinsatz
Speichern Sie Ihren Dialog und wählen
, um ihn zu testen. Funktioniert alles wie gewünscht, können Sie den Dialog in Zukunft direkt ausführen:kmdr-executor /pfad/zu/datei.kmdr
Damit Sie Ihr Mini-Programm immer schnell verfügbar haben, benutzen wir eine weitere Funktion von KDE: KHotKeys. Dazu öffnen Sie das KDE-Kontrollzentrum (über das Menü oder per Eingabe von kcontrol
)und wählen . Dort erstellen Sie eine neue Aktion vom Typ und rufen über einen beliebigen Shortcut den kmdr-executor auf.
Zusammenfassung
Natürlich hätte man die Notizen auch direkt in ein KMail-Fenster tippen können. Das braucht allerdings länger zum Starten und ist nicht so übersichtlich, was bei bei der Hektik mancher Anrufe schon verwirren kann.
Durch DCOP sind der Interaktion mit laufenden KDE-Programmen zwar kaum Grenzen gesetzt, aber mit den erhaltenen Daten lässt sich nur wenig anfangen. Wer deutlich komplexere Aufgaben umsetzen will, ist daher vermutlich mit dem »großen Bruder« Qt Designer und einer Skriptsprache wie Python besser bedient. An die Schnelligkeit von Kommander kommen diese aber nicht heran.