J'apprends le SDK Ubuntu et j'ai créé un nouveau projet HTML5 Touch UI avec Qt Creator.
Le dossier de projet contient un fichier .desktop
. J'ai ensuite ajouté un launcher.png
au dossier de mon projet.
Voici mon fichier .desktop
:
[Desktop Entry]
Name=myapp
StartupNotify=true
Icon=/usr/share/myapp/launcher.png
MimeType=text/plain;
NoDisplay=true
Comment=something...
Exec=/usr/bin/qmlscene $@ /usr/share/myapp/diaspora-webclient.qml
Terminal=false
Type=Application
X-Ubuntu-Touch=true
Maintenant je presse Ctrl+R exécuter l'application avec qmlscene
. L'application s'exécute, mais launcher.png
ne s'affiche pas sous forme d'icône de l'application dans le lanceur Unity.
Dois-je exécuter une commande pour mettre à jour les modifications? Ou dois-je déplacer le launcher.png
vers /usr/share/myapp/launcher.png
via in-app-code?
Il y a deux problèmes avec la façon dont vous faites les choses.
Tout d'abord, les fichiers .desktop
sont destinés aux applications installées et non à l'exécution via Ctrl+R. Pour installer votre application, vous devez la conditionner et l'installer. Vous pouvez trouver plus de détails sur l'emballage de votre application et sa publication dans le Click App Store ici .
Deuxièmement, les chemins que vous avez dans le .desktop
devraient être des fichiers locaux, pas des chemins absolus. Voici un exemple de fichier .desktop
:
[Desktop Entry]
Name=Tasks
Comment=Your tasks, every device, everywhere.
Exec=qmlscene $@ ubuntu-tasks.qml
Icon=ubuntu-tasks.png
Terminal=false
Type=Application
X-Ubuntu-Touch=true
Quelques points à noter:
La ligne Exec
doit être au format qmlscene $@ <file.qml>
, avec juste le nom de votre fichier QML principal, sans information de répertoire.
La ligne Icon
doit être sous la forme Icon=<icon.png>
, avec uniquement le nom du fichier (y compris l’extension), sans information de répertoire.
Maintenant, les informations que j'ai fournies ci-dessus concernent l'exécution de votre application sur un appareil Ubuntu Touch en la conditionnant dans un package Click. Les packages de clics sont destinés à Ubuntu Touch et ne sont actuellement pas intégrés au bureau Unity. Donc, si vous voulez pouvoir exécuter votre application à partir de Dash/Launcher et voir son icône, vous devez faire deux choses:
Copiez votre fichier .desktop
dans ~/.local/share/applications
et utilisez un chemin absolu vers votre icône au lieu de simplement le nom du fichier, comme vous le feriez pour empaqueter l'application.
Copiez votre icône dans ~/.icons