Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upqvm-sync-appmenus doesn't respect OnlyShowIn and NotShowIn resulting in duplicate entries on Ubuntu #3246
Comments
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Oct 28, 2017
Member
This is semi-intentional - to allow using any application, regardless of its native desktop environment. While this particular application provide both desktop files, there are a lot of them that provide only one (for example with OnlyShowIn=KDE;, or OnlyShowIn=GNOME;). For example nautilus, or gnome contacts, or baobab in Fedora are such cases.
We may add a tooltip in that window to help distinguishing such corner cases - for example desktop file name.
|
This is semi-intentional - to allow using any application, regardless of its native desktop environment. While this particular application provide both desktop files, there are a lot of them that provide only one (for example with |
marmarek
added
C: Arch Linux
C: qubes-manager
UX
and removed
C: Arch Linux
labels
Oct 28, 2017
marmarek
assigned
marmarta
Oct 28, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesuser
Oct 28, 2017
I see.
I guess the solution could then be to deduplicate desktop entries that have the same Name= and same Exec= line (after removing %f, %F, %u, %U from the exec line and canonicalizing whitespace).
It's not really a big deal though.
qubesuser
commented
Oct 28, 2017
•
|
I see. I guess the solution could then be to deduplicate desktop entries that have the same Name= and same Exec= line (after removing %f, %F, %u, %U from the exec line and canonicalizing whitespace). It's not really a big deal though. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
marmarek
Oct 28, 2017
Member
I guess those do have different Exec= lines... Or at least one have DBusActivable=true (which also result in something different being executed in practice)
|
I guess those do have different Exec= lines... Or at least one have |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
qubesuser
Oct 28, 2017
Yes, one has %U at the end, but the spec says it should be removed when not opening any files, and thus the Exec= lines are logically equivalent for the purpose of application menus.
If there is already logic to avoid duplicate exec lines, then it looks like it only needs to be updated to do s/%[fFuU]//g; s/\s+/ /g; s/^\s+//; s/\s+$//; before comparing.
qubesuser
commented
Oct 28, 2017
•
|
Yes, one has %U at the end, but the spec says it should be removed when not opening any files, and thus the Exec= lines are logically equivalent for the purpose of application menus. If there is already logic to avoid duplicate exec lines, then it looks like it only needs to be updated to do s/%[fFuU]//g; s/\s+/ /g; s/^\s+//; s/\s+$//; before comparing. |
qubesuser commentedOct 28, 2017
Qubes OS version:
R4.0-rc2
Affected TemplateVMs:
ubuntu 17.10
Steps to reproduce the behavior:
Expected behavior:
There is only one "Files" appmenu.
Actual behavior:
There are two "Files" appmenus.
General notes:
Ubuntu has org.gnome.Nautilus.desktop with "OnlyShowIn=Unity;GNOME;" and nautilus.desktop with "NotShowIn=Unity;GNOME;"
Thus, with a proper implementation only one can be shown regardless of what "desktop name" the implementation considers itself to be, while Qubes seems to just ignore those directives resulting in duplication.
I think Qubes might also want to pretend to be "GNOME", although this is not totally clear.