This page outlines a simple, distro agnostic proposal for dealing with the problem. It is modelled after OSX application bundles (which are really just directories with some metadata) and only requires changes to file managers. It is also a requirement that the applications must be installable and runnable without any priviledge escalation (i.e. does not require root).
The core concept is an application bundle. The definition of an app bundle named foobar is a subdirectory named foobar.app which contains a file called foobar.desktop. There are no other requirements for the bundle and it may contain arbitrary files and directories.
When a file manager notices a directory that matches the above two requirements, and thus is a bundle, it must treat it as an application. This means the following:
- it must display it as an application using the icon specified in the desktop file rather than as a subdirectory
- when double clicked, it must launch the app as specified by the desktop file rather than showing the contents of the subdir