<?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-gdkdisplay">
  <refnamediv>
    <refname>gtk.gdk.Display</refname>

    <refpurpose>controls the keyboard/mouse pointer grabs and a set of <link
linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
objects</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.gdk.Display</classname></ooclass>
      <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass>
      <constructorsynopsis language="python">
	<methodname><link linkend="constructor-gdkdisplay">gtk.gdk.Display</link></methodname>
	<methodparam><parameter role="keyword">display_name</parameter></methodparam>
      </constructorsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-name">get_name</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-n-screens">get_n_screens</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-screen">get_screen</link></methodname>
	<methodparam><parameter role="keyword">screen_num</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-default-screen">get_default_screen</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--pointer-ungrab">pointer_ungrab</link></methodname>
	<methodparam><parameter role="keyword">time_</parameter><initializer>0L</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--keyboard-ungrab">keyboard_ungrab</link></methodname>
	<methodparam><parameter role="keyword">time_</parameter><initializer>0L</initializer></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--pointer-is-grabbed">pointer_is_grabbed</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--beep">beep</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--sync">sync</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--close">close</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--list-devices">list_devices</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-event">get_event</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--peek-event">peek_event</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--put-event">put_event</link></methodname>
	<methodparam><parameter role="keyword">event</parameter></methodparam>
      </methodsynopsis>

<!-- NOT IMPLEMENTED
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay- -add-client-message-filter">add_client_message_filter</link></methodname>
	<methodparam><parameter role="keyword">message_type</parameter></methodparam>
	<methodparam><parameter role="keyword">func</parameter></methodparam>
	<methodparam><parameter role="keyword">data</parameter></methodparam>
      </methodsynopsis>
END NOT IMPLEMENTED -->

      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--set-double-click-time">set_double_click_time</link></methodname>
	<methodparam><parameter role="keyword">msec</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-core-pointer">get_core_pointer</link></methodname>
	<methodparam></methodparam>
</methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-pointer">get_pointer</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-window-at-pointer">get_window_at_pointer</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>

<!-- NOT IMPLEMENTED
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay- -set-pointer-hooks">set_pointer_hooks</link></methodname>
	<methodparam><parameter role="keyword">new_hooks</parameter></methodparam>
      </methodsynopsis>
END NOT IMPLEMENTED -->

      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--flush">flush</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--set-double-click-distance">set_double_click_distance</link></methodname>
	<methodparam><parameter role="keyword">distance</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--supports-cursor-alpha">supports_composite</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--supports-cursor-alpha">supports_cursor_alpha</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--supports-cursor-color">supports_cursor_color</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-default-cursor-size">get_default_cursor_size</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-maximal-cursor-size">get_maximal_cursor_size</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--get-default-group">get_default_group</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--supports-selection-notification">supports_selection_notification</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--supports-clipboard-persistence">supports_clipboard_persistence</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--request-selection-notification">request_selection_notification</link></methodname>
	<methodparam><parameter role="keyword">selection</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link linkend="method-gdkdisplay--store-clipboard">store_clipboard</link></methodname>
	<methodparam><parameter role="keyword">clipboard_window</parameter></methodparam>
	<methodparam><parameter role="keyword">time_</parameter></methodparam>
	<methodparam><parameter role="keyword">targets</parameter></methodparam>
      </methodsynopsis>
    </classsynopsis>

<programlisting>
<emphasis role="bold">Functions</emphasis>

<methodsynopsis language="python">
    <methodname><link linkend="function-gdk--display-get-default">gtk.gdk.display_get_default</link></methodname>
    <methodparam><parameter role="keyword"></parameter></methodparam>
  </methodsynopsis></programlisting>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gdkdisplay">gtk.gdk.Display</link>
