Skip to content
  • Felipe Borges's avatar
    desktop: Include "evince" in .desktop keywords · 61a793ba
    Felipe Borges authored
    The GNOME Shell search results are forwarded from the results of
    GLib's g_desktop_app_info_search() function, which matches the
    Name, Exec, Keywords, GenericName, X_GNOME_FullName, and Comment
    keys from desktop files[0].
    
    Since Evince is now named "Document Viewer", a query for "evince"
    would match the "Exec" key and present the application in the search
    results as expected. Unfortunately that doesn't happen for Flaptaked
    Evince, which would get its desktop file "Exec" key overwritten to
    something such as Exec=/usr/bin/flatpak run --branch=stable
    --arch=x86_64 --command=evince org.gnome.Evince --new-document
    
    This way, searching for "evince" when only the Flatpaked version
    of it is installed returns no results. Searching for "Document
    Viewer" presents the application as expected.
    
    Its been proposed in GLib to parse the "Exec" key for searches
    but that was rejected[1] because it would imply establishing an
    API which assumes that the command line behavior of Flatpak would
    be stable/never-change.
    
    A fix was proposed in Flatpak directly[2] but it was rejected,
    leaving us with the only option of adding the historical/legacy
    application names to the "Keywords" key in their desktop files.
    
    Many users, such as myself, have the "muscle memory" of search
    for the old application's name, such as "evince", "totem", "gedit".
    Although I agree that the new names should be presented to new
    users and that the old ones shouldn't be visible in UI, it makes
    sense and little effort to support the search for the old names IMO.
    
    I proposed the same changes in "gedit"[3].
    
    [0] https://gitlab.gnome.org/GNOME/glib/blob/master/gio/gdesktopappinfo.c#L378
    [1] glib#1706
    [2] https://github.com/flatpak/flatpak/issues/2749
    [3] gedit!44
    61a793ba