Dieses Programm ist in Java geschrieben und benötigt zum Laufen nur die Java Runtime Environment (JRE) Version 8. Damit kann der Kalender auf allen Betriebssystemen benutzt werden, für die Java verfügbar ist.
Der Quellcode des Programms ist frei verfügbar.
Der Kalender speichert alle Einstellungen und Ereignisse in der Datei Kalender.xml
, die sich neben der Programm-Datei Kalender.jar
befinden muss. Existiert so eine Datei noch nicht, so wird sie neu angelegt. Ab 7 Tagen wird ein Backup der Datei XML-Datei erzeugt (Kalender-<Datum>.xml
). Damit kann notfalls auf ältere Versionen der Einstellungen bzw. Ereignisse zurück gegriffen werden (ein Wiederherstellen muss manuell erfolgen).
Aufgrund der möglichen Größe von Notizen und Anhängen werden diese nicht mit in Kalender.xml
gespeichert, sondern in dem Ordner Kalender.Events
. Notizen und Anhänge befinden sich in Unterordnern für das jeweilige Ereignis. Der Unterordner hat als Namen die eindeutige ID des Ereignisses (die ID ist für den Nutzer normalerweise nicht sichtbar und wird mit in Kalender.xml
abgespeichert).
Soll also der Kalender verschoben werden (dazu vorher beenden!) oder soll ein Backup angelegt werden, so müssen Kalender.xml
, Kalender.Events
und Kalender.jar
kopiert bzw. verschoben werden.
Um zu verhindern, dass der Kalender mehrfach ausgeführt wird (führt zu Inkonsistenzen in den Einstellungen und Ereignissen), legt das Programm beim Start eine Datei Kalender.lock
an und entfernt diese beim Beenden wieder. Beim Start des Programms wird zunächst geprüft, ob Kalender.lock
bereits existiert. Um jedoch zu verhindern, dass sich der Kalender nicht mehr starten lässt, weil zuvor Kalender.lock
nicht richtig entfernt werden konnte, legt die vermeintlich zweite Programm-Instanz eine Datei Kalender.maximize
an. Über diese Datei wird kommuniziert, dass eine zweite Kalender-Instanz gerne starten würde. Wird Kalender.maximize
wieder entfernt, so ist das das Zeichen, dass bereits ein Kalender läuft (evtl. unsichtbar im Hintergrund). Die zweite Instanz beendet sich wieder und der laufende Kalender kommt in den Vordergrund. Wird Kalender.maximize
nicht entfernt, so ist das das Zeichen, dass kein anderer Kalender läuft und Kalender.lock
nicht sauber entfernt werden konnte.
Der Kalender kann auch mit Parametern gestartet werden. Der Kommandozeilen-Aufruf ist java -jar Kalender.jar <Parameter>
. Neben den Standard-Java-Optionen stehen folgende Parameter zur Verfügung:
--maximized
Den Kalender maximiert (volle Fenstergröße) starten.
--workspace=[path]
Anstelle des aktuellen Ordners wird [path]
als Arbeitsverzeichnis verwendet. Somit kann der Ort von Kalender.jar
getrennt werden von den Benutzerdaten Kalender.xml
und Kalender.Events
.
--view=[YEAR|MONTH|WEEK|DAY]
Den Kalender (abweichend von der letzten Einstellung) in einer Ansicht starten.
--size=WIDTHxHEIGHT
Den Kalender in den angegebenen Fenstergröße starten.
--logLevel=[LEVEL]
Den Kalender mit dem angegebenen Log-Level starten. Mögliche Werte: ALL,FINE,INFO,SEVERE,WARNING. Das Log-Level kann auch zur Laufzeit in den Einstellungen geändert werden. Das Log-Level betrifft sowohl die Logdatei Kalender.log
als auch die grafische Ausgabe in das Log-Fenster.
--version
Versionsinformationen anzeigen und danach beenden.