Сжать и отправить по электронной почте в правую кнопку мыши

Я использую Ubuntu 15.04 с файловым менеджером Nemo.

Как включить опцию щелчка правой кнопкой мыши, которая сжимает файлы в zip-архив и прикрепляет его к новому электронному письму в Thunderbird?

3 ответа

Для этого создайте скрипт (.nemo_action), здесь вы можете найти пример правильного синтаксиса.

Когда вы закончите свой скрипт, добавьте его в nemo-actions чтобы сделать его доступным для правой кнопки мыши. Вы должны добавить его в $HOME/.local/share/nemo/actions/

Сценарий должен иметь .nemo_action расширение

Теперь вам нужно сделать скрипт для сжатия и почты:

Добавьте необходимость в скрипт:

Для сжатия с помощью zip, например:

zip -r attach.zip attachFiles

Теперь прикрепите его к новому письму в Thunderbird:

thunderbird -compose "attachment='/path-to- attach.zip'"

Так что этот скрипт будет вызываться nemo_action один

Несколько полезных ссылок:

Для этого вам понадобятся два сценария: сценарий действия Nemo и сценарий, который фактически выполнит эту работу: (Ну, на самом деле одного будет достаточно, но это будет раздражать из-за обслуживания)

Сценарий действия для щелчка правой кнопкой мыши должен перейти в очень конкретный каталог:

~/.local/share/nemo/actions/compress-and-mail.nemo_action:

Как это не расширяется ~ или же $HOME, вам придется дать полный путь.

[Nemo Action]
Name=Compress and E-Mail
Comment=zip-compress files and send them with Thunderbird
Icon-Name=thunderbird
Exec=/home/saravanabawa/.local/nemo_mail_compress.sh %F
Selection=notnone
Extensions=any
EscapeSpaces=true

Другой сценарий будет сценарием bash для сжатия выбранных файлов, присоединения временного архива к новому сообщению и удаления его, как только Thunderbird закроется. Файл должен находиться в том месте, которое вы указали в Exec= строка в предыдущем скрипте:

#!/usr/bin/env bash
ATT=$(mktemp /tmp/attachment.XXXXX.zip)             #Generate temp file
rm $ATT                                             #Remove temp file
zip -rj $ATT $@                                     #Compress files
thunderbird -compose "attachment='file://${ATT}'"   #Attach zip to message
rm $ATT                                             #Delete archive when done

Да, я сначала создаю временный файл, а затем снова его удаляю. Таким образом, имя файла генерируется, но zip не жалуется на то, что файл не является zip-архивом.

Сценарий, который я создал, позволяет вам прикрепить несколько файлов и каталогов. Из-за некоторых ограничений возможно сжатие всего пути (архив будет принимать весь путь в качестве имени, в конечном итоге содержащий дерево каталогов из / ко всем сжатым файлам) или пропустить все каталоги, т.е. все файлы будут на корневом уровне. Повторяющиеся имена файлов в разных каталогах приведут к тому, что программа не будет работать должным образом (я никогда не использую zip, я не знаю, как она будет реагировать). Если вы хотите первое поведение, удалите j переключитесь с команды zip, иначе оставьте ее там.


PS: получатели могут быть подозрительными, если они получают электронное письмо с вложением attachment.JgHdI.zip (имя, сгенерированное mktemp). Поэтому вы можете переименовать архив внутри Thunderbird.

Другой вариант - запросить имя архива, например, используя Zenity. Адаптированный скрипт может выглядеть так:

#!/usr/bin/env bash
ATT="/tmp/$(zenity ---entry --title='Enter file name' --text='Please name the attachment archive').zip"
zip -rj $ATT $@
thunderbird -compose "attachment='file://${ATT}'"
rm $ATT

Для Thunderbird в Ubuntu 16.10 для Nemo 3.20 я адаптировал это решение: http://www.badpenguin.org/nemo-action-send-to-email

  • идти к /usr/share/nemo/actions
  • открыть как корень (в Nemo)
  • скопировать пример скрипта
  • переименовать в: thunderbird.nemo_action
  • откройте его и вставьте следующий контент:

    [Nemo Action]
    Name=Attach to Email
    Comment=Attach to Email
    Exec=thunderbird -compose to=,"attachment='%U'"
    Icon-Name=thunderbird
    Selection=notnone
    Extensions=nodirs;
    Separator=,
    EscapeSpaces=false
    
  • закрыть немо: nemo -q

  • щелкнув правой кнопкой мыши файл в Nemo, вы теперь найдете "Attach to Email" в меню!
Другие вопросы по тегам