Hi, On Wed, Aug 20, 2014 at 8:46 AM, Ross Lagerwall <rosslagerw...@gmail.com> wrote: > On Wed, Aug 20, 2014 at 02:06:42AM +0200, Jehan Pagès wrote: >> Hello, >> >> I have been experimenting a little with gio/gvfs. I have an archive >> (tar, zip, whatever), and I mount it with >> g_file_mount_enclosing_volume(). Well this works well. But then it >> shows up in my file manager (Nemo in this case). >> How can I request that this virtual file system is not shown in such >> software? I could not find this in glib API. My use case would be some >> app which just wants to open various archives and interact with files >> in these transparently. If an app mounts an archive for its own usage, >> you don't want to clutter the user UI (file manager, open/save >> dialogs, etc.) with useless mount points, which are only for app >> usage, not useful at all for user consumption. >> How can I do this, is this possible? > > Not that I know of...
I see. >> Basically I just want to read files in archives. I could also >> uncompress them, that's another possibility, but I thought that >> reading files without unarchiving in some temporary directory was a >> nicer design. Is not gvfs at all good for such use case? Maybe I am on >> the wrong path? >> Thanks! >> > > gvfs is explicitly designed for handling users' data files; consequently > it is usually left to the user to handle mounting and unmounting of > volumes and these volumes are visible to the user. What happens if your Ok. Well this part of the gvfs wasn't that explicit to me. At least in-code doc or the website would not clearly say this, in my opinion. But maybe I did not read the right doc. > program dies unexpectedly while a whole bunch of volumes are mounted? > They would hang around since mounts are per-session. Well yes, but this is true for any data usage. What if instead, I just used a decompressor, and unarchive in a temporary dir? Well if I crash before deleting the dir, the data also hang around (even more annoying because the tmp dir is not emptied at each session; it usually is at each boot, but not necessarily). There is hardly a perfect solution on this matter. A program crashing has a lot of potential to leave things messy. That's why crashes are bugs. ;-) > Basically, although I like the fact that you're putting gvfs to some > interesting use case, I don't think it's the right approach. I see. Too bad, I hoped there would exist such an API in glib/gio already. I would personally appreciate if gvfs' design could be extended to be able to *also* handle non-user data. Without this, I think the gvfs integration in gio lose quite a bit of interest. I mean, it is still very awesome, but it leave this API limited to create explicit mounting applications (like gvfs-mount), i.e. file-oriented apps, not applications where browsing files is only a mean to an end, not a goal (which are quite most of them!). Do you think this could be done? If I were to report a feature request on bugzilla, would a mounting option for hidden mount point be considered, or it would be refused by design? > The following may point you in the right direction for reading archives: > http://www.hadess.net/2013/12/on-beauty-of-libarchive.html Thanks. I'll have a look, though a quick skimming of the API seems to tell me that's not what I wanted. This allows me to list and read data in an archive, but I actually really wanted to be able to do various things, like execute files in an archive and such (imagine for instance a plugin system, where plugins are composed of scripts and data packed in some archive. Running the script from inside the archive, and this script still being able to access the rest of its data in its own mount point — and communicating, through pipes or whatever, with the main program — would be quite convenient). I had not tested this part yet, but I imagine that since a mount point was created for the archive, it would have been possible to run a script this way through gio, without even getting it out of its archive. Now though, since I know that anyway any mount point would be cluttering user UI, I'll just explore other solutions. But if you tell me a mount option could be done for this in some future, I'll make a feature request on bugzilla, and maybe come back to this solution if it's implemented. Thanks anyway for the answer. Jehan > Regards > -- > Ross Lagerwall _______________________________________________ gvfs-list mailing list gvfs-list@gnome.org https://mail.gnome.org/mailman/listinfo/gvfs-list