AppImageUpdate icon indicating copy to clipboard operation
AppImageUpdate copied to clipboard

Move "run app" logic to shared module.

Open TheAssassin opened this issue 8 years ago • 4 comments

Currently, the "run" logic is available in the GUI application only, but it might be a good idea to move it out to a module shared between all applications. It might even make sense to move it to the Updater class, to allow other libraries to make use of its functionality.

Related to #31.

TheAssassin avatar Nov 15 '17 03:11 TheAssassin

Note that just executing a binary produces different results (at least in GNOME) compared to launching an application via its desktop file or via the menu:

  • For applications that ship an icon but do not actively set the icon on their main window, the application icon will only show up in the dock if the application was launched via its desktop file or via the menu
  • Also, the context menu items in the dock are only available if the application was launched via its desktop file or via the menu

I had written some code that emulates the "proper" way of launching something through its desktop file some time back, https://github.com/AppImage/AppImageKit/issues/174#issuecomment-252491277. This is overkill for appimageupdatetool but we may want to consider this for AppImageUpdate.

Low priority though.

probonopd avatar Nov 15 '17 07:11 probonopd

Hm, the problem is that code links to glib, which I could successfully avoid as a dependency so far. First of all, the "run app" code has to be refactored out, however. If we add this behavior, it should probably not be part of libappimageupdate but the standalone applications.

TheAssassin avatar Nov 15 '17 12:11 TheAssassin

That is true. Ideally this would be invoked by runtime when running an AppImage. And indeed one would need to look deeper than this to understand how to re-create this without additional dependencies such as glib. So indeed probably out of scope here.

probonopd avatar Nov 15 '17 18:11 probonopd

@probonopd well we could always make a separate executable with that code.

TheAssassin avatar Nov 15 '17 21:11 TheAssassin