</synopsis>

  </refsect1>

  <refsect1>
    <title>Signal Prototypes</title>

    <variablelist>
      <varlistentry>
        <term>"<link linkend="signal-gdkdisplay--closed">closed</link>"</term>
        <listitem>
          <methodsynopsis language="python"><methodname>callback</methodname>
            <methodparam><parameter>widget</parameter></methodparam>
            <methodparam><parameter>is_error</parameter></methodparam>
            <methodparam><parameter>user_param1</parameter></methodparam>
            <methodparam><parameter>...</parameter></methodparam>
          </methodsynopsis>
        </listitem>
      </varlistentry>
    </variablelist>

  </refsect1>

  <refsect1>
    <title>Description</title>


    <note>
      <para>This object is available in PyGTK 2.2 and above.</para>
    </note>

    <para><link linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link> objects provide two capabilities:</para>

    <itemizedlist>
      <listitem>
	<simpara>To grab/ungrab keyboard focus and mouse pointer</simpara>
      </listitem>
      <listitem>
	<simpara>To manage and provide information about the <link
	linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>)
	objects available for this <link
	linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link></simpara>
      </listitem>
   </itemizedlist>

    <para><link
linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>
objects are the <literal>GDK</literal> representation of the X Display which
can be described as a workstation consisting of a keyboard, a pointing
device (such as a mouse) and one or more screens. It is used to open and
keep track of various <link
linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
objects currently instantiated by the application. It is also used to grab
and release the keyboard and the mouse pointer.</para>

  </refsect1>

  <refsect1 id="constructor-gdkdisplay">
    <title>Constructor</title>

<programlisting><constructorsynopsis language="python">
    <methodname>gtk.gdk.Display</methodname>
    <methodparam><parameter role="keyword">display_name</parameter></methodparam>
  </constructorsynopsis></programlisting>
  <variablelist>
    <varlistentry>
      <term><parameter role="keyword">display_name</parameter>&nbsp;:</term>
      <listitem><simpara>the name of the display to
      open</simpara></listitem>
    </varlistentry>
    <varlistentry>
      <term><emphasis>Returns</emphasis>&nbsp;:</term> <listitem><simpara>a
      <link
      linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>,
      or <literal>None</literal> if the display could not be
      opened.</simpara></listitem>
    </varlistentry>
  </variablelist>

    <note>
      <para>This constructor is available in PyGTK 2.2 and above.</para>
    </note>

    <para>Opens the display with the name specified by
<parameter>display_name</parameter> and returns a <link
linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>
object wrapping the display..</para>


  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gdkdisplay--get-name">
      <title>gtk.gdk.Display.get_name</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_name</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term> <listitem><simpara>a
      string representing the display name.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_name</methodname>() method returns the name
of the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-n-screens">
      <title>gtk.gdk.Display.get_n_screens</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_n_screens</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the number of display
	  screens.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_n_screens</methodname>() method returns the
number of screens managed by the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-screen">
      <title>gtk.gdk.Display.get_screen</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_screen</methodname>
	  <methodparam><parameter role="keyword">screen_num</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter
	  role="keyword">screen_num</parameter>&nbsp;:</term>
	  <listitem><simpara>the screen number</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the <link
	  linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
	  object</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_screen</methodname>() method returns a <link
linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
object for one of the screens of the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-default-screen">
      <title>gtk.gdk.Display.get_default_screen</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_default_screen</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default <link
	  linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link>
	  object for <parameter>display</parameter></simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_default_screen</methodname>() method returns
the default <link
linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link> for
the display</para> </refsect2>


    <refsect2 id="method-gdkdisplay--pointer-ungrab">
      <title>gtk.gdk.Display.pointer_ungrab</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>pointer_ungrab</methodname>
	  <methodparam><parameter role="keyword">time_</parameter><initializer>0L</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">time_</parameter>&nbsp;:</term>
	  <listitem><simpara>a timestamp or 0L for the current
	  time.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>pointer_ungrab</methodname>() method releases
