web-dev-qa-db-fra.com

Comment ajouter un raccourci au lanceur de l'unité par programmation?

Je développe un programme dans Qt qui aidera les utilisateurs à gérer (créer, éditer et supprimer) leurs listes rapides dans Unity Launcher.

Je suis arrivé à un point où j'ai créé un fichier .desktop et je ne sais pas comment le placer par programme sur Unity Launcher.

J'ai trouvé deux (mauvaises) façons de faire ceci:

  1. Glissez et déposez manuellement le fichier .desktop créé dans l'unité de lancement
  2. Modifiez la clé de favoris avec "gsettings set com.canonical.Unity.Launcher favorites" et forcez l'unité à recharger avec "unit --replace"

Donc, je cherche une fonction ou une commande système qui est appelée en premier par la méthode 'glisser-déposer' afin que je puisse le faire dans mon programme sans que l'utilisateur ait à le faire manuellement.

Je ne sais même pas où (ni comment) chercher ma solution, toutes les suggestions vous seront utiles.

8
Ivan Lučin

Vous pouvez ajouter des listes rapides dynamiques à l'exécution à l'aide de DbusMenu. Vous pouvez en savoir plus à ce sujet ici: https://wiki.ubuntu.com/Unity/LauncherAPI . Cette page décrit également l’ajout de compteurs, de barres de progression et la définition de l’urgence.

2
Jo-Erlend Schinstad

Je le ferais de cette façon:

  1. Déposez le fichier .desktop dans ~/.local/share/applications. De cette façon, il apparaîtra également dans la section applications.
  2. Récupérez la liste des favoris avec gsettings get ....
  3. Insérez le chemin d'accès au fichier de bureau dans le tableau à l'aide de gsettings set.

L'idée de Dbus par Jo semble cependant plus intéressante. :)

2
Sandip Bhattacharya