<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-gdkapplaunchcontext">
    <refnamediv>
        <refname>gtk.gdk.AppLaunchContext</refname>
        <refpurpose>Startup notification for applications.</refpurpose>
    </refnamediv>

    <refsect1>
        <title>Synopsis</title>

    <classsynopsis language="python">
        <ooclass><classname>gtk.gdk.AppLaunchContext</classname></ooclass>
        <ooclass><classname><link linkend="class-gioapplaunchcontext">gio.AppLaunchContext</link></classname></ooclass>
    
    <methodsynopsis language="python">
        <methodname><link linkend="method-gdkapplaunchcontext--set-desktop">set_desktop</link></methodname>
        <methodparam><parameter role="keyword">desktop</parameter></methodparam>
    </methodsynopsis>
    <methodsynopsis language="python">
        <methodname><link linkend="method-gdkapplaunchcontext--set-display">set_display</link></methodname>
        <methodparam><parameter role="keyword">display</parameter></methodparam>
    </methodsynopsis>
    <methodsynopsis language="python">
        <methodname><link linkend="method-gdkapplaunchcontext--set-icon">set_icon</link></methodname>
        <methodparam><parameter role="keyword">icon</parameter></methodparam>
    </methodsynopsis>
    <methodsynopsis language="python">
        <methodname><link linkend="method-gdkapplaunchcontext--set-icon-name">set_icon_name</link></methodname>
        <methodparam><parameter role="keyword">icon_name</parameter></methodparam>
    </methodsynopsis>
    <methodsynopsis language="python">
        <methodname><link linkend="method-gdkapplaunchcontext--set-screen">set_screen</link></methodname>
        <methodparam><parameter role="keyword">screen</parameter></methodparam>
    </methodsynopsis>
    <methodsynopsis language="python">
        <methodname><link linkend="method-gdkapplaunchcontext--set-timestamp">set_timestamp</link></methodname>
        <methodparam><parameter role="keyword">timestamp</parameter></methodparam>
    </methodsynopsis>
    
    </classsynopsis>
    </refsect1>

    <refsect1>
        <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gioapplaunchcontext">gio.AppLaunchContext</link>
  +-- <link linkend="class-gdkapplaunchcontext">gtk.gdk.AppLaunchContext</link>
