Thursday, May 2, 2024
29
rated 0 times [  29] [ 0]  / answers: 1 / hits: 54125  / 1 Year ago, wed, january 4, 2023, 5:43:25

I am learning the Ubuntu SDK, and I have make an new HTML5 Touch UI project with Qt Creator.



The project folder has an .desktop file. I then added an launcher.png to my project's folder.



Here is my .desktop file:



[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


Now I press Ctrl+R to run the app with qmlscene. The app runs, but launcher.png is not displayed as the app's icon in the Unity Launcher.



Do I need to run an command to update the changes? Or do I need to move the launcher.png to /usr/share/myapp/launcher.png via in-app-code?


More From » application-development

 Answers
6

There are two things wrong with how you're doing things.



Fist of all, .desktop files are intended for installed apps, not for running via Ctrl+R. To install your app, you need to package it and install the package. You can find more details about packaging your app and publishing it in the Click App Store here.



Second of all, the paths you have in the .desktop should be local files, not absolute paths. Here is an example of a .desktop file:



[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


A couple of things to note:




  • The Exec line should be in the format of qmlscene $@ <file.qml>, with just the name of your main QML file, no directory information.


  • The Icon line should be in the form of Icon=<icon.png>, with just the file name (including the extension), no directory information.




Now the information I've provided above is for running your app on an Ubuntu Touch device by packaging it in a Click package. Click packages are intended for Ubuntu Touch and currently don't integrate with the Unity desktop. So, if you want to be able to run your app from the Dash/Launcher and also see its icon, you will need to do two things:




  1. Copy your .desktop file to ~/.local/share/applications and use an absolute path to your icon instead of just the file name, as you would when packaging the app.


  2. Copy your icon to ~/.icons



[#29927] Thursday, January 5, 2023, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
throecember

Total Points: 274
Total Questions: 118
Total Answers: 132

Location: India
Member since Thu, Jun 11, 2020
4 Years ago
;