.. _org.freedesktop.impl.portal.AppChooser:

======================================
 App Chooser
======================================

-----------
Description
-----------

.. _org.freedesktop.impl.portal.AppChooser Description:

Interface for choosing an application

This backend can be used by portal implementations that
need to choose an application from a list of applications.

This documentation describes version 2 of this interface.



.. _org.freedesktop.impl.portal.AppChooser Methods:

-------
Methods
-------

.. _org.freedesktop.impl.portal.AppChooser.ChooseApplication:

org.freedesktop.impl.portal.AppChooser.ChooseApplication
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

    ChooseApplication (
      IN handle o,
      IN app_id s,
      IN parent_window s,
      IN choices as,
      IN options a{sv},
      OUT response u,
      OUT results a{sv}
    )



Presents a list of applications to the user to choose one.

Supported keys in the ``options`` vardict include:

* ``last_choice`` (``s``)

  The app id that was selected the last time.

* ``modal`` (``b``)

  Whether to make the dialog modal. Defaults to yes.

* ``content_type`` (``s``)

  The content type to choose an application for.

* ``uri`` (``s``)

  The uri to choose an application for.

* ``filename`` (``s``)

  The filename to choose an application for. Note that this is just a
  basename, without a path.

* ``activation_token`` (``s``)

  A token that can be used to activate the application chooser.

  The activation_token option was introduced in version 2 of the interface.

The following results get returned via the ``results`` vardict:

* ``choice`` (``s``)

  The app id that was selected.

* ``activation_token`` (``s``)

  A token that can be used to activate the chosen application. If
  the application selection has involved user interaction, a new
  token should be generated by the portal implementation.
  Otherwise, this token may be the same as the one passed in
  ``options``.

  The activation_token option was introduced in version 2 of the interface.



handle
  Object path to export the Request object at

app_id
  App id of the application

parent_window
  Identifier for the application window, see :doc:`window-identifiers`

choices
  App ids of applications to let the user choose from

options
  Vardict with optional further information

response
  Numeric response

results
  Vardict with the results of the call



.. _org.freedesktop.impl.portal.AppChooser.UpdateChoices:

org.freedesktop.impl.portal.AppChooser.UpdateChoices
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

::

    UpdateChoices (
      IN handle o,
      IN choices as
    )



This method can be called between the time of a ChooseApplication call
and receiving the Response signal, to update the list of applications
that are offered by the backend.



handle
  the request handle

choices
  App ids of applications to let the user choose from


