- Thunderbird-Version (78.8.1
- Betriebssystem + Version: Windows 10 64bit
- Kalender mit WebDAV / CalDAV (ja): Nextcloudpi
Hallo,
ich umgehe das Problem, dass man den Kalender nicht automatisch mit dem aktuellen Tag links anzeigen kann, indem ich die prefs.js auf DOS-Ebene manipuliere.
Das ganze mache ich mit folgender Batch-Datei:
(Achtung, die Manipulation der prefs.js kann die Lauffähigkeit von thunderbird nachhaltig schädigen, ich übernehme keine Haftung für Schäden, die durch Nutzung meiner Batchdatei entstehen!)
@echo off
setlocal DisableDelayedExpansion
taskkill /im Thunderbird.exe
echo Ich zaehle mal eben den Tag hoch, damit der heutige Tag im Thunderbird-Kalender ganz links steht
timeout /t 5 /nobreak
set DOW=
for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (
set DOW=%%g)
c:
cd \Users\Username\AppData\Roaming\Thunderbird\Profiles\hier-anpassen.default\
if exist prefs.old2 del prefs.old2
if exist prefs.old ren prefs.old prefs.old2
if exist prefs.js copy prefs.js prefs.old
SET "src=prefs.js"
SET "pattern=\"calendar\.week\.start\""
SET "dst=tempPrefs.txt"
set "found="
for /f "delims=:" %%i in ('findstr /n "%pattern%" "%src%"') do set "found=%%i"
if not defined found exit /b
setlocal EnableDelayedExpansion
<"!src!" >"!dst!" (
for /f %%i in ('type "!src!"^|find /c /v ""') do for /l %%j in (1 1 %%i) do (
set "line=" & set /p "line="
if %%j==%found% (
for /f "tokens=1-3 delims=,)" %%k in ("!line!") do (
:: set /a "n=%%l + 1"
set /a "n=%DOW%"
echo(%%k, !n!^)%%m
)
) else echo(!line!
)
)
del prefs.js
ren tempPrefs.txt Prefs.js
echo Restart
start "\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"
Alles anzeigen
DIese Datei nenne ich thunder.bat und rufe sie statt der eigentlichen thunderbird.exe auf. Sie funktioniert bei mir seit 2 Jahren.
Was macht sie im Klartext:
1. Es wird eine evtl. laufende thunderbird-Instanz beendet (bei mir läuft der Kalender auf einem 24/7 Rechner, ich rufe die Batch-Datei nach Mitternacht durch einen Windows-Dienst auf).
2. Der aktuelle Wochentag wird auf DOS-Ebene ermittelt und in eine Variable geschrieben.
3. Wechsel in das thunderbird-Verzeichnis (heißt bei jedem anders und muss angepasst werden)
4. Das vorletzte Backup wird vom letzten Backup überschrieben.
5. Von der aktuellen prefs.js wird eine Kopie erstellt
6. in der aktuellen prefs.js wird der Schlüssel mit dem Anfangstag des Kalenders gesucht und durch den oben ermittelten Tag ersetzt
7. die geänderte prefs.js wird als .txt gespeichert
8. die aktuelle prefs.js wird durch die bearbeitete Version ersetzt
9. thunderbird wird (wieder) gestartet
Möglich, dass sie etwas umständlich arbeitet, aber ich bin kein Batch-Spezialist. Außerdem kann ich die Schritte auch nach 2 Jahren noch einigermaßen erklären, ich werde ja auch nicht jünger
Gruß
Tali