</synopsis>

    </refsect1>

    <refsect1>
        <title>Description</title>

        <para>
            The <link linkend="class-gdkapplaunchcontext"><classname>gtk.gdk.AppLaunchContext</classname></link>
            is an implementation of <link linkend="class-gioapplaunchcontext">gio.AppLaunchContext</link>
            that handles launching an application in a graphical context. It provides startup notification
            and allows to launch applications on a specific screen or workspace.
        </para>
    </refsect1>

    <refsect1>
        <title>Methods</title>

        <refsect2 id="method-gdkapplaunchcontext--set-display">
            <title>gtk.gdk.AppLaunchContext.set_display</title>

            <programlisting><methodsynopsis language="python">
                <methodname>set_display</methodname>
                <methodparam></methodparam>
            </methodsynopsis></programlisting>
            
            <variablelist>
                <varlistentry>
                    <term><parameter>display</parameter>&nbsp;:</term>
                    <listitem><simpara>a
                    <link linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>.
                    </simpara></listitem>
                </varlistentry>
            </variablelist>

            <note>
                <para>This method is available in PyGTK 2.14 and above.</para>
            </note>
    
            <para>
                The <methodname>set_display</methodname>() method sets the display
                on which applications will be launched when using this context. See also
                <methodname><link linkend="method-gdkapplaunchcontext--set-screen">set_screen</link></methodname>.
            </para>
        </refsect2>

        <refsect2 id="method-gdkapplaunchcontext--set-desktop">
            <title>gtk.gdk.AppLaunchContext.set_desktop</title>

            <programlisting><methodsynopsis language="python">
                <methodname>set_desktop</methodname>
                <methodparam></methodparam>
            </methodsynopsis></programlisting>
            
            <variablelist>
                <varlistentry>
                    <term><parameter>desktop</parameter>&nbsp;:</term>
                    <listitem><simpara>the number of a workspace, or -1
                    </simpara></listitem>
                </varlistentry>
            </variablelist>

            <note>
                <para>This method is available in PyGTK 2.14 and above.</para>
            </note>
    
            <para>
                The <methodname>set_desktop</methodname>() method sets the workspace
                on which applications will be launched when using this context when
                running under a window manager that supports multiple workspaces, as
                described in the Extended Window Manager Hints.
            </para>
            <para>
                When the workspace is not specified or desktop is set to -1, it is
                up to the window manager to pick one, typically it will be the current workspace.
            </para>
        </refsect2>

        <refsect2 id="method-gdkapplaunchcontext--set-icon">
            <title>gtk.gdk.AppLaunchContext.set_icon</title>

            <programlisting><methodsynopsis language="python">
                <methodname>set_icon</methodname>
                <methodparam></methodparam>
            </methodsynopsis></programlisting>
            
            <variablelist>
                <varlistentry>
                    <term><parameter>icon</parameter>&nbsp;:</term>
                    <listitem><simpara>a
                    <link linkend="class-gioicon"><classname>gio.Icon</classname></link>,
                    or <literal>None</literal>.
                    </simpara></listitem>
                </varlistentry>
            </variablelist>

            <note>
                <para>This method is available in PyGTK 2.14 and above.</para>
            </note>
    
            <para>
                The <methodname>set_icon</methodname>() method sets the icon for
                applications that are launched with this context. See also
                <methodname><link linkend="method-gdkapplaunchcontext--set-icon-name">set_icon_name</link></methodname>.
            </para>
        </refsect2>

        <refsect2 id="method-gdkapplaunchcontext--set-icon-name">
            <title>gtk.gdk.AppLaunchContext.set_icon_name</title>

            <programlisting><methodsynopsis language="python">
                <methodname>set_icon_name</methodname>
                <methodparam></methodparam>
            </methodsynopsis></programlisting>
            
            <variablelist>
                <varlistentry>
                    <term><parameter>icon_name</parameter>&nbsp;:</term>
                    <listitem><simpara>an icon name, or <literal>None</literal>.
                    </simpara></listitem>
                </varlistentry>
            </variablelist>

            <note>
                <para>This method is available in PyGTK 2.14 and above.</para>
            </note>
    
            <para>
                The <methodname>set_icon_name</methodname>() method sets the icon
                for applications that are launched with this context. The icon_name
                will be interpreted in the same way as the Icon field in desktop files. See also
                <methodname><link linkend="method-gdkapplaunchcontext--set-icon">set_icon</link></methodname>.
            </para>
            <para>
                If both icon and icon_name are set, the icon_name takes priority.
                If neither icon or icon_name is set, the icon is taken from either the
                file that is passed to launched application or from the
                <link linkend="class-gioappinfo"><classname>gio.AppInfo</classname></link>
                for the launched application itself.
            </para>
        </refsect2>

        <refsect2 id="method-gdkapplaunchcontext--set-timestamp">
            <title>gtk.gdk.AppLaunchContext.set_timestamp</title>

            <programlisting><methodsynopsis language="python">
                <methodname>set_timestamp</methodname>
                <methodparam></methodparam>
            </methodsynopsis></programlisting>
            
            <variablelist>
                <varlistentry>
                    <term><parameter>timestamp</parameter>&nbsp;:</term>
                    <listitem><simpara>a timestamp 
                    </simpara></listitem>
                </varlistentry>
            </variablelist>

            <note>
                <para>This method is available in PyGTK 2.14 and above.</para>
            </note>
    
            <para>
                The <methodname>set_timestamp</methodname>() method sets the timestamp of
                context. The timestamp should ideally be taken from the event that triggered the launch. 
            </para>
            <para>
                Window managers can use this information to avoid moving the focus
                to the newly launched application when the user is busy typing in
                another window. This is also known as 'focus stealing prevention'.
            </para>
        </refsect2>
    </refsect1>
</refentry>
