1. 01 Oct, 2018 1 commit
    • Will Thompson's avatar
      gdesktopappinfo: add get_string_list() function · 5ca9eca6
      Will Thompson authored
      The X-Flatpak-RenamedFrom key is used in .desktop files to identify past
      names for the desktop file. It is defined to be a list of strings.
      However, there was previously no correct way to retrieve a list of
      strings from the GKeyFile wrapped by GDesktopAppInfo, short of
      re-parsing the file with GKeyFile.
      
      Note that doing something like:
      
          g_strsplit (g_desktop_app_info_get_string (...), ";", -1)
      
      is not correct: the raw value "a\;b;" represents the one-element list
      ["a;b"], but g_key_file_get_string() rejects the sequence "\;", and so
      g_desktop_app_info_get_string() returns NULL in this case. (Of course, a
      .desktop file with a semicolon in its name is a pathological case.)
      
      Add g_desktop_app_info_get_string_list(), a trivial wrapper around
      g_key_file_get_string_list(), similar to g_desktop_app_info_get_string()
      and co.
      
      The change from g_key_file_free() to g_key_file_unref() in the test is
      needed because g_key_file_free() clears the contents of the keyfile.
      This is fine for all the fields which are eagerly loaded and copied into
      GDesktopAppInfo, but not when we want to access arbitrary stuff from the
      keyfile.
      5ca9eca6
  2. 21 Jun, 2018 1 commit
    • Daniel Drake's avatar
      gdesktopappinfo: add g_desktop_app_info_launch_uris_as_manager_with_fds variant · 156d0096
      Daniel Drake authored
      Add an app-launching function which allows standard file descriptors
      to be passed to the child process.
      
      This will be used by gnome-shell to pass systemd journal descriptors
      as stdout/stderr. gnome-shell's child_setup function can then be
      eliminated, which will enable use of the posix_spawn optimized
      gspawn codepath for desktop app launching.
      156d0096
  3. 08 Jan, 2018 1 commit
  4. 29 May, 2017 1 commit
  5. 05 Feb, 2015 1 commit
  6. 30 Jan, 2015 1 commit
  7. 08 May, 2014 2 commits
    • Allison Karlitskaya's avatar
      AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn · 5a5e16e9
      Allison Karlitskaya authored
      Expand the functionality of g_desktop_app_info_set_desktop_env() to
      include the possibility of passing strings containing ':' characters (as
      some apps, such as gnome-session, are directly passing the value of
      XDG_CURRENT_DESKTOP).  At the same time, deprecate it, since now we get
      the list from the environment variable for ourselves.
      
      Modify the checks in g_desktop_app_info_get_show_in() to deal with
      multiple items listed in XDG_CURRENT_DESKTOP.  For example, if we find
      that we have
      
        XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
      
      and a desktop file contains:
      
        OnlyShowIn=GNOME
      
      then we will show this file because of the fallback to GNOME.  If the
      file _also_ contains the line:
      
        NotShowIn=GNOME-Classic
      
      Then we will not show it, because GNOME-Classic comes before GNOME in
      XDG_CURRENT_DESKTOP.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=729813
      5a5e16e9
    • Allison Karlitskaya's avatar
      Add g_desktop_app_info_get_implementations() · 9aaf9909
      Allison Karlitskaya authored
      This provides support for the draft addition of 'Implements=' to the Desktop
      Entry specification.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=712391
      9aaf9909
  8. 15 Apr, 2014 1 commit
  9. 31 Jan, 2014 1 commit
  10. 07 Nov, 2013 1 commit
    • Allison Karlitskaya's avatar
      Add g_desktop_app_info_search() · 3d32d535
      Allison Karlitskaya authored
      The first time this function is called we load all of the keyfiles in
      the directory, ignoring the 'Hidden' ones and build an index out of the
      interesting fields using g_str_tokenize_and_fold().
      
      We do prefix matching on the tokens to find relevent desktop files.
      
      Right now this is implemented as a hashtable that we iterate over,
      checking prefixes on each token.  This could possibly be sped up by
      creating an array, but it's already pretty fast...
      
      https://bugzilla.gnome.org/show_bug.cgi?id=711557
      3d32d535
  11. 11 Jul, 2013 1 commit
    • Allison Karlitskaya's avatar
      Implement the Desktop Action specification · 6dc5c118
      Allison Karlitskaya authored
      For some time, the desktop file specification has supported "additional
      application actions".  This is intended to allow for additional methods
      of starting an app, such as a mail client having a "Compose New Message"
      action that brings up the compose window instead of the folder list.
      
      This patch adds support for this with a relatively minimal API.
      
      In the case that the application is a GApplication and DBusActivatable,
      desktop actions are translated into GActions that have been added to the
      application with g_action_map_add_action().  This more or less closes
      the loop on being able to activate an application with an action
      invocation (instead of 'activate').
      
      https://bugzilla.gnome.org/show_bug.cgi?id=664444
      6dc5c118
  12. 13 Jan, 2013 1 commit
  13. 29 Nov, 2012 1 commit
  14. 22 Nov, 2012 1 commit
  15. 14 Apr, 2012 1 commit
  16. 06 Apr, 2012 2 commits
  17. 03 Nov, 2011 1 commit
  18. 14 Oct, 2011 1 commit
  19. 09 Oct, 2011 1 commit
  20. 23 Jul, 2011 1 commit
  21. 14 Jun, 2011 2 commits
  22. 27 Apr, 2011 2 commits
  23. 05 Jan, 2011 3 commits
  24. 10 Nov, 2010 1 commit
    • Benjamin Otte's avatar
      API: Reinstate "gio-desktop-app-info-lookup" extension point · fb94859e
      Benjamin Otte authored
      Removing an extension point is an API and ABI break. In particular, it
      causes (older) gvfs versions to fail loading with a linkage error from
      ld which in turn makes the desktop unusable.
      So this reinstate the extension point and API provided by it, but
      deprecates and does not use it. So no functionality is changed.
      
      This reverts parts of commit 9b262f1c.
      
      Complaints-Also-To: Ryan Lortie <desrt@desrt.ca>
      fb94859e
  25. 05 Oct, 2010 1 commit
  26. 14 Mar, 2010 1 commit
  27. 02 Sep, 2008 1 commit
  28. 16 Jul, 2008 1 commit
  29. 02 Jul, 2008 1 commit
  30. 11 Feb, 2008 2 commits
  31. 29 Jan, 2008 2 commits
  32. 04 Jan, 2008 1 commit
    • Alexander Larsson's avatar
      Add g_app_info_supports_files() Remove desktop arg from · 8af463f9
      Alexander Larsson authored
      2008-01-04  Alexander Larsson  <alexl@redhat.com>
      
              * gappinfo.[ch]:
              * gwin32appinfo.c:
              * gio.symbols:
      	Add g_app_info_supports_files() 
              Remove desktop arg from g_app_info_should_show().
      	
              * gdesktopappinfo.[ch]:
      	Implement g_app_info_supports_files() and new should_show()
      	Add g_desktop_app_info_set_desktop_env() to set the desktop
      	for should_show(). (This will be set by gtk+ later)
      
      
      svn path=/trunk/; revision=6242
      8af463f9