Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/07/2006, à 22:27

eddy

[KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

Le but de la manip est d'attacher des fichiers à un mail Thunderbird par clic droit dans Konqueror. Le script propose en plus le redimensionnement automatique des images s'il y en a, et une barre de progression pour suivre l'avancement des opérations.

thunderbird6jk.png

Installation :

1. Vérifier que imagemagick est installé :

sudo apt-get -y install imagemagick

2. Créer l'item du menu :
Editer le fichier email.desktop de la façon suivante :

kate ~/.kde/share/apps/konqueror/servicemenus/email.desktop

puis coller ce contenu

[Desktop Entry]
ServiceTypes=all/allfiles
Actions=attach

[Desktop Action attach]
Name=Email ...
Name[fr]=Envoyer par mail ...
Icon=thunderbird
Exec=~/bin/ktbmail %U

Sauver le fichier.

3. Créer le script :

mkdir ~/bin
cd ~/bin
touch ktbmail
chmod +x ktbmail
kate ktbmail

puis y coller le contenu suivant :

#!/bin/bash
# Author : Eddy
# Date   : 2006/07/13
#
# thunderbird version >= 1.5 and imagemagick packages must be installed
#

# Default language = English
_warning_title="Warning"
_warning_text="Please select at least one file !"
_progress_title="Preparing"
_progress_first_text="Processing ..."
_progress_text="Processing file"
_prompt_title="Scale image(s) ..."
_prompt_text="Choose the desired definition :"
_prompt_column_title="Size"
_def_unchanged="Original definition"
case $LANG in
# If language = French
	fr* )
	_warning_title="Attention"
	_warning_text="Il faut sélectionner au moins un fichier !"
	_progress_title="Préparation"
	_progress_first_text="Traitement en cours ..."
	_progress_text="Traitement du fichier"
	_prompt_title="Redimensionner l'(es) image(s) ..."
	_prompt_text="Choisir une définition maximum ci-dessous :"
	_prompt_column_title="Taille"
	_def_unchanged="Définition originale"
esac

