eb13027b5bfe11f99dffc8055e55c29d3689e283
[platform/upstream/libX11.git] / man / XAllocIconSize.man
1 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
2 .\"
3 .\" Permission is hereby granted, free of charge, to any person obtaining
4 .\" a copy of this software and associated documentation files (the
5 .\" "Software"), to deal in the Software without restriction, including
6 .\" without limitation the rights to use, copy, modify, merge, publish,
7 .\" distribute, sublicense, and/or sell copies of the Software, and to
8 .\" permit persons to whom the Software is furnished to do so, subject to
9 .\" the following conditions:
10 .\"
11 .\" The above copyright notice and this permission notice shall be included
12 .\" in all copies or substantial portions of the Software.
13 .\"
14 .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 .\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 .\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 .\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 .\" OTHER DEALINGS IN THE SOFTWARE.
21 .\"
22 .\" Except as contained in this notice, the name of the X Consortium shall
23 .\" not be used in advertising or otherwise to promote the sale, use or
24 .\" other dealings in this Software without prior written authorization
25 .\" from the X Consortium.
26 .\"
27 .\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28 .\" Digital Equipment Corporation
29 .\"
30 .\" Portions Copyright \(co 1990, 1991 by
31 .\" Tektronix, Inc.
32 .\"
33 .\" Permission to use, copy, modify and distribute this documentation for
34 .\" any purpose and without fee is hereby granted, provided that the above
35 .\" copyright notice appears in all copies and that both that copyright notice
36 .\" and this permission notice appear in all copies, and that the names of
37 .\" Digital and Tektronix not be used in in advertising or publicity pertaining
38 .\" to this documentation without specific, written prior permission.
39 .\" Digital and Tektronix makes no representations about the suitability
40 .\" of this documentation for any purpose.
41 .\" It is provided ``as is'' without express or implied warranty.
42 .\" 
43 .\"
44 .ds xT X Toolkit Intrinsics \- C Language Interface
45 .ds xW Athena X Widgets \- C Language X Toolkit Interface
46 .ds xL Xlib \- C Language X Interface
47 .ds xC Inter-Client Communication Conventions Manual
48 .na
49 .de Ds
50 .nf
51 .\\$1D \\$2 \\$1
52 .ft 1
53 .\".ps \\n(PS
54 .\".if \\n(VS>=40 .vs \\n(VSu
55 .\".if \\n(VS<=39 .vs \\n(VSp
56 ..
57 .de De
58 .ce 0
59 .if \\n(BD .DF
60 .nr BD 0
61 .in \\n(OIu
62 .if \\n(TM .ls 2
63 .sp \\n(DDu
64 .fi
65 ..
66 .de FD
67 .LP
68 .KS
69 .TA .5i 3i
70 .ta .5i 3i
71 .nf
72 ..
73 .de FN
74 .fi
75 .KE
76 .LP
77 ..
78 .de IN          \" send an index entry to the stderr
79 ..
80 .de C{
81 .KS
82 .nf
83 .D
84 .\"
85 .\"     choose appropriate monospace font
86 .\"     the imagen conditional, 480,
87 .\"     may be changed to L if LB is too
88 .\"     heavy for your eyes...
89 .\"
90 .ie "\\*(.T"480" .ft L
91 .el .ie "\\*(.T"300" .ft L
92 .el .ie "\\*(.T"202" .ft PO
93 .el .ie "\\*(.T"aps" .ft CW
94 .el .ft R
95 .ps \\n(PS
96 .ie \\n(VS>40 .vs \\n(VSu
97 .el .vs \\n(VSp
98 ..
99 .de C}
100 .DE
101 .R
102 ..
103 .de Pn
104 .ie t \\$1\fB\^\\$2\^\fR\\$3
105 .el \\$1\fI\^\\$2\^\fP\\$3
106 ..
107 .de ZN
108 .ie t \fB\^\\$1\^\fR\\$2
109 .el \fI\^\\$1\^\fP\\$2
110 ..
111 .de hN
112 .ie t <\fB\\$1\fR>\\$2
113 .el <\fI\\$1\fP>\\$2
114 ..
115 .de NT
116 .ne 7
117 .ds NO Note
118 .if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
119 .if \\n(.$ .if !'\\$1'C' .ds NO \\$1
120 .ie n .sp
121 .el .sp 10p
122 .TB
123 .ce
124 \\*(NO
125 .ie n .sp
126 .el .sp 5p
127 .if '\\$1'C' .ce 99
128 .if '\\$2'C' .ce 99
129 .in +5n
130 .ll -5n
131 .R
132 ..
133 .               \" Note End -- doug kraft 3/85
134 .de NE
135 .ce 0
136 .in -5n
137 .ll +5n
138 .ie n .sp
139 .el .sp 10p
140 ..
141 .ny0
142 .TH XAllocIconSize __libmansuffix__ __xorgversion__ "XLIB FUNCTIONS"
143 .SH NAME
144 XAllocIconSize, XSetIconSizes, XGetIconSizes, XIconSize \- allocate icon size structure and set or read a window's WM_ICON_SIZES property
145 .SH SYNTAX
146 XIconSize *XAllocIconSize\^(void\^);
147 .LP
148 int XSetIconSizes\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XIconSize
149 *\fIsize_list\fP, int \fIcount\fP\^);
150 .LP
151 Status XGetIconSizes\^(\^Display *\fIdisplay\fP, Window \fIw\fP, XIconSize
152 **\fIsize_list_return\fP, int \fIcount_return\fP\^);
153 .SH ARGUMENTS
154 .IP \fIdisplay\fP 1i
155 Specifies the connection to the X server.
156 .IP \fIcount\fP 1i
157 Specifies the number of items in the size list.
158 .IP \fIcount_return\fP 1i
159 Returns the number of items in the size list.
160 .IP \fIsize_list\fP 1i
161 Specifies the size list.
162 .IP \fIsize_list_return\fP 1i
163 Returns the size list.
164 .IP \fIw\fP 1i
165 Specifies the window.
166 .SH DESCRIPTION
167 The
168 .ZN XAllocIconSize 
169 function allocates and returns a pointer to a
170 .ZN XIconSize 
171 structure.
172 Note that all fields in the
173 .ZN XIconSize
174 structure are initially set to zero.
175 If insufficient memory is available, 
176 .ZN XAllocIconSize
177 returns NULL.
178 To free the memory allocated to this structure,
179 use
180 .ZN XFree .
181 .LP
182 The
183 .ZN XSetIconSizes
184 function is used only by window managers to set the supported icon sizes.
185 .LP
186 .ZN XSetIconSizes
187 can generate
188 .ZN BadAlloc
189 and
190 .ZN BadWindow
191 errors.
192 .LP
193 The
194 .ZN XGetIconSizes
195 function returns zero if a window manager has not set icon sizes;
196 otherwise, it return nonzero.
197 .ZN XGetIconSizes
198 should be called by an application that
199 wants to find out what icon sizes would be most appreciated by the
200 window manager under which the application is running.
201 The application
202 should then use
203 .ZN XSetWMHints
204 to supply the window manager with an icon pixmap or window in one of the
205 supported sizes.
206 To free the data allocated in size_list_return, use
207 .ZN XFree .
208 .LP
209 .ZN XGetIconSizes
210 can generate a
211 .ZN BadWindow
212 error.
213 .SH PROPERTIES
214 .TP 1i
215 \s-1WM_ICON_SIZES\s+1
216 The window manager may set this property on the root window to
217 specify the icon sizes it supports.
218 The C type of this property is 
219 .ZN XIconSize .
220 .SH STRUCTURES
221 The
222 .ZN XIconSize
223 structure contains:
224 .LP
225 .IN "XIconSize" "" "@DEF@"
226 .Ds 0
227 .TA .5i 2.5i
228 .ta .5i 2.5i
229 typedef struct {
230         int min_width, min_height;
231         int max_width, max_height;
232         int width_inc, height_inc;
233 } XIconSize;
234 .De
235 .LP
236 The width_inc and height_inc members define an arithmetic progression of
237 sizes (minimum to maximum) that represent the supported icon sizes.
238 .SH DIAGNOSTICS
239 .TP 1i
240 .ZN BadAlloc
241 The server failed to allocate the requested resource or server memory.
242 .TP 1i
243 .ZN BadWindow
244 A value for a Window argument does not name a defined Window.
245 .SH "SEE ALSO"
246 XAllocClassHint(__libmansuffix__),
247 XAllocSizeHints(__libmansuffix__),
248 XAllocWMHints(__libmansuffix__),
249 XFree(__libmansuffix__),
250 XSetCommand(__libmansuffix__),
251 XSetTransientForHint(__libmansuffix__),
252 XSetTextProperty(__libmansuffix__),
253 XSetWMClientMachine(__libmansuffix__),
254 XSetWMColormapWindows(__libmansuffix__),
255 XSetWMIconName(__libmansuffix__),
256 XSetWMName(__libmansuffix__),
257 XSetWMProperties(__libmansuffix__),
258 XSetWMProtocols(__libmansuffix__),
259 XStringListToTextProperty(__libmansuffix__)
260 .br
261 \fI\*(xL\fP