any pointer grab held by the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--keyboard-ungrab">
      <title>gtk.gdk.Display.keyboard_ungrab</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>keyboard_ungrab</methodname>
	  <methodparam><parameter role="keyword">time_</parameter><initializer>0L</initializer></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">time_</parameter>&nbsp;:</term>
	  <listitem><simpara>a timestamp or 0L for the current
	  time.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>keyboard_ungrab</methodname>() method 
releases any keyboard grab held by the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--pointer-is-grabbed">
      <title>gtk.gdk.Display.pointer_is_grabbed</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>pointer_is_grabbed</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if an active X pointer
	  grab is in effect</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>pointer_is_grabbed</methodname>() method returns
<literal>True</literal> if the pointer is grabbed.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--beep">
      <title>gtk.gdk.Display.beep</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>beep</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>beep</methodname>() method 
emits a short beep on the display.</para>  </refsect2>


    <refsect2 id="method-gdkdisplay--sync">
      <title>gtk.gdk.Display.sync</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>sync</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>sync</methodname>() method flushes any requests
queued for the windowing system and waits until all requests have been
handled. This is often used for making sure that the display is synchronized
with the current state of the program. This is most useful for X11. On
windowing systems where requests are handled synchronously, this method will
do nothing.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--close">
      <title>gtk.gdk.Display.close</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>close</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>close</methodname>() method closes the
connection to the windowing system for the given display, and cleans up
associated resources.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--list-devices">
      <title>gtk.gdk.Display.list_devices</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>list_devices</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a list of <link
	  linkend="class-gdkdevice"><classname>gtk.gdk.Device</classname></link>
	  objects.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>list_devices</methodname>() method returns the
list of available input devices attached to the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-event">
      <title>gtk.gdk.Display.get_event</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_event</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the next <link
	  linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link>
	  to be processed, or <literal>None</literal> if no events are
	  pending..</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_event</methodname>() method returns the next
<link linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link>
to be processed for the display, fetching events from the windowing system
if necessary. The returned <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link> should
be freed with the <link
linkend="method-gdkevent--free"><methodname>gtk.gdk.Event.free()</methodname></link>
method </para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--peek-event">
      <title>gtk.gdk.Display.peek_event</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>peek_event</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a copy of the first <link
	  linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link>
	  on the event queue, or <literal>None</literal> if no events are in
	  the queue.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>peek_event</methodname>() method returns a copy
of the first <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link> in the
the display's event queue, without removing the event from the queue.  (Note
that this method will not get more events from the windowing system. It only
checks the events that have already been moved to the <literal>GDK</literal>
event queue.)  The returned <link
linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link> should
be freed with <link
linkend="method-gdkevent--free"><methodname>gtk.gdk.Event.free()</methodname></link>.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--put-event">
      <title>gtk.gdk.Display.put_event</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>put_event</methodname>
	  <methodparam><parameter role="keyword">event</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">event</parameter>&nbsp;:</term>
	  <listitem><simpara>a <link
	  linkend="class-gdkevent"><classname>gtk.gdk.Event</classname></link>.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>put_event</methodname>() method appends a copy
of the given event onto the front of the event queue for the display.</para>

    </refsect2>

<!-- NOT IMPLEMENTED
    <refsect2 id="method-gdkdisplay- -add-client-message-filter">
      <title>gtk.gdk.Display.add_client_message_filter</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>add_client_message_filter</methodname>
	  <methodparam><parameter role="keyword">message_type</parameter></methodparam>
	  <methodparam><parameter role="keyword">func</parameter></methodparam>
	  <methodparam><parameter role="keyword">data</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">message_type</parameter>&nbsp;:</term>
	  <listitem><simpara>the type of ClientMessage events to receive.
This will be checked against the <parameter>message_type</parameter> field 
of the XClientMessage event struct.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">func</parameter>&nbsp;:</term>
	  <listitem><simpara>the function to call to process the event.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">data</parameter>&nbsp;:</term>
	  <listitem><simpara>user data to pass to <parameter>func</parameter>.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>
