Notice: Constant ABSPATH already defined in /home/mcalamel/public_html/wp-config.php on line 23
Just another blog… » Blog Archive » Nuovo client di posta
Jul. 12, 2006

Ciao a tutti, rieccomi online in un periodo veramente incasinato sia per quanto riguarda il lavoro (ultime produzioni pre-ferie) sia per il privato (pianificazione ferie!).
Scrivo questo post per rendere pubblico il mio lavoro di transizione da Thunderbird a Sylpheed sotto XP. Generalmente mi trovo a dover gestire tre account di posta, due attivi (lavoro e Gmail) e uno in fase di chiusura (Email.it), con un totale di 73(!) cartelle di posta nelle quali vengono smistate le email che mi arrivano, alcune delle quali con pochi messaggi, ma con altre contenenti, a oggi, fino a 7854 messaggi (la mailing list Php-it di Ziobudda). Ho usato Thunderbird sin dalle prime versioni e devo dire che e’ un ottimo client di posta, ma purtroppo e’ un po’ troppo esoso di risorse per le mie esigenze: qui al lavoro sono abituato a tenere aperti almeno 5 programmi assieme, e i 30MB di memoria che mi occupa, sia aperto che ridotto ad icona, mi danno fastidio.
Mi sono guardato in giro, e ho scelto Sylpheed: veloce e leggero, basato sulle librerie GTK+ (che su XP girano veramente bene), utilizza il formato MH (un file per ogni mail), ed e’ comunque in grado di importare/esportare file mbox.
L’importazione da Thunderbird e’ avvenuta perfettamente sia per quanto riguarda le email che per la rubrica (in formato LDIF), e i filtri per la gestione delle mail in arrivo li sto riscrivendo man mano mi servono; lo spam lo gestisco tramite il supporto integrato a bsfilter. I dettagli relativi all’occupazione di memoria sono questi: aperto 16MB, ridotto a icona 4,2MB , e mi sembra un ottimo risultato. Ho rilevato solo due funzionalita’ mancanti, che ritengo utili: 0) un qualche tipo di notifica all’arrivo di una mail, 1) la possibilita’ di impostare come azione di un filtro il forwarding della mail ad un indirizzo di posta. Ma ci ho messo del mio, e il punto 0) l’ho risolto con un programmino scritto da me, che viene lanciato da Sylpheed all’arrivo di una mail, facendo comparire una icona nella traybar e chiudendosi al click sull’icona stessa. Lo zip dell’eseguibile lo trovate qui, mentre lo zip dei sorgenti (Delphi7) e’ qui; per la visualizzazione dell’icona ho utilizzato il componente CoolTrayIcon.

Ecco un po’ di codice…

trayNotifier.dpr

  1. program trayNotifier;
  2.  
  3. uses
  4.   Windows,Forms,
  5.   TTrayNotifier in ‘TTrayNotifier.pas’ {Form1};
  6. var
  7.   Mutex : THandle;
  8. {$R *.res}
  9.  
  10. begin
  11.   Mutex := CreateMutex(nil, True, ‘trayNotifier’);
  12.   if (Mutex <> 0) and (GetLastError = 0) then
  13.   begin
  14.     Application.Initialize;
  15.     Application.ShowMainForm:=False;
  16.     Application.CreateForm(TForm1, Form1);
  17.     Application.Run;
  18.     if Mutex <> 0 then
  19.       CloseHandle(Mutex);
  20.   end;
  21. end.

Da notare la parte relativa al mutex e al ShowMainForm settato a False: il primo consente l’esecuzione di una istanza sola del programma, mentre il secondo non mostra la form principale.

TTrayNotifier.pas

  1. unit TTrayNotifier;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, ImgList, CoolTrayIcon, TextTrayIcon, Menus;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     TextTrayIcon1: TTextTrayIcon;
  12.     ImageList1: TImageList;
  13.     PopupMenu1: TPopupMenu;
  14.     Exit1: TMenuItem;
  15.     procedure TextTrayIcon1Click(Sender: TObject);
  16.     procedure TextTrayIcon1DblClick(Sender: TObject);
  17.     procedure Exit1Click(Sender: TObject);
  18.   private
  19.     { Private declarations }
  20.   public
  21.     { Public declarations }
  22.   end;
  23.  
  24. var
  25.   Form1: TForm1;
  26.  
  27. implementation
  28.  
  29. {$R *.dfm}
  30.  
  31. procedure TForm1.TextTrayIcon1Click(Sender: TObject);
  32. begin
  33.   Close;
  34. end;
  35.  
  36. procedure TForm1.TextTrayIcon1DblClick(Sender: TObject);
  37. begin
  38.   Close;
  39. end;
  40.  
  41. procedure TForm1.Exit1Click(Sender: TObject);
  42. begin
  43.   Close;
  44. end;
  45.  
  46. end.

Ah, dimenticavo: trayNotifier.exe va messo nella cartella contenente l’eseguibile di Sylpheed, e nelle Preferenze Comuni di quest’ultimo va spuntata la casella “Esegui il comando…” e scrivendo nel box sotto “trayNotifier.exe”, ovviamente senza apici!

Alla prox

Probabilmente correlato...

  • Nessun post correlato

Posted by mcalamelli in Opensource, Windows

  1. 1 Trackback(s)

  2. 2006-11-13: Just another blog… » Blog Archive » Nuova versione -> programma migliore!

Post a Comment

Probabilmente correlato...

  • Nessun post correlato