KDE サービス メニューは、選択された順序で選択されたファイルのリストを取得します。

KDE サービス メニューは、選択された順序で選択されたファイルのリストを取得します。

選択した PDF ファイルを pdfunite と結合するために、Dolphin にサービス メニュー アクションを追加しようとしています。

これまでのところはうまくいっています。今、私は行き詰まっています。なぜなら、ファイルを連結する順序を選択したいからです。しかし、選択順序の代わりに、ドルフィンでの表示順序が使用されます。

この例では、次のようにファイルを結合します: test_firstpage.pdf、test_secondpage.pdf、test_lastpage.pdf ここに画像の説明を入力してください

しかし、スクリプトはドルフィンに表示される順序でファイルを取得します -手動で選択した順序ではないこの場合は、test_firstpage.pdf、test_lastpage.pdf、test_secondpage.pdf となります。

手動で選択した順序でファイルを取得するにはどうすればよいでしょうか?

メニュー構成を含むデスクトップ ファイル:

[Desktop Entry]
Icon=dialog-ok
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/pdf;
Actions=unitePDFFiles
X-KDE-Submenu=Unite PDF Files
   
[Desktop Action unitePDFFiles]
Name=PDF Unite
Name[de]=PDF zusammenführen
Icon=document-new
Exec=/bin/sh -c "<snip>/pdfunite_menu.sh %F"

スクリプト pdfunite_menu.sh:

#!/bin/sh
# Desktop-File with menu configuration:
# ~/.local/share/kservices5/ServiceMenus/unitePDF.desktop
# Documentation:
# https://develop.kde.org/docs/dolphin/service-menus/
    
path=
files=
for f in $*
do
        # print the order of the files in a log
        echo "Parameter:  $f " >> pdfunite_menu.log
        files="$files $f"
done
pdfunite $files pdfunite_`date +%Y-%m-%d-%H-%M-%S`.pdf

関連情報