On Friday, November 07, 2014 03:50:32 PM Eric Wing wrote:
> I have a build and packaging system where I can distribute (mostly)
> standalone apps for Linux desktop. I am using the default CPack
> installer which creates .tar.gz, .Z, and .sh files.
> 
> I like this opposed to the .deb/.rpm package systems because users
> don't need root access to install/use my stuff (and can place
> anywhere), and I only need a single package for all Linux desktops.
> 
> But it's pretty plain-Jane and it would be nice to provide an icon or
> something. So I was wondering if anybody had
> suggestions/advice/strategies on supporting .desktop files. As far as
> I can tell, I need paths to the icon and the executable, which is
> completely variable based on where the user puts it. And I'm not sure
> where this file is supposed to be written to. (Remember that I don't
> use root access.)
> 
> Thanks,
> Eric

Perhaps you can do this:

Include the .desktop file in your installation.

To add, your installer can call
xdg-desktop-menu install <install>/share/applications/MyApp.desktop

To remove, your installer can call
xdg-desktop-menu uninstall <install>/share/applications/MyApp.desktop

If xdg-desktop-menu is called as root, it'll copy the .desktop file to the 
system location.  If it is called as a non-root user, it'll copy the file to 
the user specific desktop area.  xdg-desktop-menu also takes care of refreshing 
the icons in the launcher.

During uninstall, it'll remove the copy.

By the way, we do .rpm and .deb, but also give instructions for users to 
extract the files if they want their own installation directory.

The above .desktop support can be put in a script and added to the postinst 
and prerm scripts for rpm and deb.

This makes things more automatic for the majority of our users (basically 
download-click-and-run).

Clint

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to