|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
<html>
|
|
Packit Service |
fb6fa5 |
<head>
|
|
Packit Service |
fb6fa5 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit Service |
fb6fa5 |
<title>Multi-head Support Overview: GDK 2 Reference Manual</title>
|
|
Packit Service |
fb6fa5 |
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
|
Packit Service |
fb6fa5 |
<link rel="home" href="index.html" title="GDK 2 Reference Manual">
|
|
Packit Service |
fb6fa5 |
<link rel="up" href="reference.html" title="API Reference">
|
|
Packit Service |
fb6fa5 |
<link rel="prev" href="gdk2-General.html" title="General">
|
|
Packit Service |
fb6fa5 |
<link rel="next" href="GdkDisplay.html" title="GdkDisplay">
|
|
Packit Service |
fb6fa5 |
<meta name="generator" content="GTK-Doc V1.26.1 (XML mode)">
|
|
Packit Service |
fb6fa5 |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit Service |
fb6fa5 |
</head>
|
|
Packit Service |
fb6fa5 |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
Multi-head Support Overview
|
|
Packit Service |
fb6fa5 |
Multi-head Support Overview — Overview of GdkDisplay and GdkScreen
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
Overview
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
Multihead support is based around two main object types:
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
GdkDisplay
|
|
Packit Service |
fb6fa5 |
GdkScreen
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
GdkDisplay objects are the GDK
|
|
Packit Service |
fb6fa5 |
representation of the X Display which can be described as a
|
|
Packit Service |
fb6fa5 |
workstation consisting of a keyboard a pointing device (such as a
|
|
Packit Service |
fb6fa5 |
mouse) and one or more screens.
|
|
Packit Service |
fb6fa5 |
It is used to open and keep track of various GdkScreen objects currently
|
|
Packit Service |
fb6fa5 |
instanciated by the application. It is also used to grab and release
|
|
Packit Service |
fb6fa5 |
the keyboard and the mouse pointer.
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
GdkScreen objects are the GDK
|
|
Packit Service |
fb6fa5 |
representation of a physical screen. It is used throughout GDK and GTK+
|
|
Packit Service |
fb6fa5 |
to specify which screen the top level windows are to be displayed on.
|
|
Packit Service |
fb6fa5 |
It is also used to query the screen specification and default settings such as
|
|
Packit Service |
fb6fa5 |
the default colormap (gdk_screen_get_default_colormap()),
|
|
Packit Service |
fb6fa5 |
the screen width (gdk_screen_get_width()), etc.
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
The following code samples demonstrate common usage of the objects described above.
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
Example 1. Testing the number of screen on the current display
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
1
|
|
Packit Service |
fb6fa5 |
2
|
|
Packit Service |
fb6fa5 |
3
|
|
Packit Service |
fb6fa5 |
4
|
|
Packit Service |
fb6fa5 |
5
|
|
Packit Service |
fb6fa5 |
6
|
|
Packit Service |
fb6fa5 |
7
|
|
Packit Service |
fb6fa5 |
8
|
|
Packit Service |
fb6fa5 |
9
|
|
Packit Service |
fb6fa5 |
10
|
|
Packit Service |
fb6fa5 |
11
|
|
Packit Service |
fb6fa5 |
12
|
|
Packit Service |
fb6fa5 |
13
|
|
Packit Service |
fb6fa5 |
14
|
|
Packit Service |
fb6fa5 |
15
|
|
Packit Service |
fb6fa5 |
16
|
|
Packit Service |
fb6fa5 |
17
|
|
Packit Service |
fb6fa5 |
18
|
|
Packit Service |
fb6fa5 |
19
|
|
Packit Service |
fb6fa5 |
20
|
|
Packit Service |
fb6fa5 |
21
|
|
Packit Service |
fb6fa5 |
gint num_screen = 0;
|
|
Packit Service |
fb6fa5 |
gchar *displayname = NULL;
|
|
Packit Service |
fb6fa5 |
GdkScreen **screen_list;
|
|
Packit Service |
fb6fa5 |
GdkDisplay *display;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
gtk_init (&argc, &argv);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
display = gdk_display_get_default ();
|
|
Packit Service |
fb6fa5 |
num_screen = gdk_display_get_n_screens (display);
|
|
Packit Service |
fb6fa5 |
displayname = gdk_display_get_name (display);
|
|
Packit Service |
fb6fa5 |
if (num_screen <= 1)
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
printf ("This Xserver (%s) manages only one screen. exiting...\n",
|
|
Packit Service |
fb6fa5 |
displayname);
|
|
Packit Service |
fb6fa5 |
exit (1);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
else
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
printf ("This Xserver (%s) manages %d screens.\n", displayname,
|
|
Packit Service |
fb6fa5 |
num_screen);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
Example 2. Opening a second display
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
1
|
|
Packit Service |
fb6fa5 |
2
|
|
Packit Service |
fb6fa5 |
3
|
|
Packit Service |
fb6fa5 |
4
|
|
Packit Service |
fb6fa5 |
5
|
|
Packit Service |
fb6fa5 |
6
|
|
Packit Service |
fb6fa5 |
7
|
|
Packit Service |
fb6fa5 |
8
|
|
Packit Service |
fb6fa5 |
9
|
|
Packit Service |
fb6fa5 |
10
|
|
Packit Service |
fb6fa5 |
11
|
|
Packit Service |
fb6fa5 |
12
|
|
Packit Service |
fb6fa5 |
13
|
|
Packit Service |
fb6fa5 |
14
|
|
Packit Service |
fb6fa5 |
15
|
|
Packit Service |
fb6fa5 |
16
|
|
Packit Service |
fb6fa5 |
17
|
|
Packit Service |
fb6fa5 |
18
|
|
Packit Service |
fb6fa5 |
19
|
|
Packit Service |
fb6fa5 |
20
|
|
Packit Service |
fb6fa5 |
21
|
|
Packit Service |
fb6fa5 |
22
|
|
Packit Service |
fb6fa5 |
gchar *second_screen_name;
|
|
Packit Service |
fb6fa5 |
GdkDisplay *second_display;
|
|
Packit Service |
fb6fa5 |
GdkScreen *second_screen;
|
|
Packit Service |
fb6fa5 |
GtkWidget *window;
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
gtk_init (&argc, &argv);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
second_display = gdk_display_new (&argc, &argv, second_screen_name);
|
|
Packit Service |
fb6fa5 |
if (second_display)
|
|
Packit Service |
fb6fa5 |
second_screen = gdk_display_get_default_screen (second_display);
|
|
Packit Service |
fb6fa5 |
else
|
|
Packit Service |
fb6fa5 |
{
|
|
Packit Service |
fb6fa5 |
g_print ("Can't open display :\n\t%s\n\n",
|
|
Packit Service |
fb6fa5 |
second_screen_name);
|
|
Packit Service |
fb6fa5 |
exit (1);
|
|
Packit Service |
fb6fa5 |
}
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
Packit Service |
fb6fa5 |
gtk_window_set_screen (window, second_screen);
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
See Also
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
GdkDisplay
|
|
Packit Service |
fb6fa5 |
the GDK Object used to represent and manipulate display
|
|
Packit Service |
fb6fa5 |
related data
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
GdkScreen
|
|
Packit Service |
fb6fa5 |
the GDK Object used to represent and query screen related
|
|
Packit Service |
fb6fa5 |
data
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
|
|
Packit Service |
fb6fa5 |
Generated by GTK-Doc V1.26.1
|
|
Packit Service |
fb6fa5 |
</body>
|
|
Packit Service |
fb6fa5 |
</html>
|