-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move to/delete from $HOME/.local/share transactionally (all at once) #28
Comments
Please don't use the term "atomic", it doesn't quite fit here. What you want to do is to move the files "transactionally", i.e., prepare all the move commands and then execute them at once (possibly aborting/reverting if one operation fails). |
"All at once" is what I mean, yes. |
I guess the new libappimage C++ interface could receive a "BatchDesktopIntegrator" which allows for registering AppImages for integration, and a |
The library should have a timer. Calling things like Makes sense? |
No, all these implicitnesses are actually really bad design. These kinds of usages are something to be handled on a higher level, as they don't fit every use case (only appimaged could make use of this, but for e.g., AppImageLauncher, we want a prompt result, and the application might even exit before that timer expires...). appimagelauncherd for instance handles this just fine on such a higher level, but could definitely benefit from a batch integrator. |
I was thinking about adding this in libappimage as I implemented that functionality in appimaged, but I came to the same conclusion that @TheAssassin mentioned, that having that functionality in Calling My additions to appimaged could then be re-purposed to use the batching mechanism instead of calling |
How can appimaged handle these things when actually all the work happens in Wouldn't that mean that |
@rszibele @probonopd this could be done by setting a temporary HOME while calling |
Yes, in |
Currently libappimage directly extracts e.g., desktop files directly to
$HOME/.local/share
(or deletes them from) on each invocation ofEach change in
/.local/share
can trigger local caches such as Sycoca to be re-generated, which results in a lot of CPU activity.So we should also apply the same logic that @rszibele used in AppImageCommunity/appimaged#50 to all files (desktop files, icon files, mime type files and such) that get copied to
HOME/.local/share
for system integration.We should only atomically (=everything in one go) move files to (from a temporary location to which they get extracted and modified in) or delete files from
$HOME/.local/share
after a certain timer of inactivity has passed.We should do all editing/rewriting of desktop files outside of
HOME/.local/share
in a separate directory.This will solve:
The text was updated successfully, but these errors were encountered: