appimaged icon indicating copy to clipboard operation
appimaged copied to clipboard

appimaged: Move in all desktop files at once

Open probonopd opened this issue 6 years ago • 9 comments

(from https://github.com/AppImage/AppImageKit/issues/577)

Currently we are writing desktop files as soon as we have extracted them to .local/share - this triggers some desktop managers to rebuild the menus after every desktop file, resulting in a major slowdown of the system. So instead, we should extract them to a temp location and only after we are "done" (as in: we did not process any new AppImages in the last second or so), move them in together at once.

probonopd avatar Jun 09 '18 21:06 probonopd

And then run

update-desktop-database ~/.local/share/applications
gtk-update-icon-cache-3.0  ~/.local/share/icons/hicolor/ -t
gtk-update-icon-cache  ~/.local/share/icons/hicolor/ -t

probonopd avatar Jul 21 '18 15:07 probonopd

I think that parts (or all?) of this logic ("scheduled... for integration") might be implemented in AppImageLauncher. Correct @TheAssassin? If so, could the logic be moved to libappimage so that all libappimage consumers would get to use it?

probonopd avatar Jun 03 '19 18:06 probonopd

@probonopd From my point of view libappimamge already have all the required parts. You can provide a custom $HOME path to deploy the files without editing the environment variable. This feature is used in the tests cases to avoid polluting the developer system.

The schedule feature implies threading which is a very error prone feature and every developer has a different favorite library to do it. My vote goes to keep such feature out of libappimage

azubieta avatar Jun 04 '19 15:06 azubieta

@azubieta can you make it work in appimaged then?

probonopd avatar Jun 04 '19 16:06 probonopd

Sure, but as you suggested it would be nice to have part of this feature on libappimage without the synchronization thing. So the client will be responsible for starting and committing transactions.

azubieta avatar Jun 04 '19 16:06 azubieta

Yes, I thought it would be good to abstract that away in libappimage so that the individual consumers of libappimage don't have to implement any of this. Actually I still think that would be great to have.

The schedule feature implies threading which is a very error prone feature and every developer has a different favorite library to do it.

Exactly because of this I would say let's do it once and in a correct way rather than have every developer fight with this on their own, leading to many (different) bugs.

probonopd avatar Jun 04 '19 17:06 probonopd

So @azubieta how can we get the situation improved?

probonopd avatar Jun 07 '19 05:06 probonopd

What can we do to get this done after all? Instead of duplicating (copying) code from AppImageLauncher, I still think it would be great if libappimage would provide this functionality, so that not each user of libappimage needs to do this on their own.

probonopd avatar Jun 09 '19 11:06 probonopd

libappiamge will receive this feature as part of the solution to this issue: https://github.com/AppImage/libappimage/issues/28

azubieta avatar Jun 10 '19 20:06 azubieta