<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<refentry id="xdg-app-override">

    <refentryinfo>
        <title>xdg-app override</title>
        <productname>xdg-app</productname>

        <authorgroup>
            <author>
                <contrib>Developer</contrib>
                <firstname>Alexander</firstname>
                <surname>Larsson</surname>
                <email>alexl@redhat.com</email>
            </author>
        </authorgroup>
    </refentryinfo>

    <refmeta>
        <refentrytitle>xdg-app override</refentrytitle>
        <manvolnum>1</manvolnum>
    </refmeta>

    <refnamediv>
        <refname>xdg-app-override</refname>
        <refpurpose>Override application requirements</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
            <cmdsynopsis>
                <command>xdg-app override</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
                <arg choice="plain">APP</arg>
            </cmdsynopsis>
    </refsynopsisdiv>

    <refsect1>
        <title>Description</title>

        <para>
            Overrides the application specified runtime requirements. This can be used
            to grant a sandboxed application more or less resources than it requested.
        </para>
        <para>
          By default the application gets access to the resources it
          requested when it is started. But the user can override it
          on a particular instance by specifying extra arguments to
          xdg-app run, or every time by using xdg-app override.
        </para>

    </refsect1>

    <refsect1>
        <title>Options</title>

        <para>The following options are understood:</para>

        <variablelist>
            <varlistentry>
                <term><option>-h</option></term>
                <term><option>--help</option></term>

                <listitem><para>
                    Show help options and exit.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--share=SUBSYSTEM</option></term>

                <listitem><para>
                    Share a subsystem with the host session. This overrides
                    the Context section from the application metadata.
                    SUBSYSTEM must be one of: network, ipc.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--unshare=SUBSYSTEM</option></term>

                <listitem><para>
                    Don't share a subsystem with the host session. This overrides
                    the Context section from the application metadata.
                    SUBSYSTEM must be one of: network, ipc.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--socket=SOCKET</option></term>

                <listitem><para>
                    Expose a well known socket to the application. This overrides to
                    the Context section from the application metadata.
                    SOCKET must be one of: x11, wayland, pulseaudio, system-bus, session-bus.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--nosocket=SOCKET</option></term>

                <listitem><para>
                    Don't expose a well known socket to the application. This overrides to
                    the Context section from the application metadata.
                    SOCKET must be one of: x11, wayland, pulseaudio, system-bus, session-bus.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--device=DEVICE</option></term>

                <listitem><para>
                    Expose a device to the application. This overrides to
                    the Context section from the application metadata.
                    DEVICE must be one of: dri.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--nodevice=DEVICE</option></term>

                <listitem><para>
                    Don't expose a device to the application. This overrides to
                    the Context section from the application metadata.
                    DEVICE must be one of: dri.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--filesystem=FS</option></term>

                <listitem><para>
                    Allow the application access to a subset of the filesystem.
                    This overrides to the Context section from the application metadata.
                    FS can be one of: home, host, xdg-desktop, xdg-documents, xdg-download
                    xdg-music, xdg-pictures, xdg-public-share, xdg-templates, xdg-videos,
                    an absolute path, or a a homedir-relative path like ~/dir.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--env=VAR=VALUE</option></term>

                <listitem><para>
                    Set an environment variable in the application.
                    This overrides to the Context section from the application metadata.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--own-name=NAME</option></term>

                <listitem><para>
                    Allow the application to own the well known name NAME on the session bus.
                    This overrides to the Context section from the application metadata.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--talk-name=NAME</option></term>

                <listitem><para>
                    Allow the application to talk to the well known name NAME on the session bus.
                    This overrides to the Context section from the application metadata.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--persist=FILENAME</option></term>

                <listitem><para>
                    If the application doesn't have access to the real homedir, make the (homedir-relative) path
                    FILENAME a bind mount to the corresponding path in the per-application directory,
                    allowing that location to be used for persistant data.
                    This overrides to the Context section from the application metadata.
                    This option can be used multiple times.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>-v</option></term>
                <term><option>--verbose</option></term>

                <listitem><para>
                    Print debug information during command processing.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--version</option></term>

                <listitem><para>
                    Print version information and exit.
                </para></listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

    <refsect1>
        <title>Examples</title>

        <para>
            <command>$ xdg-app override --nosocket=wayland org.gnome.GEdit</command>
        </para>
        <para>
            <command>$ xdg-app override --filesystem=home org.mozilla.Firefox</command>
        </para>

    </refsect1>

    <refsect1>
        <title>See also</title>

        <para>
            <citerefentry><refentrytitle>xdg-app</refentrytitle><manvolnum>1</manvolnum></citerefentry>
            <citerefentry><refentrytitle>xdg-app-run</refentrytitle><manvolnum>1</manvolnum></citerefentry>
        </para>

    </refsect1>

</refentry>