# First make sure there's something selected (should be the case ...)
if [ $# -eq 0 ]; then
	kdialog --sorry "$_warning_text" --title="$_warning_title"
	exit
fi

# Store the number of files to process.
NB_FILES=$#
# Reset the attachment list.
echo "" > /tmp/attachment.log

# Launch the progress dialog box
PROGRESS=`kdialog --progressbar "$_progress_first_text" $NB_FILES`
dcop $PROGRESS showCancelButton true
dcop $PROGRESS setAutoClose true

# Here we go
while [ $# -gt 0 ];
do
  # Store the file name and uri.
  FILE="$1"
  FILE_NAME=`echo "$FILE"  | awk -F "/" '{print $NF}'`
  FILE_URI=file://"$FILE"
  
  # Update the progress dialog
  let "COMPTEUR += 1"
  dcop $PROGRESS setLabel "$_progress_text $FILE_NAME ($COMPTEUR/$NB_FILES) ..."
  if [ "true" == `dcop "$PROGRESS" wasCancelled` ]; then
     dcop $PROGRESS close
     exit
  fi
  
  # Test if the file is a picture.
  # The following line may not work if the file is on the desktop ...
  # IS_IMAGE=`file -bi "$FILE_NAME" | grep -c image`
  # so we do differently.
  # Note that we reduce only jpeg files.
  # If we wanted to reduce other types of picture file then we could do something like that :
  # IS_IMAGE=`echo $FILE_NAME | grep -c -E [.]jpg\|[.]gif\|[.]png`
  IS_IMAGE=`echo "$FILE_NAME" | grep -c -E [.]jpg\|[.]JPG\|[.]jpeg\|[.]JPEG`
  if [ $IS_IMAGE != 0 ]; then
    # If the file is an image, prompt for reducing it.
    if [ ! $DEF_ASKED ]; then
      DEF=`kdialog --radiolist "$_prompt_text" unchanged "$_def_unchanged" off 1280x1280 1280x1024 off 1024x1024 1024x768 on 800x800 800x600 off 640x640 640x480 off --title "$_prompt_title"`
      if [ $? = 1 ]; then
      	dcop $PROGRESS close
      	exit
      fi
      DEF_ASKED=1
    fi
    # Test if there is a resize to do
    if [ "$DEF" != "unchanged" ]; then
      # Do the resize
      convert "$FILE" -scale $DEF "$HOME/.local/share/Trash/files/$FILE_NAME"
      # Store the reduced file uri in place of the file uri.
      FILE_URI="file://$HOME/.local/share/Trash/files/$FILE_NAME"
    fi
  fi
  
  # Add the file uri to the attachment list.
  if [ "$ATTACHMENT" == "" ]; then
    ATTACHMENT=$FILE_URI
  else
    ATTACHMENT=$ATTACHMENT,$FILE_URI
  fi
  
  # And continue with the next file ...
  dcop $PROGRESS setProgress $COMPTEUR
  shift
done

# Make the attachment
mozilla-thunderbird -compose "attachment='$ATTACHMENT'"

Sauver le fichier.

4. Faire un essai !

Si ce post vous a été utile, n'hésitez pas à le dire ça me fera plaisir big_smile
(si quelque chose ne marche pas ça me fera moins plaisir mais vous pouvez le dire aussi ...)

Dernière modification par eddy (Le 13/07/2006, à 13:11)

Hors ligne

#2 Le 13/07/2006, à 10:22

Black_pignouf

Re : [KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

Pas mal! T'aurais le même avec Kmail? tongue

Hors ligne

#3 Le 13/07/2006, à 11:22

eddy

Re : [KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

@Black_pignouf : tu peux t'inspirer très largement de mon script, il ne doit pas y avoir beaucoup à modifier pour que ça marche avec Kmail.

Hors ligne

#4 Le 23/07/2006, à 20:37

xylo2

Re : [KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

Ca marche plutôt pas mal. tongue

Dans mon cas, deux petites remarques.
- Le répertoire ~/.kde/share/apps/konqueror/ n'existant pas, j'ai cherché le fichier email.desktop et utilisé celui-ci (à tort ou à raison, je ne sais pas) : ./usr/share/kubuntu-default-settings/kde-profile/default/share/apps/konqueror/servicemenus/email.desktop

- Cela marche nickel si le fichier provient de mon home. Par contre, j'ai testé avec des images sur un disque dur USB et en apparence seulement, ça a fonctionné. En fait la ligne de commande convert renvoit une erreur (qui me dit que le fichier destination n'existe pas) et donc les fichiers ne sont pas créés mais bon, de mon home, ça marche nickel smile

Merci !

#5 Le 22/02/2007, à 12:47

potomer

Re : [KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

Bonjour,
Ca marche très bien, mais il fallu que je crée le répertoire et le fichier
"/.kde/share/apps/konqueror/servicemenus/email.desktop" et que je modifie le lien vers Thunderbird !
Sinon Merci pour le tuyau wink
Omer

Dernière modification par potomer (Le 22/02/2007, à 12:48)

Hors ligne

#6 Le 22/02/2007, à 19:11

max63

Re : [KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

J'ai été obligé d'ajouter le ligne
dcop $PROGRESS close
pour que la fenetre de progression soit bien fermer avant de lancer Thunderbird sinon elle rester toujours à l'écran.
Mais sinon ton script est super bien !!! merci beaucoup


Tout sur l'actualité frakassante du libre : http://www.frakass.org

Hors ligne

#7 Le 22/02/2007, à 19:22

max63

Re : [KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

Autre bug que je ne sais pas résoudre par contre, si le nom du fichier image commence par un # le nom du fichier ajouter en pièce jointe a thunderbird est incorrect, chez moi il me donne le nom de mon compte linux.


Tout sur l'actualité frakassante du libre : http://www.frakass.org

Hors ligne

#8 Le 01/08/2007, à 16:02

ZenerZ

Re : [KDE] Envoyer des fichiers/images via Thunderbird depuis Konqueror

Cool comme script.

Je l'ai réutilisé pour faire des négatifs de copies d'écrans à la volée et ainsi les imprimer en économisant le toner d'imprimante (convert $FILE -negate $FILE).
La modif est simpliste à côté de ton script mais ça me fait gagner un temps fou!!!

A+

Hors ligne