Adds a filter to be called when X ClientMessage events are received.
</para>
      <para>
Since: 2.2
</para>  </refsect2>
END NTO IMPLEMENTED -->

    <refsect2 id="method-gdkdisplay--set-double-click-time">
      <title>gtk.gdk.Display.set_double_click_time</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_double_click_time</methodname>
	  <methodparam><parameter role="keyword">msec</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">msec</parameter>&nbsp;:</term>
	  <listitem><simpara>the double click time in milliseconds
	  (thousandths of a second)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>set_double_click_time</methodname>() method sets
the double click time (two clicks within this time interval count as a
double click and result in a <literal>gtk.gdk._2BUTTON_PRESS</literal>
event).  Applications should <emphasis>not</emphasis> set this, it is a
global user-configured setting.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-core-pointer">
      <title>gtk.gdk.Display.get_core_pointer</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_core_pointer</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the core pointer device</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_core_pointer</methodname>() method returns
the core pointer device for the given display</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-pointer">
      <title>gtk.gdk.Display.get_pointer</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_pointer</methodname>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a 4-tuple containing the screen that the cursor
	  is on, the root window X and Y coordinates of the pointer and the
	  current modifier mask</simpara></listitem>
	</varlistentry>
      </variablelist>
 
      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

     <para>The <methodname>get_pointer</methodname>() method returns a
4-tuple containing the <link
linkend="class-gdkscreen"><classname>gtk.gdk.Screen</classname></link> that
the pointer is on, the current location coordinates of the pointer and the
current modifier mask for the display. The returned modifier mask is a
combination of the <xref linkend="gdk-modifier-constants"
endterm="gdk-modifier-constants-title"></xref>.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-window-at-pointer">
      <title>gtk.gdk.Display.get_window_at_pointer</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_window_at_pointer</methodname>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a 3-tuple containing the <link
	  linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
	  under the mouse pointer and the x and y coordinates of the window
	  origin</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>The <methodname>get_window_at_pointer</methodname>() method
returns a 3-tuple containing the <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
underneath the mouse pointer and the location of that window's
origin. Returns <literal>None</literal> if the window under the mouse
pointer is not known to <literal>GDK</literal> (for example, belongs to
another application).</para>

    </refsect2>

<!-- NOT IMPLEMENTED
    <refsect2 id="method-gdkdisplay- -set-pointer-hooks">
      <title>gtk.gdk.Display.set_pointer_hooks</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_pointer_hooks</methodname>
	  <methodparam><parameter role="keyword">new_hooks</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">new_hooks</parameter>&nbsp;:</term>
	  <listitem><simpara>a table of pointers to functions for getting
quantities related to the current pointer position,
or <literal>NULL</literal> to restore the default table.</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the previous pointer hook table

Since: 2.2</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.2 and above.</para>
      </note>

      <para>
This function allows for hooking into the operation
of getting the current location of the pointer on a particular
display. This is only useful for such low-level tools as an
event recorder. Applications should never have any
reason to use this facility.
</para>  </refsect2>
END NOT IMPLEMENTED -->

    <refsect2 id="method-gdkdisplay--flush">
      <title>gtk.gdk.Display.flush</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>flush</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>flush</methodname>() method flushes any requests
queued for the windowing system; this happens automatically when the main
loop blocks waiting for new events, but if your application is drawing
without returning control to the main loop, you may need to call this method
explicitly. A common case where this method needs to be called is when an
application is executing drawing commands from a thread other than the
thread where the main loop is running.</para>

      <para>This is most useful for X11. On windowing systems where requests
are handled synchronously, this method will do nothing.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--set-double-click-distance">
      <title>gtk.gdk.Display.set_double_click_distance</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_double_click_distance</methodname>
	  <methodparam><parameter role="keyword">distance</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">distance</parameter>&nbsp;:</term>
	  <listitem><simpara>the distance in pixels</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>set_double_click_distance</methodname>() method
