Przeskakiwanie TB do pierwszej wiadomości na grupie
Sytuacja:
Domyślnie Thunderbird jest zrobiony tak, że po przejściu na daną grupę dyskusyjną przeskakuje do najnowszej wiadomości w ogóle, czyli może to być jakaś odpowiedź do starego wątku. Powoduje to rozwinięcie takiego starego wątku, przeskoczenie do niego. Skutek jest taki, że by zobaczyć najnowszy wątek, trzeba przewijać listę wątków. Tutaj prezentuję rozwiązanie, które spowoduje automatyczne zaznaczanie najnowszego wątku i ewentualnie parę dodatkowych efektów.
Thunderbird 2 - wstęp
Jak mi niedawno przypomniano
(wrzesień 2008),
w kwietniu 2007
wyszło na to, że od Thunderbirda 2 efekt nierozwijania drzewa wątków można uzyskać ustawieniem
mailnews.scroll_to_new_message
na false
. Przeważnie to wystarcza. Dalszy opis jest dla
tych, którzy chcą mieć bardziej drobnoziarnistą kontrolę nad zachowaniem aplikacji - np. rozdzielić ustawienia dla
grup od ustawień dla poczty.
Thunderbird 2 - część właściwa
Wszelkich zmian wymienionych poniżej należy dokonywać, gdy Thunderbird jest wyłączony.
Do tej wersji przygotowałem narzędzie, które automatycznie nałoży patch na Thunderbirda. Użytkownicy Linuxa mogą ściągnąć tylko niewielki skrypt, który za pomocą grep'a, patch'a itp. wykona zadanie. Użytkownicy systemu Windows muszą ściągnąć dodatkowo zestaw skompilowanych już aplikacji GNU. W paczce umieściłem tylko minimum wymagane do działania. Wszystkie te narzędzia pochodzą z http://gnuwin32.sourceforge.net/. Tam dostępne są źródła poszczególnych aplikacji oraz ich licencje.Sposób aplikacji - Linux
- Ściągnąć skrypt do patchowania
- Skopiować plik do katalogu Thunderbirda (np. /usr/lib/mozilla-thunderbird/)
- Rozpakować plik poleceniem
tar -xvvzf patches-tbp1.tar.gz
Obok katalogów takich jakchrome, defaults
, powinien pojawić się nowy -patches
- Przejść do katalogu
patches
i wykonać skrypt (np../patch_tb_1_v2.sh
) - Działanie powinno się zakończyć napisem Finished. Jeśli wystąpiły błędy i nie wiadomo jak je usunąć,
można się skontaktować ze mną :-)
(Wykonanie skryptu uda się tylko raz - próby nałożenia poprawki na plik już poprawiony na pewno skończą się komunikatem błędu - natomiast nic nie zespsują)
Sposób aplikacji - Windows
- Ściągnąć zestaw narzędzi GNU
- Ściągnąć skrypt do patchowania
- Skopiować pliki do katalogu Thunderbirda (np. C:\Program Files\Mozilla Thunderbird 2\)
- Uruchomić oba pliki - są to archiwa samorozpakowujące 7zip.
Obok katalogów takich jak
chrome, defaults
, powinien pojawić się nowy -patches
- Przejść do katalogu
patches
i uruchomić skrypt dwuklikiem (np.patch_tb_1_v2.cmd
) - Powinno pojawić się czarne okno konsoli.
Działanie powinno się zakończyć napisem Finished. Jeśli wystąpiły błędy i nie wiadomo jak je usunąć,
można się skontaktować ze mną :-)
(Wykonanie skryptu uda się tylko raz - próby nałożenia poprawki na plik już poprawiony na pewno skończą się komunikatem błędu - natomiast nic nie zespsują)
Repozytorium SVN
Repozytorium na xp-devLista skryptów
- patch_tb_1_v1.cmd - ver. 1 dla Win
- patch_tb_1_v1.sh - ver. 1 dla Linuxa
- patch_tb_1_v2.cmd - ver. 2 dla Win
- patch_tb_1_v2.sh - ver. 2 dla Linuxa
- revert_patch_tb_1_v1.cmd - ver. 1 --> wersja pierwotna (Win)
- revert_patch_tb_1_v2.cmd - ver. 2 --> wersja pierwotna (Win)
Ver. 2 ma dodaną opcję zaznaczania/wybrania wiadomości po wejściu na grupę dysk., co skutkuje wyświetleniem jej treści.
Opcje dodawane w about:config (jeśli jeszcze nie istnieją)
Po znaku "=" podane są domyślne wartości. Opcja false oznacza, że funkcja jest domyślnie wyłączona, true - że domyślnie działa.- w ogólności przejdź do najnowszej wiadomości
mailnews.scroll_to_new_message = false
- jeśli grupy dysk., to nie przechodź
news.dont_scroll_to_new_message = true
- nie pamiętaj ostatnio zaznaczonej wiadomości na grupach
news.dont_remember_selected_message = false
- zwijaj wątki na grupach
news.collapse_threads = false
- zaznaczaj/wybieraj wiadomość na grupach
news.select_message = true
Wejście do about:config
Windows: Tools - Preferences - Advanced - General - Config Editor...Linux: Edit - Preferences - Advanced - General - Config Editor...
Usuwanie łatki
Łatę można usunąć automatycznie wukonującpatch_xxx revert
(Linux)
lub dwuklikając na revert_patch_xxx
(Windows).Spowoduje to przywrócenie pierwotnego kodu Thunderbirda, ale nie usunie w/w opcji z about:config. Jest to podyktowane tym, że np. opcja
mailnews.scroll_to_new_message
została dodana fabrycznie w Thunderbird'e 2. Usunięcie opcji, do której odwołuje się kod
skutkuje rzuceniem wyjątku, wyjściem z funkcji i błędnym działaniem aplikacji.
Fakt rzucenia wyjątkiem jest widoczny w Error/JavaScript Console.
Tak więc pozostawienie tych ustawień nie ma negatywnych konsekwencji poza tym, że zajmuje parę dodatkowych bajtów na dysku, za to zapewnia większe bezpieczeństwo.