Erweiterung „Custom Calendar Defaults“ erschienen

So, die erste Runde ist raus:
Die Erweiterung „Custom Calendar Defaults“ ist denke ich reif genug, um freigegeben zu werden. Mit ihr lassen sich Standardeinstellungen für neue Termine und Aufgaben feslegen, und zwar Einstellungen für Status, Priorität und Privatsphäre. Die Einstellungen greifen beim Anlegen von

  • Terminen und Aufgaben mit Hilfe des entsprechenden Dialogs,
  • Aufgaben über die „Quick add“-Zeile und
  • Terminen per „Click & Drag“ in Tages- oder Wochenansicht.

Die Einstellungen lassen sich nun über einen Einstellungen-Dialog der Erweiterung konfigurieren. Eine nahtlose Integration in die Lightning-Einstellungen wäre zwar auch hübsch, ist mir jetzt aber zu aufwendig.
Mehr Features gewünscht? An Voreinstellungen für Kategorien bin ich wie bereits erwähnt gescheitert; denkbar wäre für die Zukunft aber z.B. noch eine Beeinflussung des Titels von neuen Einträgen. Es gibt in den Dateien eine Variable „summary“, die sich leicht mit Wunschdaten füttern lassen sollte…

Apropos Zukunft:
Ich hoffe sehr, dass nicht zu viele Erweiterungen dieser Art für Lightning entstehen werden. Denn „Custom Calendar Defaults“ arbeitet mit geringfügig modifizierten Kopien von verschiedenen JavaScript-Dateien von Lightning. Per „override“-Anweisung in der chrome.manifest verwendet Lightning dann nicht mehr die eigenen, sondern die Dateien der Erweiterung. Vermutlich gäbe es Konflikte, wenn andere Erweiterungen auf demselben Weg an denselben Dateien etwas modifizieren wollten…
An dieser Stelle hoffen wir einfach mal. Wenn natürlich jemand ein anderes/einfacheres Verfahren mitteilen möchte, wie man sich in Lightning-Funktionen ‚einklinken‘ und diese modifizieren kann – her damit!

Weil die Erweiterung mit modifizierten Kopien von Lightning-Dateien arbeitet, solche Dateien sich im Laufe der Lightning-Entwicklung aber ändern können, bekommt jedes Lightning-Release seine eigene Version von „Custom Calendar Defaults“ zugewiesen:

  • Custom Calendar Defaults 0.1 für
    Sunbird 1.0b1 bzw. Lightning 1.0b1 + Thunderbird 3.0:
    Download
  • Custom Calendar Defaults 0.2 für
    Sunbird 1.0b2 bzw. Lightning 1.0b2 + Thunderbird 3.1:
    Download
  • Custom Calendar Defaults 0.4 für
    Lightning 1.0b4 + Thunderbird 5 / SeaMonkey 2.1-2.2:
    Download
  • Custom Calendar Defaults 0.5 für
    Lightning 1.0b5 + Thunderbird 6 / SeaMonkey 2.1-2.3:
    Download

Rund um den 27. September ist dann (hoffentlich) die nächste Version verfügbar, denn dann soll eine neue Lightning-Version erscheinen.

Feedback willkommen.

Erweiterung „Custom Calendar Defaults“ in Arbeit

Das wird die letzte Frickel-Aktion dieser Ferien:
Nachdem ich nun kapiert habe, was man mit „override“- an Stelle von „overlay“-Anweisungen so alles über eine Erweiterung erreichen kann, bastele ich an einer Erweiterung für das Setzen individueller Voreinstellungen beim Anlegen neuer Termine oder Aufgaben in Lightning (vgl. Bugs wie 288157 oder 215975).

Mit kleinen Eingriffen in die calendar-item-editing.js lässt sich nun schon für Status, Privatsphäre und Priorität eine gewünschte Voreinstellung konfigurieren, die dann beim Erstellen neuer Einträge entsprechende Werte aus den Prefs ausliest und den Dialog anpasst.

Eigentlich würde ich das gerne auch für die Kategorien hinbekommen, aber hier hat auch viel Basteln bislang nicht weitergeholfen. Die Krönung war der folgende Fehler:

Fehler: uncaught exception: [Exception… „Cannot modify properties of a WrappedNative“  nsresult: „0x80570034 (NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN)“  location: „JS frame :: chrome://calendar/content/calendar-item-editing.js :: createEventWithDialog :: line 186“  data: no]

Der sagt mir offenbar, dass die Kategorien „tiefer“ im Code verwaltet werden und ich da nicht so einfach was umbiegen kann. Was weiß ich, wann da wo welche Kopien irgendwelcher Objekte oder so angelegt und weiter verwurstet werden. Ist mir zu hoch. Schade. 🙂 Die Kategorien-Geschichte werde ich daher wohl aufgeben.

Vor der Veröffentlichung einer ersten Version von „Custom Calendar Defaults“ muss ich aber mal noch zusehen, dass die individuellen Einstellungen per Einstellungen-Dialog vorgenommen werden können – den gibt’s bisher nicht. Und dann wäre noch zu prüfen, wie sich die Erweiterung bei den ‚abgekürzten‘ Wegen zum Erstellen von Terminen und Aufgaben verhält, wenn also der Dialog nicht erscheint…