doc/Makefile: do not run makeinfo when only style.css changes
[cl-gtk2.git] / doc / gdk.ref.texi
1 @menu
2 * Screens and displays::
3 * Gdk Objects::
4 * Gdk Structs::
5 * Gdk Enums::
6 * Gdk Flags::
7 @end menu
8
9 @node Screens and displays
10 @section Screens and displays
11
12 @menu
13 * display::
14 * screen::
15 @end menu
16
17 Multihead support is based around two main object types:
18 @itemize
19 @item @ref{display}
20 @item @ref{screen}
21 @end itemize
22
23 @ref{display} objects are the GDK representation of the X Display which
24 can be described as a workstation consisting of a keyboard a pointing
25 device (such as a mouse) and one or more screens. It is used to open and
26 keep track of various GdkScreen objects currently instanciated by the
27 application. It is also used to grab and release the keyboard and the
28 mouse pointer.
29
30 @ref{screen} objects are the GDK representation of a physical screen. It
31 is used throughout GDK and GTK+ to specify which screen the top level
32 windows are to be displayed on. It is also used to query the screen
33 specification and default settings such as the default colormap
34 (@code{screen-default-colormap}), the screen width
35 (@code{screen-width}), etc.
36
37 The following code samples demonstrate common usage of the objects
38 described above.
39
40 Testing the number of screen on the current display:
41 @lisp
42 (use-package :gdk)
43
44 (defvar *display* (default-display))
45
46 (display-name *display*) @result{} ":0.0"
47
48 (display-n-screens *display*) @result{} 1
49 @end lisp
50
51 Opening a second display:
52 (TODO)
53 @lisp
54 /* screen2_name needs to be initialized before calling 
55 /* gdk_display_new() */
56 second_display = gdk_display_new (&argc, &argv, second_screen_name);
57 if (second_display)
58     second_screen = gdk_display_get_default_screen (second_display);
59 else 
60   @{
61         g_print ("Can't open display :\n\t%s\n\n",
62                   second_screen_name);
63     exit (1);   
64   @}
65 /* now GdkScreen can be assigned to GtkWindows */
66
67 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
68 gtk_window_set_screen (window, second_screen);
69 @end lisp
70
71 @node display
72 @subsection display
73
74 @menu
75 * display-name::
76 * display-n-screens::
77 * display-default-screen::
78 @end menu
79
80 @Class display
81 @Superclass g-object
82
83 @ref{display} controls the keyboard/mouse pointer grabs and a set of @ref{screen}s.
84
85 @ref{display} objects purpose are two fold:
86
87 @itemize
88 @item To grab/ungrab keyboard focus and mouse pointer
89 @item To manage and provide information about the @ref{screen}(s) available for this @ref{display}
90 @end itemize
91
92 @ref{display} objects are the GDK representation of the X Display which
93 can be described as a workstation consisting of a keyboard a pointing
94 device (such as a mouse) and one or more screens. It is used to open and
95 keep track of various @ref{screen} objects currently instanciated by the
96 application. It is also used to grab and release the keyboard and the
97 mouse pointer.
98
99 @node display-name
100 @subsubsection display-name
101 @TypedAccessor {display-name, display, @code{string}}
102 The name of a @var{display} (e.g. @code{":0.0"})
103
104 @node display-n-screens
105 @subsubsection display-n-screens
106 @TypedAccessor {display-n-screens, display, @code{integer}}
107 The number of screen managed by the @var{display}.
108
109 @node display-default-screen
110 @subsubsection display-default-screens
111 @TypedAccessor {display-default-screen, display, @code{screen}}
112 The default screen of the @var{display}.
113
114 @node screen
115 @subsection screen
116
117 @Class screen
118 @Superclass g-object
119
120 @node Gdk Objects
121 @section Gdk Objects
122
123 @lowersections
124 @include gdk.objects.texi
125 @raisesections
126
127 @node Gdk Structs
128 @section Gdk Structs
129
130 @lowersections
131 @include gdk.structs.texi
132 @raisesections
133
134 @node Gdk Enums
135 @section Gdk Enums
136
137 @lowersections
138 @include gdk.enums.texi
139 @raisesections
140
141 @node Gdk Flags
142 @section Gdk Flags
143
144 @lowersections
145 @include gdk.flags.texi
146 @raisesections