web-dev-qa-db-ja.com

ユニティランチャーへのショートカットをプログラムで追加する方法は?

ユーザーがUnityランチャーでクイックリストを管理(作成、編集、削除)できるようにするプログラムをQtで開発しています。

.desktopファイルを作成するところまで来ましたが、Unityランチャーにそのファイルをプログラムで配置する方法がわかりません。

私はこれを行うための2つの(悪い)方法を見つけました:

  1. 作成した.desktopファイルをUnityランチャーに手動でドラッグアンドドロップします
  2. 「gsettings set com.canonical.Unity.Launcherお気に入り」でお気に入りキーを編集し、「unity --replace」で結束を強制的に再読み込みします

したがって、最初の「ドラッグアンドドロップ」メソッドで呼び出される関数またはシステムコマンドを検索しているので、ユーザーが手動で行う必要なく、プログラムで実行できます。

ソリューションを検索する場所(または方法)もわからないので、提案があれば参考になります。

8
Ivan Lučin

DbusMenuを使用して、実行時に動的クイックリストを追加できます。詳細についてはこちらをご覧ください: https://wiki.ubuntu.com/Unity/LauncherAPI 。このページでは、カウンター、プログレスバーの追加、緊急度の設定についても説明しています。

2

私はこのようにします:

  1. .desktopファイルを~/.local/share/applicationsにドロップします。これにより、アプリケーションセクションにも表示されます。
  2. gsettings get ...でお気に入りのリストを取得します。
  3. gsettings setを使用して、配列にデスクトップファイルへのパスを挿入します。

しかし、Joのdbusのアイデアはもっと良いようです。 :)

2