PCManFM-Qt のコンテキストメニューにカスタム項目を追加

最近ファイルマネージャーにPCManFM-Qt を利用しています．

lxqt/pcmanfm-qt: File manager and desktop icon manager (Qt port of PCManFM and libfm)

naitilus だとコンテキストメニューにカスタムスクリプトを設定できて便利だったのでPCManFM-Qt でも出来ないかなと調べてみました．

公式ドキュメントが見えたら無かったので以下のあたりを参考にしました．

コンテキストメニューへのカスタム項目の追加

scripting_pcmanfm [Batocera.linux – Wiki]

paius1/pcmanfm-actions: Collection of Custom Action Scripts for PcManFM

~/.local/share/file-manager/actions/ 以下に .desktop ファイルを作成して実現できるようです．

ディレクトリの作成

$ mkdir -p ~/.local/share/file-manager/actions/

次にやりたいことを.decktop ファイルに書きます．

~/.local/share/file-manager/actions/fuse-archive.desktop

[Desktop Entry]
Type=Action
Profiles=profile_id
Name=archive file mount
Icon=application-default-icon

[X-Action-Profile profile_id]
MimeTypes=application/*;
Exec=fuse-archive %f

MimeTypes に書いたtype に一致するときに表示されるようなのでちゃんと書いたほうがいいのですが，今回は対象がアーカイブファイルで対象ファイルが大量ですとりあえず MimeTypes=application/*; にしておきました．

https://www.iana.org/assignments/media-types/media-types.xhtml#application

この後PCManFM-Qt を起動し直すと該当の .desktop が認識され，利用できるようになります．
nautilug は即反映されていたので少し面倒ですね．

環境

$ dpkg-query -W pcmanfm-qt
pcmanfm-qt 2.2.0-1
$ fuse-archive --version
fuse-archive version: 1.7
libarchive version: libarchive 3.7.4
bzlib version: 1.0.8, 13-Jul-2019
liblz4 version: 1.10.0
liblzma version: 5.8.1
libzstd version: 1.5.7
zlib version: 1.3.1
FUSE library version: 2.9.9
fusermount3 version: 3.17.4
using FUSE kernel interface version 7.19