Pages

samedi 20 septembre 2014

Checkgmail "nouvelle version themable"...

Pour les gens pressés, le script est ici: https://dl.dropboxusercontent.com/u/2677320/checkgmail

J'utilise checkgmail depuis toujours... J'aime sa simplicité et sa sobriété. C'est un simple script python avec quelques fichiers de configuration.Mais il n'a pas évolué depuis bien longtemps maintenant et n'est plus maintenu. Il fonctionne toujours à condition de lui de mettre les arguments corrects sur la ligne de commande et concernant son apparence, il n'est seulement  possible que de changer ses icônes et leur couleur de fond et ce depuis depuis la fenêtre des préférences.

Mais pour adapter ses couleurs au thème du bureau, il faut aller voir comment cela se passe dans le script. Ce qui n'est pas très simple.
C'est pourquoi j' y ai amélioré quelques petites choses, afin de faciliter la modification des couleurs et des bordures de fenêtres popup directement en éditant le début du scripts sans trop mettre les mains dans le cambouis.

Deux captures valant mieux qu'un long discours...







Par défaut, les couleurs ont été adaptées au thème original d'Ubuntu, mais il facile de les changer à votre guise (voir plus bas).

Pour faire fonctionner cette version checkgmail:

Installer le paquet checkgmail de votre distibution
$ sudo apt-get install checkgmail
(pour les dérivées de Debian)

Installer les dépendences si ce n'est pas déjà fait.
$ sudo apt-get install apt-get install libcrypt-blowfish-perl\
 libcrypt-simple-perl libfreezethaw-perl libgtk2-trayicon-perl\

 liblwp-protocol-https-perl libxml-simple-perl
(pour les dérivées de Debian)

Télécharger le nouveau checkgmail: 
$ wget "https://dl.dropboxusercontent.com/u/2677320/checkgmail"

Le rendre exécutable:
$ chmod +x ./checkgmail

Remplacer l'ancien:
$ sudo mv ./checkgmail /usr/bin

Puis, enfin, lancez-le depuis le menu.
Si vous voulez qu'il soit lancé automatiquement au démarrage:
$ cp  /usr/share/applications/checkgmail.desktop ~/.config/autostart

