Как программно добавить ярлык в лаунчер Unity? [дублировать]

Я разрабатываю программу в Qt, которая поможет пользователям управлять (создавать, редактировать и удалять) свои быстрые списки в Unity launcher.

Я дошел до того, что создал файл .desktop, и я не знаю, как программно разместить этот файл на лаунчере Unity.

Я нашел два (плохих) способа сделать это:

  1. Вручную перетащить созданное .файл рабочего стола в unity launcher
  2. Редактировать избранное с помощью "gsettings set com.canonical.Unity.Launcher favorites" и принудительно выполнить перезагрузку unity с помощью "unity --replace"

Итак, я ищу функцию или системную команду, которая вызывается при первом методе 'drag and drop', чтобы я мог сделать это в своей программе без необходимости для пользователя делать это вручную.

Я даже не знаю, где (и как) искать свое решение, поэтому любые предложения будут полезны.

8
задан 22 November 2012 в 02:14

2 ответа

Я бы сделал это следующим образом:

  1. Удалите файл .desktop в ~/.local/share/applications. Таким образом, он появится и в разделе приложений.
  2. Получить список избранного с помощью gsettings get ....
  3. Вставьте путь к файлу рабочего стола в массив, используя gsettings set.

Идея dbus от Jo кажется более приятной. :)

0
ответ дан 22 November 2012 в 02:14

Вы можете добавлять динамические быстрые списки во время выполнения, используя DbusMenu. Вы можете прочитать больше об этом здесь: https://wiki.ubuntu.com/Unity/LauncherAPI . На этой странице также описано добавление счетчиков, индикаторов выполнения и настройки срочности.

0
ответ дан 22 November 2012 в 02:14

Другие вопросы по тегам:

Похожие вопросы: