Сервисное меню KDE Dolphin для печати PDF-файлов

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

Вот файл print-pdf.desktop:

[Desktop Action print-pdf]
Exec=/home/me/.kde/share/kde4/services/print-pdf.sh %D %U
Icon=stock_print
Name=Print PDF

[Desktop Entry]
Actions=print-pdf
Icon=print
MimeType=application/pdf
ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Priority=TopLevel

И вот сценарий, который он должен выполнить:

#! /bin/bash
for FILE in *.pdf;
do lp $FILE;
done

Однако, как и следовало ожидать, все файлы PDF печатаются сразу, а не только выбранные. Я также пытался использовать «$ 1», но это ничего не дало.

Есть ли способ заставить дельфин обрабатывать только выбранные файлы?


person AlanW    schedule 14.12.2017    source источник


Ответы (1)


Следуя .desktop спецификации, мы можем использовать %f для передачи в одном файле в качестве аргумента (%D устарел). Использование %f имеет дополнительное преимущество, заключающееся в том, что нам не нужно самостоятельно перебирать выбранные файлы.

Итак, чтобы ваше сервисное меню заработало, замените строку Exec=... на

Exec=lp %f

Кроме того, файл .desktop должен быть помещен в

~/.local/share/kservices5/ServiceMenus/

быть признанным Дельфином. Хотелось бы, чтобы это было где-то задокументировано.

person Long    schedule 23.01.2018