Après le lancement vous pouvez maintenant ouvrir la fenêtre des préférences (clique-droit sur l'icône) et renseigner ce qui doit l'être.




Si vous voulez une icône d'erreur en rapport avec les icônes ' indicator-messages.svg' et 'indicator-messages-new.svg'  du theme Ubuntu, voici le lien:
https://dl.dropboxusercontent.com/u/2677320/indicator-messages-error.svg

Modifier les couleurs des fenêtres popup:

Pour cela, il suffit d'éditer le script aux environs de la ligne 162,de lire le readme inclus et mettre à jour les couleurs que vous désirez:
$ gksudo gedit /usr/bin/checkgmail

Pour les non anglophones, voici la traduction:

#######################
# Couleurs + Bordure
#
# Utiliser gcolor2  pour connaitre la couleur 
# ( installation sur Ubuntu: sudo apt-get install gcolor2)
#
# Pour une meilleur adaptation à votre theme, vous pouvez changer les icones et la couleur
# d'arriere-plan dans les preferences.
#
# Pour les utilisateurs d'Ubuntu:
# Dans les preferences, mettre les icones ' indicator-messages.svg'
# et 'indicator-messages-new.svg' du repertoire /usr/share/ubuntu-mono-*/status/*/
# comme icones personnalisees
# Une icone d'erreur peut etre telechargee ici:
#  https://dl.dropboxusercontent.com/u/2677320/indicator-messages-error.svg
# Mettre la couleur d'arriere plan de votre panel comme couleur de fond.
#
########################################################################
################################ README COLORS ########################
########################################################################
# Le nom des  variables de couleurs comprenant '_GTK'
#  (ex: '$win_new_mail_color_GTK_border')
# doivent etre declaree comme suit:
## avec des valeurs decimales
#my $Black   = Gtk2::Gdk::Color->new (0,0,0);
#my $Grey    = Gtk2::Gdk::Color->new (150*257, 150*257, 150*257);
#my $White   = Gtk2::Gdk::Color->new (65535, 65535, 65535);
# ou avec des valeurs hexadecimals
#my $Red     = Gtk2::Gdk::Color->new (0xFFFF,0,0);
#my $Yellow  = Gtk2::Gdk::Color->new (0xFFFF,0xFFFF,0);
#my $Magenta = Gtk2::Gdk::Color->new (0xFFFF,0,0xFFFF);
#my $Green   = Gtk2::Gdk::Color->new (0,0xFFFF,0);
#my $Cyan    = Gtk2::Gdk::Color->new (0,0xFFFF,0xFFFF);
#my $Blue    = Gtk2::Gdk::Color->new (0,0,0xFFFF);
#my $White   = Gtk2::Gdk::Color->new (0xFFFF,0xFFFF,0xFFFF);
#
#
# Le nom des  variables de couleurs ne comprenant pas ' _GTK' 
# (ex: '$win_no_mail_color_text)
# doivent etre declarees comme suit:
#my $Grey   = "#AAAAAA";
#my $White  = "#FFFFFF";
#my $Black  = "#000000";
#my $Red    = "#FF0000";
#my $Green  = "#00FF00";
########################################################################
# Vous pouvez ajouter vos couleurs ici...
# Couleurs du theme Ubuntu ambience
my $Ambiance_BG_GTK        = Gtk2::Gdk::Color->new (62*257, 62*257, 58*257);
my $Ambiance_Grey_BG_GTK   = Gtk2::Gdk::Color->new (241*257, 241*257, 241*257);
my $Ambiance_Grey_Text_GTK = Gtk2::Gdk::Color->new (213*257, 210*257, 203*257);

my $Ambiance_Text_Bg_Color   = "#3E3E3A";
my $Ambiance_Grey_Bg_Color   = "#F1F1F1";
my $Ambiance_Grey_Text_Color = "#D5D2CB";

# mes couleurs
my $Blue_mail_GTK  = Gtk2::Gdk::Color->new (25*257, 182*257, 238*257); # Bleu de l'icone indicator-messages-new
my $Blue_mail_text = "#19B6EE";
my $Orange_Text    = "#FCAF3E";
my $Purple_Text    = "#CEA4E2";
my $Grey_Text      = "#DDDDDD";
my $White_Text     = "#FFFFFF";
my $Black_Text     = "#333333";
my $Green_Text     = "#71CC59";

##### ...et renseigner vos couleurs ici 
#1 WIN POPUP PAD DE MAIL
$win_no_mail_color_text         = $Ambiance_Grey_Text_Color;
$win_no_mail_color_text_bg      = $Ambiance_Text_Bg_Color;

#2 WIN POPUP NOUVEAU MAIL + BORDURE + EPAISSEUR BORDURE
$win_new_mail_color_GTK_border   = $Blue_mail_GTK; #GTK
$win_new_mail_color_border_width = 3;
$win_new_mail_color_GTK_bg       = $Ambiance_Grey_BG_GTK; #GTK

$win_new_mail_color_text        = $Black_Text;
$win_new_mail_color_text_bg     = $Ambiance_Grey_Bg_Color;

#3 WIN POPUP MAIL
 # COULEUR DE FOND + BORDURE + EPAISSEUR BORDURE
$win_mail_color_GTK_bg_border   = $Blue_mail_GTK; #GTK
$win_mail_border_width = 1;
$win_mail_color_GTK_bg          = $Ambiance_BG_GTK; #GTK

 # COULEUR TEXTE
$win_mail_color_text    = "";
$win_mail_color_text_bg = $Ambiance_Text_Bg_Color;

 # COULEUR TEXTE VERIFICAION 
$win_mail_color_text_check = $White_Text;

 # COULEUR TEXTE NOMBRE MAIL
$win_mail_color_text_number_mail = $White_Text;

 # COULEUR SUJET
$win_mail_color_text_subject = $Orange_Text;
$win_mail_color_text_subject_under_mouse = $Orange_Text;

 # COULEUR 'DE' 
$win_mail_color_text_from   = $Ambiance_Grey_Text_Color;

 # COULEUR TEXTE AUTEUR 
$win_mail_color_text_author = $Purple_Text;

 #COULEUR TEXTE 'OUVRIR'
$win_mail_color_text_open             = $Green_Text;
$win_mail_color_text_open_under_mouse = $Green_Text;

 # COULEUR CORPS
$win_mail_color_text_body = $White_Text;

#4 FEN POPUP VERIF
$win_popup_check_color_text    = $Ambiance_Grey_Text_Color;
$win_popup_check_color_text_bg = $Ambiance_Text_Bg_Color;

#5 MENU
$win_menu_color_GTK_bg   = $Ambiance_BG_GTK; #GTK
$win_menu_color_GTK_text = $Ambiance_Grey_Text_GTK; #GTK

Si vous savez coder en perl (ce qui n'est pas tout à fait mon cas):

Les modifications ayant été faites sans trop fignoler, Il est surement possible d'améliorer  tout cela, en l'intégrant par exemple aux préférences de checkgmail, si vous connaissez python, à vous de jouer. Toute les variables de couleur sont au début du script maintenant.

Juste un mot pour dire que l'on peut maintenant lancer le script sans l'argument  '-no_cookies' qui était obligatoire depuis un certain temps. Il a juste suffit de mettre la variable $cookies à 0 ligne 67, en espérant en avoir besoin de nouveau un jour... et rajouter les liens originaux pour supprimer, marquer comme lu,etc... depuis la fenêtre popup !
Il devait être possible de coder cela avec les bibliothèques  'imap' et 'email'.

Enfin je suis parti sur le script modifier par Stefanie http://ubuntuforums.org/showthread.php?t=1520603 et un patch trouver ici http://linuxdeal.com/how-to-fix-checkgmail

Bonne Nouvelle !!
The Return of the 'manage buttons':
2014-10-11: monojp a hacker checkgmail. Ce qui permet à nouveau de gérer les mails depuis la fenêtre popup.

J'ai reécrit la version themable depuis la sienne.

Voila!