ユニティレンズを作成しようとしています。次のコードresults.append(url、icon、category、mime-type、text、comment、drag and drop url)でユニティレンズからエントリを選択したときにコマンドを実行する方法file://を設定しようとしましたが、テキストエディタでファイルが開きます(テキストエディタで読み取れない場合は何もしません)助けてください
ありがとうVishnuV
activate-uri信号に接続して、レンズに表示された結果に対してアクションを実行できます。
Pythonの使用
まず、デーモンのinitのactivate-uriシグナルを接続する必要があります)関数(search-changedとfilters-changedを接続します)
self.scope.connect ("activate-uri", self.activate_uri)
次に、デーモンにactivate_uri関数を作成します。
def activate_uri(self, scope, uri):
#Do stuff with uri here
return Unity.ActivationResponse (handled = Unity.HandledType.HIDE_DASH, goto_uri = '')
この関数は、スコープオブジェクトとurlパラメーターを結果から取得します。 urlは、必ずしもuriである必要はありませんが、テキストである必要があります。関数内のテキストを使用して、好きなことを行うことができます。関数の最後で、ダッシュを閉じるために、上記のようにUnity.ActivationResponseを返す必要があります。
http://Bazaar.launchpad.net/~markjtully/+junk/calendar-lens/view/30/calendar-lens-daemon.py 行101&274-296をご覧ください。この動作の例。
クイックまたはユニティシングレットの使用
すばやく、それはさらに簡単です:関数を追加します
def handle_uri(self, scope, uri):
# Do stuff with the uri here
レンズクラス(__init__。py内)に。それは自動的に信号に接続されます、あなたはこれの世話をする必要はありません。 gi.repository importUnityからインポートステートメントに追加することを忘れないでください。