-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On Wed, Dec 21, 2016 at 07:28:50PM -0500, Jean-Philippe Ouellet wrote:
> Hello,
> 
> On occasion I have wanted a single application installed in a normal
> (non-template non-standalone) AppVM, with a desktop file persisting in
> /usr/local/share/applications.
> 
> qvm-sync-appmenus on such a normal VM fails with:
>     ERROR: To sync appmenus for template based VM, do it on template instead
> 
> This makes sense for things in /usr/share/applications, as they will
> not persist across reboots and broken .desktop files in dom0 are not
> desired. However, it appears to me that persisting .desktop files in
> /usr/local in a normal template-based AppVM is a legitimate use case.
> 
> I propose syncing actually be allowed on such VMs, but only result in
> the union of its template's .desktop files and the .desktop files
> under /usr/local.

I was thinking about something exactly like this too. For example I have
spotify installed in /usr/local in one of my AppVMs and would really
like to have .desktop file for it created automatically (currently I use
qvm-run manually, even though I could create .desktop manually).

I think the way to go is:

1. Have apps.templates and apps.tempicons (icon templates) directories
in every VM (/var/lib/qubes/*/*), not only templates. For templates sync
them from /usr/share/applications, for non-templates sync them from
/usr/local/share/applications.

2. While creating (or listing for Qubes Manager) .desktop files, first
look into AppVMs own apps.templates, then fallback to the one from VM
template. Same for apps.tempicons.

3. In any case, create .desktop files in apps directory of the VM
itself.

Unanswered question: how to deal with /usr/local/share/applications in
the template itself? According to the above algorithm, it will be
ignored. I don't see any use case for template-only application
(installed into /usr/local there). But surely somebody will trip over it,
sooner or later.

Am I missing anything else?

BTW Here is the code for Qubes 4.0:
https://github.com/marmarek/qubes-core-admin-linux/blob/core3-devel/qubesappmenus/__init__.py
Especially interesting function: appmenus_create.

- -- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJYWyosAAoJENuP0xzK19csMJIH/jlKc6O7C2UvCaNyTF7abJRm
kTDLVj9bM5M7LisfblTt3fFUvem6nneOiHf6760coX1Mjet/5w7TlH8rAShUO6Dn
/D19P0mCu1N/kyZLqzNa65Wm1pAYxYC7NFxVt4pxYoOnImaFZJM8SU+Q6QburcJp
Sh0gC5aJdMfQNzViJja2z9NkR5fxBApk0QlyMaSbqBtlugp0oBAa1hu3waiixcDf
Flfi5cPLRKxVjrbU2nHE4tnuW4ZuXdPb77LGVtxmBdaf/Co7UV9OTj3S+joTIg6a
WqPCztX7cMwueNI3X0yolJeSSCI553iKdLlqWAAOjtYkSPB4fGb0jyAplObJG7Y=
=yZob
-----END PGP SIGNATURE-----

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-devel/20161222011939.GI1409%40mail-itl.
For more options, visit https://groups.google.com/d/optout.

Reply via email to