web-dev-qa-db-ja.com

Unityランチャーとのアプリケーション統合

アプリケーション(デジタルシュレッダー、シュレッドコマンドのインターフェイス)を統合して、Nautilusからランチャーアイコンにファイルをドラッグアンドドロップし、プログラムを開いてファイルパスフィールドに入力できるようにするのが好きです。これは可能ですか?コードが必要だと思います。プログラムはPythonで書かれています。

3
user222057

Unityにはいくつかの簡単なドラッグアンドドロップサポートが組み込まれています。アプリケーションがコマンドライン引数としてファイル名を使用できる場合は、デスクトップファイルのExecフィールドで変数を使用するだけです。

Geditのデスクトップファイルを例にとってみましょう(読みやすくするために一部のコンテンツが削除されています)。

[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;

UnityのGeditランチャーにファイルをドロップすると、%Uはファイルのuriに置き換えられます。

変数は デスクトップエントリ仕様 の一部です:

  • %u-単一のURL。ローカルファイルは、file:URLまたはファイルパスとして渡すことができます。

  • %U- URLのリスト。各URLは、実行可能プログラムに個別の引数として渡されます。ローカルファイルは、file:URLまたはファイルパスとして渡すことができます。

1
andrewsomething