web-dev-qa-db-ja.com

アソシエーションウィンドウ<->。desktopファイル<->ランチャーエントリ

低レベルのdbusメッセージングを使用して、JSコードをUnityと統合しようとしています。既知の.desktopファイル(「gnome-terminal.desktop」など)のランチャーアイコンプロパティ(進行状況、カウント、メニューなど)を設定できます。また、独自の.desktopファイルを作成できますが、表示されるのは/ usr/share/applicationsからランチャーにドラッグアンドドロップするとランチャー。 .desktopファイルをクリックするだけで、新しいウィンドウが表示され、その.desktopファイルに関連付けられていないランチャーで新しいエントリが開きます。作成したウィンドウが私の.desktopの一部であることをサービス(レジストラ?)に伝えるステップが欠けていると思います

スクリプトは、デスクトップアイコン(ランチャーメニューに.desktopアイコンがない、新しいウィンドウの「不明なアイコン」ウィンドウアイコン)をクリックして開始しました。 screen shot 2014-09-30 at 12 36 50 pm

.desktopファイルをランチャーにドラッグアンドドロップします。これで2つのアイコンが表示され、LauncherEntryの進行状況の更新の結果が最初のアイコンに表示されます。 screen shot 2014-09-30 at 12 37 51 pm

したがって、問題は「ウィンドウがその.desktopファイルに属していることをUnityに伝えるにはどうすればよいか」です。

私のスクリプトと.desktopファイル: https://Gist.github.com/sidorares/8d0587e384176f1be83d (私は node-x11node-dbusを使用しています および node-dbusmen

1
Andrey Sidorov

bamf source -を見て答えが見つかりました-_NET_WM_DESKTOP_FILEプロパティをデスクトップファイルへのフルパスに設定する必要があります。

1
Andrey Sidorov