<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="GdkScreen">
<refmeta>
<refentrytitle role="top_of_page" id="GdkScreen.top_of_page">GdkScreen</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GDK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GdkScreen</refname>
<refpurpose>Object representing a physical screen</refpurpose>
</refnamediv>

<refsynopsisdiv id="GdkScreen.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

#include &lt;gdk/gdk.h&gt;

                    <link linkend="GdkScreen-struct">GdkScreen</link>;
<link linkend="GdkScreen">GdkScreen</link> *         <link linkend="gdk-screen-get-default">gdk_screen_get_default</link>              (void);
<link linkend="GdkColormap">GdkColormap</link> *       <link linkend="gdk-screen-get-default-colormap">gdk_screen_get_default_colormap</link>     (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="void">void</link>                <link linkend="gdk-screen-set-default-colormap">gdk_screen_set_default_colormap</link>     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="GdkColormap">GdkColormap</link> *colormap);
<link linkend="GdkColormap">GdkColormap</link>*        <link linkend="gdk-screen-get-system-colormap">gdk_screen_get_system_colormap</link>      (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GdkVisual">GdkVisual</link>*          <link linkend="gdk-screen-get-system-visual">gdk_screen_get_system_visual</link>        (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GdkColormap">GdkColormap</link> *       <link linkend="gdk-screen-get-rgb-colormap">gdk_screen_get_rgb_colormap</link>         (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GdkVisual">GdkVisual</link> *         <link linkend="gdk-screen-get-rgb-visual">gdk_screen_get_rgb_visual</link>           (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GdkColormap">GdkColormap</link> *       <link linkend="gdk-screen-get-rgba-colormap">gdk_screen_get_rgba_colormap</link>        (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GdkVisual">GdkVisual</link> *         <link linkend="gdk-screen-get-rgba-visual">gdk_screen_get_rgba_visual</link>          (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gboolean">gboolean</link>            <link linkend="gdk-screen-is-composited">gdk_screen_is_composited</link>            (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GdkWindow">GdkWindow</link> *         <link linkend="gdk-screen-get-root-window">gdk_screen_get_root_window</link>          (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GdkDisplay">GdkDisplay</link> *        <link linkend="gdk-screen-get-display">gdk_screen_get_display</link>              (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-number">gdk_screen_get_number</link>               (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-width">gdk_screen_get_width</link>                (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-height">gdk_screen_get_height</link>               (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-width-mm">gdk_screen_get_width_mm</link>             (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-height-mm">gdk_screen_get_height_mm</link>            (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GList">GList</link> *             <link linkend="gdk-screen-list-visuals">gdk_screen_list_visuals</link>             (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GList">GList</link> *             <link linkend="gdk-screen-get-toplevel-windows">gdk_screen_get_toplevel_windows</link>     (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gchar">gchar</link> *             <link linkend="gdk-screen-make-display-name">gdk_screen_make_display_name</link>        (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-n-monitors">gdk_screen_get_n_monitors</link>           (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="void">void</link>                <link linkend="gdk-screen-get-monitor-geometry">gdk_screen_get_monitor_geometry</link>     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *dest);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-monitor-at-point">gdk_screen_get_monitor_at_point</link>     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> x,
                                                         <link linkend="gint">gint</link> y);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-monitor-at-window">gdk_screen_get_monitor_at_window</link>    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="GdkWindow">GdkWindow</link> *window);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-monitor-height-mm">gdk_screen_get_monitor_height_mm</link>    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num);
<link linkend="gint">gint</link>                <link linkend="gdk-screen-get-monitor-width-mm">gdk_screen_get_monitor_width_mm</link>     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num);
<link linkend="gchar">gchar</link> *             <link linkend="gdk-screen-get-monitor-plug-name">gdk_screen_get_monitor_plug_name</link>    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num);
<link linkend="void">void</link>                <link linkend="gdk-screen-broadcast-client-message">gdk_screen_broadcast_client_message</link> (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="GdkEvent">GdkEvent</link> *event);
<link linkend="gboolean">gboolean</link>            <link linkend="gdk-screen-get-setting">gdk_screen_get_setting</link>              (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *name,
                                                         <link linkend="GValue">GValue</link> *value);
const <link linkend="cairo-font-options-t">cairo_font_options_t</link> * <link linkend="gdk-screen-get-font-options">gdk_screen_get_font_options</link>
                                                        (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="void">void</link>                <link linkend="gdk-screen-set-font-options">gdk_screen_set_font_options</link>         (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);
<link linkend="gdouble">gdouble</link>             <link linkend="gdk-screen-get-resolution">gdk_screen_get_resolution</link>           (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="void">void</link>                <link linkend="gdk-screen-set-resolution">gdk_screen_set_resolution</link>           (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gdouble">gdouble</link> dpi);
<link linkend="GdkWindow">GdkWindow</link> *         <link linkend="gdk-screen-get-active-window">gdk_screen_get_active_window</link>        (<link linkend="GdkScreen">GdkScreen</link> *screen);
<link linkend="GList">GList</link> *             <link linkend="gdk-screen-get-window-stack">gdk_screen_get_window_stack</link>         (<link linkend="GdkScreen">GdkScreen</link> *screen);

<link linkend="gboolean">gboolean</link>            <link linkend="gdk-spawn-on-screen">gdk_spawn_on_screen</link>                 (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *working_directory,
                                                         <link linkend="gchar">gchar</link> **argv,
                                                         <link linkend="gchar">gchar</link> **envp,
                                                         <link linkend="GSpawnFlags">GSpawnFlags</link> flags,
                                                         <link linkend="GSpawnChildSetupFunc">GSpawnChildSetupFunc</link> child_setup,
                                                         <link linkend="gpointer">gpointer</link> user_data,
                                                         <link linkend="gint">gint</link> *child_pid,
                                                         <link linkend="GError">GError</link> **error);
<link linkend="gboolean">gboolean</link>            <link linkend="gdk-spawn-on-screen-with-pipes">gdk_spawn_on_screen_with_pipes</link>      (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *working_directory,
                                                         <link linkend="gchar">gchar</link> **argv,
                                                         <link linkend="gchar">gchar</link> **envp,
                                                         <link linkend="GSpawnFlags">GSpawnFlags</link> flags,
                                                         <link linkend="GSpawnChildSetupFunc">GSpawnChildSetupFunc</link> child_setup,
                                                         <link linkend="gpointer">gpointer</link> user_data,
                                                         <link linkend="gint">gint</link> *child_pid,
                                                         <link linkend="gint">gint</link> *standard_input,
                                                         <link linkend="gint">gint</link> *standard_output,
                                                         <link linkend="gint">gint</link> *standard_error,
                                                         <link linkend="GError">GError</link> **error);
<link linkend="gboolean">gboolean</link>            <link linkend="gdk-spawn-command-line-on-screen">gdk_spawn_command_line_on_screen</link>    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *command_line,
                                                         <link linkend="GError">GError</link> **error);
</synopsis>
</refsynopsisdiv>

<refsect1 id="GdkScreen.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----GdkScreen
</synopsis>
</refsect1>





<refsect1 id="GdkScreen.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="GdkScreen--font-options">font-options</link>&quot;             <link linkend="gpointer">gpointer</link>              : Read / Write
  &quot;<link linkend="GdkScreen--resolution">resolution</link>&quot;               <link linkend="gdouble">gdouble</link>               : Read / Write
</synopsis>
</refsect1>

<refsect1 id="GdkScreen.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="GdkScreen-composited-changed">composited-changed</link>&quot;                             : Run Last
  &quot;<link linkend="GdkScreen-monitors-changed">monitors-changed</link>&quot;                               : Run Last
  &quot;<link linkend="GdkScreen-size-changed">size-changed</link>&quot;                                   : Run Last
</synopsis>
</refsect1>


<refsect1 id="GdkScreen.description" role="desc">
<title role="desc.title">Description</title>
<para>
  <link linkend="GdkScreen"><type>GdkScreen</type></link> objects are the GDK representation of a physical screen. It is used
  throughout GDK and GTK+ to specify which screen the top level windows
  are to be displayed on.
  It is also used to query the screen specification and default settings such as
  the default colormap (<link linkend="gdk-screen-get-default-colormap"><function>gdk_screen_get_default_colormap()</function></link>),
  the screen width (<link linkend="gdk-screen-get-width"><function>gdk_screen_get_width()</function></link>), etc.
</para>
<para>Note that a screen may consist of multiple monitors which are merged to
form a large screen area.
</para>
</refsect1>

<refsect1 id="GdkScreen.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GdkScreen-struct" role="struct">
<title>GdkScreen</title>
<indexterm zone="GdkScreen-struct" role="2.2"><primary sortas="Screen">GdkScreen</primary></indexterm><programlisting>typedef struct _GdkScreen GdkScreen;</programlisting>
<para>
This is a currently just a placeholder typedef for the first argument of
the <parameter>window_at_pointer</parameter> function in <link linkend="GdkPointerHooks"><type>GdkPointerHooks</type></link>. It will be used
when GDK gets multihead support.
</para><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-default" role="function" condition="since:2.2">
<title>gdk_screen_get_default ()</title>
<indexterm zone="gdk-screen-get-default" role="2.2"><primary sortas="screen_get_default">gdk_screen_get_default</primary></indexterm><programlisting><link linkend="GdkScreen">GdkScreen</link> *         gdk_screen_get_default              (void);</programlisting>
<para>
Gets the default screen for the default display. (See
<link linkend="gdk-display-get-default"><function>gdk_display_get_default()</function></link>).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if there is no default display.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-default-colormap" role="function" condition="since:2.2">
<title>gdk_screen_get_default_colormap ()</title>
<indexterm zone="gdk-screen-get-default-colormap" role="2.2"><primary sortas="screen_get_default_colormap">gdk_screen_get_default_colormap</primary></indexterm><programlisting><link linkend="GdkColormap">GdkColormap</link> *       gdk_screen_get_default_colormap     (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the default colormap for <parameter>screen</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the default <link linkend="GdkColormap"><type>GdkColormap</type></link>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-set-default-colormap" role="function" condition="since:2.2">
<title>gdk_screen_set_default_colormap ()</title>
<indexterm zone="gdk-screen-set-default-colormap" role="2.2"><primary sortas="screen_set_default_colormap">gdk_screen_set_default_colormap</primary></indexterm><programlisting><link linkend="void">void</link>                gdk_screen_set_default_colormap     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="GdkColormap">GdkColormap</link> *colormap);</programlisting>
<para>
Sets the default <parameter>colormap</parameter> for <parameter>screen</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>colormap</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkColormap"><type>GdkColormap</type></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-system-colormap" role="function" condition="since:2.2">
<title>gdk_screen_get_system_colormap ()</title>
<indexterm zone="gdk-screen-get-system-colormap" role="2.2"><primary sortas="screen_get_system_colormap">gdk_screen_get_system_colormap</primary></indexterm><programlisting><link linkend="GdkColormap">GdkColormap</link>*        gdk_screen_get_system_colormap      (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the system's default colormap for <parameter>screen</parameter></para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the default colormap for <parameter>screen</parameter>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-system-visual" role="function" condition="since:2.2">
<title>gdk_screen_get_system_visual ()</title>
<indexterm zone="gdk-screen-get-system-visual" role="2.2"><primary sortas="screen_get_system_visual">gdk_screen_get_system_visual</primary></indexterm><programlisting><link linkend="GdkVisual">GdkVisual</link>*          gdk_screen_get_system_visual        (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Get the system's default visual for <parameter>screen</parameter>.
This is the visual for the root window of the display.
The return value should not be freed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the system visual

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-rgb-colormap" role="function" condition="since:2.2">
<title>gdk_screen_get_rgb_colormap ()</title>
<indexterm zone="gdk-screen-get-rgb-colormap" role="2.2"><primary sortas="screen_get_rgb_colormap">gdk_screen_get_rgb_colormap</primary></indexterm><programlisting><link linkend="GdkColormap">GdkColormap</link> *       gdk_screen_get_rgb_colormap         (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the preferred colormap for rendering image data on <parameter>screen</parameter>.
Not a very useful function; historically, GDK could only render RGB
image data to one colormap and visual, but in the current version
it can render to any colormap and visual. So there's no need to
call this function.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the preferred colormap

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-rgb-visual" role="function" condition="since:2.2">
<title>gdk_screen_get_rgb_visual ()</title>
<indexterm zone="gdk-screen-get-rgb-visual" role="2.2"><primary sortas="screen_get_rgb_visual">gdk_screen_get_rgb_visual</primary></indexterm><programlisting><link linkend="GdkVisual">GdkVisual</link> *         gdk_screen_get_rgb_visual           (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets a "preferred visual" chosen by GdkRGB for rendering image data
on <parameter>screen</parameter>. In previous versions of
GDK, this was the only visual GdkRGB could use for rendering. In
current versions, it's simply the visual GdkRGB would have chosen as 
the optimal one in those previous versions. GdkRGB can now render to 
drawables with any visual.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The <link linkend="GdkVisual"><type>GdkVisual</type></link> chosen by GdkRGB.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-rgba-colormap" role="function" condition="since:2.8">
<title>gdk_screen_get_rgba_colormap ()</title>
<indexterm zone="gdk-screen-get-rgba-colormap" role="2.8"><primary sortas="screen_get_rgba_colormap">gdk_screen_get_rgba_colormap</primary></indexterm><programlisting><link linkend="GdkColormap">GdkColormap</link> *       gdk_screen_get_rgba_colormap        (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets a colormap to use for creating windows or pixmaps with an
alpha channel. The windowing system on which GTK+ is running
may not support this capability, in which case <link linkend="NULL--CAPS"><literal>NULL</literal></link> will
be returned. Even if a non-<link linkend="NULL--CAPS"><literal>NULL</literal></link> value is returned, its
possible that the window's alpha channel won't be honored
when displaying the window on the screen: in particular, for
X an appropriate windowing manager and compositing manager
must be running to provide appropriate display.
</para>
<para>
This functionality is not implemented in the Windows backend.
</para>
<para>
For setting an overall opacity for a top-level window, see
<link linkend="gdk-window-set-opacity"><function>gdk_window_set_opacity()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a colormap to use for windows with an alpha channel
  or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the capability is not available.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.8</para></refsect2>
<refsect2 id="gdk-screen-get-rgba-visual" role="function" condition="since:2.8">
<title>gdk_screen_get_rgba_visual ()</title>
<indexterm zone="gdk-screen-get-rgba-visual" role="2.8"><primary sortas="screen_get_rgba_visual">gdk_screen_get_rgba_visual</primary></indexterm><programlisting><link linkend="GdkVisual">GdkVisual</link> *         gdk_screen_get_rgba_visual          (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets a visual to use for creating windows or pixmaps with an
alpha channel. See the docs for <link linkend="gdk-screen-get-rgba-colormap"><function>gdk_screen_get_rgba_colormap()</function></link>
for caveats.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a visual to use for windows with an alpha channel
  or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the capability is not available.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.8</para></refsect2>
<refsect2 id="gdk-screen-is-composited" role="function" condition="since:2.10">
<title>gdk_screen_is_composited ()</title>
<indexterm zone="gdk-screen-is-composited" role="2.10"><primary sortas="screen_is_composited">gdk_screen_is_composited</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gdk_screen_is_composited            (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Returns whether windows with an RGBA visual can reasonably
be expected to have their alpha channel drawn correctly on
the screen.
</para>
<para>
On X11 this function returns whether a compositing manager is
compositing <parameter>screen</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> Whether windows with RGBA visuals can reasonably be
expected to have their alpha channels drawn correctly on the screen.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gdk-screen-get-root-window" role="function" condition="since:2.2">
<title>gdk_screen_get_root_window ()</title>
<indexterm zone="gdk-screen-get-root-window" role="2.2"><primary sortas="screen_get_root_window">gdk_screen_get_root_window</primary></indexterm><programlisting><link linkend="GdkWindow">GdkWindow</link> *         gdk_screen_get_root_window          (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the root window of <parameter>screen</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the root window

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-display" role="function" condition="since:2.2">
<title>gdk_screen_get_display ()</title>
<indexterm zone="gdk-screen-get-display" role="2.2"><primary sortas="screen_get_display">gdk_screen_get_display</primary></indexterm><programlisting><link linkend="GdkDisplay">GdkDisplay</link> *        gdk_screen_get_display              (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the display to which the <parameter>screen</parameter> belongs.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the display to which <parameter>screen</parameter> belongs

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-number" role="function" condition="since:2.2">
<title>gdk_screen_get_number ()</title>
<indexterm zone="gdk-screen-get-number" role="2.2"><primary sortas="screen_get_number">gdk_screen_get_number</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_number               (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the index of <parameter>screen</parameter> among the screens in the display
to which it belongs. (See <link linkend="gdk-screen-get-display"><function>gdk_screen_get_display()</function></link>)</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-width" role="function" condition="since:2.2">
<title>gdk_screen_get_width ()</title>
<indexterm zone="gdk-screen-get-width" role="2.2"><primary sortas="screen_get_width">gdk_screen_get_width</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_width                (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the width of <parameter>screen</parameter> in pixels</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the width of <parameter>screen</parameter> in pixels.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-height" role="function" condition="since:2.2">
<title>gdk_screen_get_height ()</title>
<indexterm zone="gdk-screen-get-height" role="2.2"><primary sortas="screen_get_height">gdk_screen_get_height</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_height               (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the height of <parameter>screen</parameter> in pixels</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the height of <parameter>screen</parameter> in pixels.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-width-mm" role="function" condition="since:2.2">
<title>gdk_screen_get_width_mm ()</title>
<indexterm zone="gdk-screen-get-width-mm" role="2.2"><primary sortas="screen_get_width_mm">gdk_screen_get_width_mm</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_width_mm             (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the width of <parameter>screen</parameter> in millimeters. 
Note that on some X servers this value will not be correct.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the width of <parameter>screen</parameter> in millimeters.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-height-mm" role="function" condition="since:2.2">
<title>gdk_screen_get_height_mm ()</title>
<indexterm zone="gdk-screen-get-height-mm" role="2.2"><primary sortas="screen_get_height_mm">gdk_screen_get_height_mm</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_height_mm            (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Returns the height of <parameter>screen</parameter> in millimeters. 
Note that on some X servers this value will not be correct.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the heigth of <parameter>screen</parameter> in millimeters.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-list-visuals" role="function" condition="since:2.2">
<title>gdk_screen_list_visuals ()</title>
<indexterm zone="gdk-screen-list-visuals" role="2.2"><primary sortas="screen_list_visuals">gdk_screen_list_visuals</primary></indexterm><programlisting><link linkend="GList">GList</link> *             gdk_screen_list_visuals             (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Lists the available visuals for the specified <parameter>screen</parameter>.
A visual describes a hardware image data format.
For example, a visual might support 24-bit color, or 8-bit color,
and might expect pixels to be in a certain format.
</para>
<para>
Call <link linkend="g-list-free"><function>g_list_free()</function></link> on the return value when you're finished with it.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> the relevant <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a list of visuals; the list must be freed, but not its 
contents

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-toplevel-windows" role="function" condition="since:2.2">
<title>gdk_screen_get_toplevel_windows ()</title>
<indexterm zone="gdk-screen-get-toplevel-windows" role="2.2"><primary sortas="screen_get_toplevel_windows">gdk_screen_get_toplevel_windows</primary></indexterm><programlisting><link linkend="GList">GList</link> *             gdk_screen_get_toplevel_windows     (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Obtains a list of all toplevel windows known to GDK on the screen <parameter>screen</parameter>.
A toplevel window is a child of the root window (see
<link linkend="gdk-get-default-root-window"><function>gdk_get_default_root_window()</function></link>).
</para>
<para>
The returned list should be freed with <link linkend="g-list-free"><function>g_list_free()</function></link>, but
its elements need not be freed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GdkScreen"><type>GdkScreen</type></link> where the toplevels are located.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> list of toplevel windows, free with <link linkend="g-list-free"><function>g_list_free()</function></link>

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-make-display-name" role="function" condition="since:2.2">
<title>gdk_screen_make_display_name ()</title>
<indexterm zone="gdk-screen-make-display-name" role="2.2"><primary sortas="screen_make_display_name">gdk_screen_make_display_name</primary></indexterm><programlisting><link linkend="gchar">gchar</link> *             gdk_screen_make_display_name        (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Determines the name to pass to <link linkend="gdk-display-open"><function>gdk_display_open()</function></link> to get
a <link linkend="GdkDisplay"><type>GdkDisplay</type></link> with this screen as the default screen.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a newly allocated string, free with <link linkend="g-free"><function>g_free()</function></link>

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-n-monitors" role="function" condition="since:2.2">
<title>gdk_screen_get_n_monitors ()</title>
<indexterm zone="gdk-screen-get-n-monitors" role="2.2"><primary sortas="screen_get_n_monitors">gdk_screen_get_n_monitors</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_n_monitors           (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Returns the number of monitors which <parameter>screen</parameter> consists of.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> number of monitors which <parameter>screen</parameter> consists of.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-monitor-geometry" role="function" condition="since:2.2">
<title>gdk_screen_get_monitor_geometry ()</title>
<indexterm zone="gdk-screen-get-monitor-geometry" role="2.2"><primary sortas="screen_get_monitor_geometry">gdk_screen_get_monitor_geometry</primary></indexterm><programlisting><link linkend="void">void</link>                gdk_screen_get_monitor_geometry     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *dest);</programlisting>
<para>
Retrieves the <link linkend="GdkRectangle"><type>GdkRectangle</type></link> representing the size and position of 
the individual monitor within the entire screen area.
</para>
<para>
Note that the size of the entire screen area can be retrieved via 
<link linkend="gdk-screen-get-width"><function>gdk_screen_get_width()</function></link> and <link linkend="gdk-screen-get-height"><function>gdk_screen_get_height()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>monitor_num</parameter>&#160;:</term>
<listitem><simpara> the monitor number. 
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dest</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkRectangle"><type>GdkRectangle</type></link> to be filled with the monitor geometry
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-monitor-at-point" role="function" condition="since:2.2">
<title>gdk_screen_get_monitor_at_point ()</title>
<indexterm zone="gdk-screen-get-monitor-at-point" role="2.2"><primary sortas="screen_get_monitor_at_point">gdk_screen_get_monitor_at_point</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_monitor_at_point     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> x,
                                                         <link linkend="gint">gint</link> y);</programlisting>
<para>
Returns the monitor number in which the point (<parameter>x</parameter>,<parameter>y</parameter>) is located.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&#160;:</term>
<listitem><simpara> the x coordinate in the virtual screen.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&#160;:</term>
<listitem><simpara> the y coordinate in the virtual screen.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the monitor number in which the point (<parameter>x</parameter>,<parameter>y</parameter>) lies, or
  a monitor close to (<parameter>x</parameter>,<parameter>y</parameter>) if the point is not in any monitor.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-monitor-at-window" role="function" condition="since:2.2">
<title>gdk_screen_get_monitor_at_window ()</title>
<indexterm zone="gdk-screen-get-monitor-at-window" role="2.2"><primary sortas="screen_get_monitor_at_window">gdk_screen_get_monitor_at_window</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_monitor_at_window    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="GdkWindow">GdkWindow</link> *window);</programlisting>
<para>
Returns the number of the monitor in which the largest area of the 
bounding rectangle of <parameter>window</parameter> resides.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>window</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkWindow"><type>GdkWindow</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the monitor number in which most of <parameter>window</parameter> is located,
          or if <parameter>window</parameter> does not intersect any monitors, a monitor,
          close to <parameter>window</parameter>.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-monitor-height-mm" role="function" condition="since:2.14">
<title>gdk_screen_get_monitor_height_mm ()</title>
<indexterm zone="gdk-screen-get-monitor-height-mm" role="2.14"><primary sortas="screen_get_monitor_height_mm">gdk_screen_get_monitor_height_mm</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_monitor_height_mm    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num);</programlisting>
<para>
Gets the height in millimeters of the specified monitor.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>monitor_num</parameter>&#160;:</term>
<listitem><simpara> number of the monitor
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the height of the monitor, or -1 if not available

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.14</para></refsect2>
<refsect2 id="gdk-screen-get-monitor-width-mm" role="function" condition="since:2.14">
<title>gdk_screen_get_monitor_width_mm ()</title>
<indexterm zone="gdk-screen-get-monitor-width-mm" role="2.14"><primary sortas="screen_get_monitor_width_mm">gdk_screen_get_monitor_width_mm</primary></indexterm><programlisting><link linkend="gint">gint</link>                gdk_screen_get_monitor_width_mm     (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num);</programlisting>
<para>
Gets the width in millimeters of the specified monitor, if available.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>monitor_num</parameter>&#160;:</term>
<listitem><simpara> number of the monitor
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>the width of the monitor, or -1 if not available

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.14</para></refsect2>
<refsect2 id="gdk-screen-get-monitor-plug-name" role="function" condition="since:2.14">
<title>gdk_screen_get_monitor_plug_name ()</title>
<indexterm zone="gdk-screen-get-monitor-plug-name" role="2.14"><primary sortas="screen_get_monitor_plug_name">gdk_screen_get_monitor_plug_name</primary></indexterm><programlisting><link linkend="gchar">gchar</link> *             gdk_screen_get_monitor_plug_name    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gint">gint</link> monitor_num);</programlisting>
<para>
Returns the output name of the specified monitor. 
Usually something like VGA, DVI, or TV, not the actual
product name of the display device.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>monitor_num</parameter>&#160;:</term>
<listitem><simpara> number of the monitor
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a newly-allocated string containing the name of the monitor,
  or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the name cannot be determined

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.14</para></refsect2>
<refsect2 id="gdk-screen-broadcast-client-message" role="function" condition="since:2.2">
<title>gdk_screen_broadcast_client_message ()</title>
<indexterm zone="gdk-screen-broadcast-client-message" role="2.2"><primary sortas="screen_broadcast_client_message">gdk_screen_broadcast_client_message</primary></indexterm><programlisting><link linkend="void">void</link>                gdk_screen_broadcast_client_message (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="GdkEvent">GdkEvent</link> *event);</programlisting>
<para>
On X11, sends an X ClientMessage event to all toplevel windows on
<parameter>screen</parameter>. 
</para>
<para>
Toplevel windows are determined by checking for the WM_STATE property, 
as described in the Inter-Client Communication Conventions Manual (ICCCM).
If no windows are found with the WM_STATE property set, the message is 
sent to all children of the root window.
</para>
<para>
On Windows, broadcasts a message registered with the name
GDK_WIN32_CLIENT_MESSAGE to all top-level windows. The amount of
data is limited to one long, i.e. four bytes.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GdkScreen"><type>GdkScreen</type></link> where the event will be broadcasted.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GdkEvent"><type>GdkEvent</type></link>.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-setting" role="function" condition="since:2.2">
<title>gdk_screen_get_setting ()</title>
<indexterm zone="gdk-screen-get-setting" role="2.2"><primary sortas="screen_get_setting">gdk_screen_get_setting</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gdk_screen_get_setting              (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *name,
                                                         <link linkend="GValue">GValue</link> *value);</programlisting>
<para>
Retrieves a desktop-wide setting such as double-click time
for the <link linkend="GdkScreen"><type>GdkScreen</type></link> <parameter>screen</parameter>. 
</para>
<para>
FIXME needs a list of valid settings here, or a link to 
more information.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GdkScreen"><type>GdkScreen</type></link> where the setting is located
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&#160;:</term>
<listitem><simpara> the name of the setting
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&#160;:</term>
<listitem><simpara> location to store the value of the setting
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the setting existed and a value was stored
  in <parameter>value</parameter>, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gdk-screen-get-font-options" role="function" condition="since:2.10">
<title>gdk_screen_get_font_options ()</title>
<indexterm zone="gdk-screen-get-font-options" role="2.10"><primary sortas="screen_get_font_options">gdk_screen_get_font_options</primary></indexterm><programlisting>const <link linkend="cairo-font-options-t">cairo_font_options_t</link> * gdk_screen_get_font_options
                                                        (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets any options previously set with <link linkend="gdk-screen-set-font-options"><function>gdk_screen_set_font_options()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the current font options, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if no default
 font options have been set.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gdk-screen-set-font-options" role="function" condition="since:2.10">
<title>gdk_screen_set_font_options ()</title>
<indexterm zone="gdk-screen-set-font-options" role="2.10"><primary sortas="screen_set_font_options">gdk_screen_set_font_options</primary></indexterm><programlisting><link linkend="void">void</link>                gdk_screen_set_font_options         (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="cairo-font-options-t">cairo_font_options_t</link> *options);</programlisting>
<para>
Sets the default font options for the screen. These
options will be set on any <link linkend="PangoContext"><type>PangoContext</type></link>'s newly created
with <link linkend="gdk-pango-context-get-for-screen"><function>gdk_pango_context_get_for_screen()</function></link>. Changing the
default set of font options does not affect contexts that
have already been created.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>options</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="cairo-font-options-t"><type>cairo_font_options_t</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to unset any
  previously set default font options.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gdk-screen-get-resolution" role="function" condition="since:2.10">
<title>gdk_screen_get_resolution ()</title>
<indexterm zone="gdk-screen-get-resolution" role="2.10"><primary sortas="screen_get_resolution">gdk_screen_get_resolution</primary></indexterm><programlisting><link linkend="gdouble">gdouble</link>             gdk_screen_get_resolution           (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Gets the resolution for font handling on the screen; see
<link linkend="gdk-screen-set-resolution"><function>gdk_screen_set_resolution()</function></link> for full details.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the current resolution, or -1 if no resolution
has been set.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gdk-screen-set-resolution" role="function" condition="since:2.10">
<title>gdk_screen_set_resolution ()</title>
<indexterm zone="gdk-screen-set-resolution" role="2.10"><primary sortas="screen_set_resolution">gdk_screen_set_resolution</primary></indexterm><programlisting><link linkend="void">void</link>                gdk_screen_set_resolution           (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         <link linkend="gdouble">gdouble</link> dpi);</programlisting>
<para>
Sets the resolution for font handling on the screen. This is a
scale factor between points specified in a <link linkend="PangoFontDescription"><type>PangoFontDescription</type></link>
and cairo units. The default value is 96, meaning that a 10 point
font will be 13 units high. (10 * 96. / 72. = 13.3).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dpi</parameter>&#160;:</term>
<listitem><simpara> the resolution in "dots per inch". (Physical inches aren't actually
  involved; the terminology is conventional.)
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gdk-screen-get-active-window" role="function" condition="since:2.10">
<title>gdk_screen_get_active_window ()</title>
<indexterm zone="gdk-screen-get-active-window" role="2.10"><primary sortas="screen_get_active_window">gdk_screen_get_active_window</primary></indexterm><programlisting><link linkend="GdkWindow">GdkWindow</link> *         gdk_screen_get_active_window        (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Returns the screen's currently active window.
</para>
<para>
On X11, this is done by inspecting the _NET_ACTIVE_WINDOW property
on the root window, as described in the <ulink
url="http://www.freedesktop.org/Standards/wm-spec">Extended Window
Manager Hints</ulink>. If there is no currently currently active
window, or the window manager does not support the
_NET_ACTIVE_WINDOW hint, this function returns <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</para>
<para>
On other platforms, this function may return <link linkend="NULL--CAPS"><literal>NULL</literal></link>, depending on whether
it is implementable on that platform.
</para>
<para>
The returned window should be unrefed using <link linkend="g-object-unref"><function>g_object_unref()</function></link> when
no longer needed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the currently active window, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gdk-screen-get-window-stack" role="function" condition="since:2.10">
<title>gdk_screen_get_window_stack ()</title>
<indexterm zone="gdk-screen-get-window-stack" role="2.10"><primary sortas="screen_get_window_stack">gdk_screen_get_window_stack</primary></indexterm><programlisting><link linkend="GList">GList</link> *             gdk_screen_get_window_stack         (<link linkend="GdkScreen">GdkScreen</link> *screen);</programlisting>
<para>
Returns a <link linkend="GList"><type>GList</type></link> of <link linkend="GdkWindow"><type>GdkWindow</type></link><!-- -->s representing the current
window stack.
</para>
<para>
On X11, this is done by inspecting the _NET_CLIENT_LIST_STACKING
property on the root window, as described in the <ulink
url="http://www.freedesktop.org/Standards/wm-spec">Extended Window
Manager Hints</ulink>. If the window manager does not support the
_NET_CLIENT_LIST_STACKING hint, this function returns <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</para>
<para>
On other platforms, this function may return <link linkend="NULL--CAPS"><literal>NULL</literal></link>, depending on whether
it is implementable on that platform.
</para>
<para>
The returned list is newly allocated and owns references to the
windows it contains, so it should be freed using <link linkend="g-list-free"><function>g_list_free()</function></link> and
its windows unrefed using <link linkend="g-object-unref"><function>g_object_unref()</function></link> when no longer needed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a list of <link linkend="GdkWindow"><type>GdkWindow</type></link><!-- -->s for the current window stack,
              or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gdk-spawn-on-screen" role="function" condition="since:2.4">
<title>gdk_spawn_on_screen ()</title>
<indexterm zone="gdk-spawn-on-screen" role="2.4"><primary sortas="spawn_on_screen">gdk_spawn_on_screen</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gdk_spawn_on_screen                 (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *working_directory,
                                                         <link linkend="gchar">gchar</link> **argv,
                                                         <link linkend="gchar">gchar</link> **envp,
                                                         <link linkend="GSpawnFlags">GSpawnFlags</link> flags,
                                                         <link linkend="GSpawnChildSetupFunc">GSpawnChildSetupFunc</link> child_setup,
                                                         <link linkend="gpointer">gpointer</link> user_data,
                                                         <link linkend="gint">gint</link> *child_pid,
                                                         <link linkend="GError">GError</link> **error);</programlisting>
<para>
Like <link linkend="g-spawn-async"><function>g_spawn_async()</function></link>, except the child process is spawned in such
an environment that on calling <link linkend="gdk-display-open"><function>gdk_display_open()</function></link> it would be
returned a <link linkend="GdkDisplay"><type>GdkDisplay</type></link> with <parameter>screen</parameter> as the default screen.
</para>
<para>
This is useful for applications which wish to launch an application
on a specific screen.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>working_directory</parameter>&#160;:</term>
<listitem><simpara> child's current working directory, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to 
  inherit parent's
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>argv</parameter>&#160;:</term>
<listitem><simpara> child's argument vector
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>envp</parameter>&#160;:</term>
<listitem><simpara> child's environment, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to inherit parent's
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>flags</parameter>&#160;:</term>
<listitem><simpara> flags from <link linkend="GSpawnFlags"><type>GSpawnFlags</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child_setup</parameter>&#160;:</term>
<listitem><simpara> function to run in the child just before <link linkend="exec"><function>exec()</function></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara> user data for <parameter>child_setup</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child_pid</parameter>&#160;:</term>
<listitem><simpara> return location for child process ID, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter>&#160;:</term>
<listitem><simpara> return location for error
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> if error is set

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.4</para></refsect2>
<refsect2 id="gdk-spawn-on-screen-with-pipes" role="function" condition="since:2.4">
<title>gdk_spawn_on_screen_with_pipes ()</title>
<indexterm zone="gdk-spawn-on-screen-with-pipes" role="2.4"><primary sortas="spawn_on_screen_with_pipes">gdk_spawn_on_screen_with_pipes</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gdk_spawn_on_screen_with_pipes      (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *working_directory,
                                                         <link linkend="gchar">gchar</link> **argv,
                                                         <link linkend="gchar">gchar</link> **envp,
                                                         <link linkend="GSpawnFlags">GSpawnFlags</link> flags,
                                                         <link linkend="GSpawnChildSetupFunc">GSpawnChildSetupFunc</link> child_setup,
                                                         <link linkend="gpointer">gpointer</link> user_data,
                                                         <link linkend="gint">gint</link> *child_pid,
                                                         <link linkend="gint">gint</link> *standard_input,
                                                         <link linkend="gint">gint</link> *standard_output,
                                                         <link linkend="gint">gint</link> *standard_error,
                                                         <link linkend="GError">GError</link> **error);</programlisting>
<para>
Like <link linkend="g-spawn-async-with-pipes"><function>g_spawn_async_with_pipes()</function></link>, except the child process is
spawned in such an environment that on calling <link linkend="gdk-display-open"><function>gdk_display_open()</function></link>
it would be returned a <link linkend="GdkDisplay"><type>GdkDisplay</type></link> with <parameter>screen</parameter> as the default
screen.
</para>
<para>
This is useful for applications which wish to launch an application
on a specific screen.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>working_directory</parameter>&#160;:</term>
<listitem><simpara> child's current working directory, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to 
  inherit parent's
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>argv</parameter>&#160;:</term>
<listitem><simpara> child's argument vector
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>envp</parameter>&#160;:</term>
<listitem><simpara> child's environment, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to inherit parent's
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>flags</parameter>&#160;:</term>
<listitem><simpara> flags from <link linkend="GSpawnFlags"><type>GSpawnFlags</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child_setup</parameter>&#160;:</term>
<listitem><simpara> function to run in the child just before <link linkend="exec"><function>exec()</function></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara> user data for <parameter>child_setup</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>child_pid</parameter>&#160;:</term>
<listitem><simpara> return location for child process ID, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>standard_input</parameter>&#160;:</term>
<listitem><simpara> return location for file descriptor to write to 
  child's stdin, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>standard_output</parameter>&#160;:</term>
<listitem><simpara> return location for file descriptor to read child's 
  stdout, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>standard_error</parameter>&#160;:</term>
<listitem><simpara> return location for file descriptor to read child's 
  stderr, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter>&#160;:</term>
<listitem><simpara> return location for error
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> if an error was set

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.4</para></refsect2>
<refsect2 id="gdk-spawn-command-line-on-screen" role="function" condition="since:2.4">
<title>gdk_spawn_command_line_on_screen ()</title>
<indexterm zone="gdk-spawn-command-line-on-screen" role="2.4"><primary sortas="spawn_command_line_on_screen">gdk_spawn_command_line_on_screen</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gdk_spawn_command_line_on_screen    (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                         const <link linkend="gchar">gchar</link> *command_line,
                                                         <link linkend="GError">GError</link> **error);</programlisting>
<para>
Like <link linkend="g-spawn-command-line-async"><function>g_spawn_command_line_async()</function></link>, except the child process is
spawned in such an environment that on calling <link linkend="gdk-display-open"><function>gdk_display_open()</function></link>
it would be returned a <link linkend="GdkDisplay"><type>GdkDisplay</type></link> with <parameter>screen</parameter> as the default
screen.
</para>
<para>
This is useful for applications which wish to launch an application
on a specific screen.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GdkScreen"><type>GdkScreen</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>command_line</parameter>&#160;:</term>
<listitem><simpara> a command line
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>error</parameter>&#160;:</term>
<listitem><simpara> return location for errors
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> on success, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> if error is set.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.4</para></refsect2>

</refsect1>
<refsect1 id="GdkScreen.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GdkScreen--font-options" role="property"><title>The <literal>&quot;font-options&quot;</literal> property</title>
<indexterm zone="GdkScreen--font-options"><primary sortas="Screen:font-options">GdkScreen:font-options</primary></indexterm><programlisting>  &quot;font-options&quot;             <link linkend="gpointer">gpointer</link>              : Read / Write</programlisting>
<para>The default font options for the screen.</para></refsect2>
<refsect2 id="GdkScreen--resolution" role="property"><title>The <literal>&quot;resolution&quot;</literal> property</title>
<indexterm zone="GdkScreen--resolution"><primary sortas="Screen:resolution">GdkScreen:resolution</primary></indexterm><programlisting>  &quot;resolution&quot;               <link linkend="gdouble">gdouble</link>               : Read / Write</programlisting>
<para>The resolution for fonts on the screen.</para><para>Default value: -1</para>
</refsect2>
</refsect1>

<refsect1 id="GdkScreen.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GdkScreen-composited-changed" role="signal"><title>The <literal>&quot;composited-changed&quot;</literal> signal</title>
<indexterm zone="GdkScreen-composited-changed" role="2.10"><primary sortas="Screen::composited-changed">GdkScreen::composited-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::composited-changed signal is emitted when the composited
status of the screen changes</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist><para>Since 2.10</para></refsect2><refsect2 id="GdkScreen-monitors-changed" role="signal"><title>The <literal>&quot;monitors-changed&quot;</literal> signal</title>
<indexterm zone="GdkScreen-monitors-changed" role="2.14"><primary sortas="Screen::monitors-changed">GdkScreen::monitors-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::monitors-changed signal is emitted when the number, size
or position of the monitors attached to the screen change.
</para>
<para>
Only for X for now. Future implementations for Win32 and
OS X may be a possibility.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist><para>Since 2.14</para></refsect2><refsect2 id="GdkScreen-size-changed" role="signal"><title>The <literal>&quot;size-changed&quot;</literal> signal</title>
<indexterm zone="GdkScreen-size-changed" role="2.2"><primary sortas="Screen::size-changed">GdkScreen::size-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GdkScreen">GdkScreen</link> *screen,
                                                        <link linkend="gpointer">gpointer</link>   user_data)      : Run Last</programlisting>
<para>
The ::size-changed signal is emitted when the pixel width or 
height of a screen changes.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>screen</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist><para>Since 2.2</para></refsect2>
</refsect1>



</refentry>