sets the double click distance (two clicks within this distance count as a
double click and result in a <literal>gtk.gdk.2BUTTON_PRESS</literal>
event).  See the <link
linkend="method-gdkdisplay--set-double-click-time"><methodname>set_double_click_time()</methodname></link>
method for more information.  Applications should <emphasis>not</emphasis>
set this, it is a global user-configured setting.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--supports-composite">
      <title>gtk.gdk.Display.supports_composite</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>supports_composite</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if windows may be composited.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.12 and above.</para>
      </note>

      <para>The <methodname>supports_composite</methodname>() method
returns <literal>True</literal> if <link linkend="method-gdkwindow--set-composite">
<methodname>gtk.gdk.Window.set_composite</methodname></link>() can be used to redirect
drawing on the window using compositing.
    </para>
      <para>
        Currently this only works on X11 with XComposite and XDamage extensions available.
    </para>

    </refsect2>
    
    <refsect2 id="method-gdkdisplay--supports-cursor-alpha">
      <title>gtk.gdk.Display.supports_cursor_alpha</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>supports_cursor_alpha</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if cursors can have
	  alpha channels.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>supports_cursor_alpha</methodname>() method
returns <literal>True</literal> if cursors can use an 8bit alpha channel on
the display. Otherwise, cursors are restricted to bilevel alpha (i.e. a
mask).</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--supports-cursor-color">
      <title>gtk.gdk.Display.supports_cursor_color</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>supports_cursor_color</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if cursors can have
	  multiple colors.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>supports_cursor_color</methodname>() method
returns <literal>True</literal> if multicolored cursors are supported on the
display. Otherwise, cursors have only a foreground and a background
color.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-default-cursor-size">
      <title>gtk.gdk.Display.get_default_cursor_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_default_cursor_size</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the default cursor size.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_default_cursor_size</methodname>() method
returns the default size to use for cursors on the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-maximal-cursor-size">
      <title>gtk.gdk.Display.get_maximal_cursor_size</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_maximal_cursor_size</methodname>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a 2-tuple containing the maximal cursor width
	  and height</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_maximal_cursor_size</methodname>() method
returns a 2-tuple containing the maximum width and height to use for cursors
on the display.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--get-default-group">
      <title>gtk.gdk.Display.get_default_group</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_default_group</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>The default group leader window for the
	  display</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.4 and above.</para>
      </note>

      <para>The <methodname>get_default_group</methodname>() method returns
the default group leader window for all toplevel windows on the
display. This window is implicitly created by <literal>GDK</literal>.  See
the <link
linkend="method-gdkwindow--set-group"><methodname>gtk.gdk.Window.set_group()</methodname></link>
method for more information.</para>

    </refsect2>

     <refsect2 id="method-gdkdisplay--supports-selection-notification">
      <title>gtk.gdk.Display.supports_selection_notification</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_default_group</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if
<literal>gtk.gdk.EventOwnerChange</literal> events will be
sent.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>supports_selection_notification</methodname>()
method returns <literal>True</literal> if
<literal>gtk.gdk.EventOwnerChange</literal> events will be sent when the
owner of a selection changes.</para>

    </refsect2>

     <refsect2 id="method-gdkdisplay--supports-clipboard-persistence">
      <title>gtk.gdk.Display.supports_clipboard_persistence</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>supports_clipboard_persistence</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the display
