web-dev-qa-db-ja.com

KDE 5のDolphinのコンテキストメニューにカスタムアイテムを追加するにはどうすればよいですか?

私はあちこち探しましたが、これを行う方法を説明する一貫したチュートリアルやドキュメントを見つけることができないようです(私の場合、Kubuntu 15.10)。 Dolphinのコンテキストメニューにカスタムスクリプトを追加したい(Nautilusの場合はnautilus-scripts)。何らかの理由で、見つけた指示に従うと、関連する.desktopファイルを右クリックしたときにのみコンテキストメニューを表示できます。 どうすればこれを解決できますか?

9
JesseTG

KDEサービスメニュー

KDEスピークでは、「servicemenu」は、選択されたファイルの種類に応じて、ファイル(またはディレクトリ)のコンテキストメニュー(または他のコンテキストベースのインターフェイス)に表示される特別なエントリです。

(Konqueror)KDEサービスメニューの作成: https://techbase.kde.org/Development/Tutorials/Creating_Konqueror_Service_Menus

Dolphinのサービスメニュー: https://www.kubuntuforums.net/showthread.php?25740-Service-Menus-with-Dolphin -> KF5サービスメニュー: https:// www.kubuntuforums.net/showthread.php?25740-Service-Menus-with-Dolphin&p=367207&viewfull=1#post367207

不足しているサービスメニュー: https://forum.kde.org/viewtopic.php?f=223&t=128621

パス

KDE Frameworks 5は、次のサービスを探しています。

kf5-config --path services

実行中:

$ kf5-config --path services
/home/user26687/.local/share/kservices5/:/usr/share/kservices5/

あれは:

ユーザーサービスメニューは次のとおりです。

$HOME/.local/share/kservices5/ServiceMenus/

システムサービスメニューは

/usr/share/kservices5/ServiceMenus/

デスクトップファイル

サービスメニューは、.desktopファイルを使用して定義されます。デスクトップエントリ仕様: https://standards.freedesktop.org/desktop-entry-spec/latest/

Image: Desktop Entry Specification has the meaning of the keys/codes 画像:Desktop Entry Specificationキー/コードのサンプル

例-ファイルパスを使用したシンプルなサービスメニュー:

作成:$ HOME/.local/share/kservices5/ServiceMenus/myFirstServiceMenu.desktop

ディレクトリが存在しない場合、ユーザーは作成できます!

[Desktop Entry]
Type=Service
Icon=smiley-shape
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/allfiles;
Actions=helloWorld;
Encoding=UTF-8

[Desktop Action helloWorld]
Name=Hello with path information
Icon=smiley-shape
Exec=kdialog --msgbox "Path is %f"

Image: a servicemenu at the right place. 画像:適切な場所にあるサービスメニュー。

すべてのDolphinウィンドウを閉じて、新しいウィンドウを開始します。ファイルを右クリックすると:

Image: sample of the servicemenu action

9
user26687

以下はUbuntu 16.04で私のために働いた

スクリプトをディレクトリ~/.local/share/kservices5/ServiceMenus/に配置します

kbuildsycoca5を実行します

スクリプトは、新しいイルカインスタンスで表示されます。

2
bbbb

KDEを使用するUbuntu 16.04(Kubuntu)では、*。desktopファイルの適切なディレクトリは/usr/share/kservices5/ServiceMenus/です

dpkg -L arkの出力を比較して、arkサブメニューに関する同様のファイルの場所を見つけます)

1
cucujoidea