LINUX.ORG.RU

Как достать объект (файл) из openbox?

 , ,


0

1

Хочу выделить в openbox несколько объектов и передать для дальнейшей обработки bash скрипту. Говорят реализуется только на GTK+ через gtkdialog.

Не хотелось бы усложнять.

Может в Xоrg существует утилитка, где можно штатными средствами такое?

Просьба поделиться кодом, если у кого есть готовые наработки.

Пишу скрипт на bash для передачи выделенного файла(группы файлов) в аттачмент нового письма thunderbird по правому клику из контекстного меню Lubuntu.

Собственно письмо делается так: thunderbird -compose «attachment='путь'»

С начальной частью скрипта не имею представления как реализовать.



Последнее исправление: neirolog2014 (всего исправлений: 3)

Как связаны оконный менеджер и тулкит? Никак.

Говори конкректную задачу и тебе подскажут.

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

Ищу пути написания скрипта на bash для передачи выделенного файла(группы файлов) в аттачмент thunderbird по правому клику из контекстного меню Lubuntu.

neirolog2014
() автор топика
Ответ на: комментарий от neirolog2014

Как таковой баш тут и не нужен. Необходимо лишь в файловом менеджере добавить кастомную команду для всех файлов, что-то вроде thunderbird -compose "attachment=%f". Нечто схожее сделал себе в double commander через кастомную кнопку на панели.

Bfgeshka ★★★★★
()
Последнее исправление: Bfgeshka (всего исправлений: 1)
Ответ на: комментарий от Bfgeshka

В итоге работает вот что:

[Desktop Entry] Type=Action ToolbarLabel[en_US]=Attach file in mail ToolbarLabel[en]=Attach file in mail ToolbarLabel[C]=Attach file in mail Name[en_EN]=Attach file in mail Name[en]=Attach file in mail Name[C]=Attach file in mail Profiles=profile-zero;

Icon[ru_RU]=Attach file in mail Icon[en]=Attach file in mail Icon[C]=Attach file in mail

[X-Action-Profile profile-zero] Exec=/usr/bin/thunderbird thunderbird -compose «attachment=%F» Name[en_US]=Default profile Name[en]=Default profile Name[C]=Default profile

Только с единичным файлом. Как думаете какая маска подходит для множества?

neirolog2014
() автор топика
Ответ на: комментарий от neirolog2014

Только с единичным файлом. Как думаете какая маска подходит для множества?

Сделать можно, но как именно несколько файлов буревестник принимает в аргументы - не знаю, а проверить нет возможности.

Bfgeshka ★★★★★
()

Несколько файлов можно отправить так:

thunderbird -compose "attachment='path-to-file-1,path-to-file-2'"

Попробуйте преобразовать к такому виду список выделенных файлов с помощью xclip.

carabo
()
Ответ на: комментарий от neirolog2014

Непонятно, что же все-таки нужно: скрипт, файл *.desktop или команда для файлового менеджера.

То, что я вам привел, работает так: из ФМ в буфер обмена копируются нужные файлы, далее запускается скрипт:

#!/bin/bash
icedove -compose "attachment='$(echo "$(xclip -selection clipboard -o)" | while read line; do echo -n "$line"","; done | rev | cut -c 2- | rev)'"

Как вы будете запускать этот скрипт, хоткеем, четез dmenu?

Если нужен файл *.desktop:

[Desktop Entry]
Exec=path-to-script
Type=Application

Или можно так (работает в Thunar, как это сделать в PCManFM я не знаю, не пользуюсь): Меню «Правка» -> «Особые действия», добавить:

path-to-script %F
где
cat script

#!/bin/bash
icedove -compose "attachment='$(for line in "$@"; do echo -n "$line"","; done | rev | cut -c 2- | rev)'"
Выделяем файлы в Thunar, правой кнопкой мыши выбираем нашу команду.

thunderbird по идее должно работать вместо icedove.

carabo
()
Ответ на: комментарий от carabo

далее запускается скрипт

Изменил, чтобы правильно обрабатывались файлы с пробелами в имени.

carabo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.