supports clipboard persistence.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>supports_clipboard_persistence</methodname>()
method Returns whether the specified display supports clipboard persistence;
i.e. if it's possible to store the clipboard data after an application has
quit. On X11 this checks if a clipboard daemon is running.</para>

    </refsect2>

    <refsect2 id="method-gdkdisplay--request-selection-notification">
      <title>gtk.gdk.Display.request_selection_notification</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>request_selection_notification</methodname>
	  <methodparam><parameter role="keyword">selection</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">selection</parameter>&nbsp;:</term>
	  <listitem><simpara>The string (or <link
linkend="class-gdkatom"><classname>gtk.gdk.Atom</classname></link>) naming
the selection for which ownership change notification is
requested</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>request_selection_notification</methodname>()
method requests that <literal>gtk.gdk.EventOwnerChange</literal> events will
be sent for changes in ownership of the atom specified by
<parameter>selection</parameter>.</para>

    </refsect2>

     <refsect2 id="method-gdkdisplay--store-clipboard">
      <title>gtk.gdk.Display.store_clipboard</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>store_clipboard</methodname>
	  <methodparam><parameter role="keyword">clipboard_window</parameter></methodparam>
	  <methodparam><parameter role="keyword">time</parameter></methodparam>
	  <methodparam><parameter role="keyword">targets</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">clipboard_window</parameter>&nbsp;:</term>
	  <listitem><simpara> a <link
linkend="class-gdkwindow"><classname>gtk.gdk.Window</classname></link>
belonging to the clipboard owner</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">time</parameter>&nbsp;:</term>
	  <listitem><simpara>a timestamp</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter role="keyword">targets</parameter>&nbsp;:</term>
	  <listitem><simpara>a list of targets that should be saved, or
<literal>None</literal> if all available targets should be
saved.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>This method is available in PyGTK 2.6 and above.</para>
      </note>

      <para>The <methodname>store_clipboard</methodname>() method issues a
request to the the clipboard manager to store the clipboard data. On X11,
this is a special program that works according to the freedesktop clipboard
specification, available at <ulink
url="http://www.freedesktop.org/Standards/clipboard-manager-spec">http://www.freedesktop.org/Standards/clipboard-manager-spec</ulink>.</para>

    </refsect2>

 </refsect1>

  <refsect1>
    <title>Functions</title>

    <refsect2 id="function-gdk--display-get-default">
      <title>gtk.gdk.display_get_default</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>gtk.gdk.display_get_default</methodname>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	<term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>a <link
	  linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>,
	  or <literal>None</literal> if there is no default
	  display.</simpara></listitem>
	</varlistentry>
      </variablelist>

       <note>
	<para>This function is available in PyGTK 2.2 and above.</para>
      </note>

     <para>The <function>gtk.gdk.display_get_default</function>() function
returns the default <link
linkend="class-gdkdisplay"><classname>gtk.gdk.Display</classname></link>. This
is a convenience function for:</para>

      <programlisting>
  display_manager = gtk.gdk.display_manager_get()
  display = display.manager.get_default_display()
</programlisting>

    </refsect2>

  </refsect1>

  <refsect1>
    <title>Signals</title>

    <refsect2 id="signal-gdkdisplay--closed">
      <title>The "closed" gtk.gdk.Display Signal</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>callback</methodname>
	  <methodparam><parameter>display</parameter></methodparam>
	  <methodparam><parameter>is_error</parameter></methodparam>
	  <methodparam><parameter>user_param1</parameter></methodparam>
	  <methodparam><parameter>...</parameter></methodparam>
	</methodsynopsis></programlisting>

      <variablelist>
	<varlistentry>
	  <term><parameter>display</parameter>&nbsp;:</term>
	  <listitem><simpara>the display that received the
signal</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>is_error</parameter>&nbsp;:</term>
	  <listitem><simpara><literal>True</literal> if the display was
	  closed due to an error</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>user_param1</parameter>&nbsp;:</term>
          <listitem><simpara>the first user parameter (if any) specified
with the <link
linkend="method-gobject--connect"><methodname>connect</methodname>()</link>
method</simpara></listitem>
	</varlistentry>
	<varlistentry>
	  <term><parameter>...</parameter>&nbsp;:</term>
	  <listitem><simpara>additional user parameters (if
any)</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The "closed" signal is emitted when the connection to the
windowing system for <parameter>display</parameter> is closed.</para>

    </refsect2>

  </refsect1>

</refentry>
