~ubuntu-branches/ubuntu/wily/libx11/wily-proposed

« back to all changes in this revision

Viewing changes to specs/libX11/CH09

  • Committer: Bazaar Package Importer
  • Author(s): Timo Aaltonen
  • Date: 2011-02-24 12:02:14 UTC
  • mfrom: (1.1.12 upstream) (2.1.12 sid)
  • Revision ID: james.westby@ubuntu.com-20110224120214-a86d0lv48wk8itl6
Tags: 2:1.4.1-5ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Add Latin locale.
  - Add Klingon locale.
  - Add 102_double_arrows_Compose.patch: compose keys for double arrows
    (LP: 680143)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996, 2002 The Open Group
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 Open Group 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 Open Group.
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
 
.sp 1
45
 
.ce 3
46
 
\s+1\fBChapter 9\fP\s-1
47
 
 
48
 
\s+1\fBWindow and Session Manager Functions\fP\s-1
49
 
.sp 2
50
 
.nr H1 9
51
 
.nr H2 0
52
 
.nr H3 0
53
 
.nr H4 0
54
 
.nr H5 0
55
 
.na
56
 
.LP
57
 
.XS
58
 
Chapter 9: Window and Session Manager Functions 
59
 
.XE
60
 
Although it is difficult to categorize functions as exclusively
61
 
for an application, a window manager, or a session manager,
62
 
the functions in this chapter are most often used by window managers
63
 
and session managers.
64
 
It is not expected that these functions will be used by most 
65
 
application programs.
66
 
Xlib provides management functions to:
67
 
.IP \(bu 5
68
 
Change the parent of a window
69
 
.IP \(bu 5
70
 
Control the lifetime of a window
71
 
.IP \(bu 5
72
 
Manage installed colormaps
73
 
.IP \(bu 5
74
 
Set and retrieve the font search path
75
 
.IP \(bu 5
76
 
Grab the server
77
 
.IP \(bu 5
78
 
Kill a client
79
 
.IP \(bu 5
80
 
Control the screen saver
81
 
.IP \(bu 5
82
 
Control host access
83
 
.NH 2
84
 
Changing the Parent of a Window
85
 
.XS
86
 
\*(SN Changing the Parent of a Window 
87
 
.XE
88
 
.LP
89
 
To change a window's parent to another window on the same screen, use
90
 
.PN XReparentWindow .
91
 
There is no way to move a window between screens.
92
 
.IN "XReparentWindow" "" "@DEF@"
93
 
.sM
94
 
.FD 0
95
 
XReparentWindow\^(\^\fIdisplay\fP, \fIw\fP\^, \fIparent\fP\^, \fIx\fP\^, \fIy\fP\^)
96
 
.br
97
 
      Display *\fIdisplay\fP\^;
98
 
.br
99
 
      Window \fIw\fP\^;
100
 
.br
101
 
      Window \fIparent\fP\^;
102
 
.br
103
 
      int \fIx\fP\^, \fIy\fP\^;
104
 
.FN
105
 
.IP \fIdisplay\fP 1i
106
 
Specifies the connection to the X server.
107
 
.IP \fIw\fP 1i
108
 
Specifies the window.
109
 
.IP \fIparent\fP 1i
110
 
Specifies the parent window.
111
 
.ds Xy \ of the position in the new parent window
112
 
.IP \fIx\fP 1i
113
 
.br
114
 
.ns
115
 
.IP \fIy\fP 1i
116
 
Specify the x and y coordinates\*(Xy.
117
 
.LP
118
 
.eM
119
 
If the specified window is mapped,
120
 
.PN XReparentWindow
121
 
automatically performs an
122
 
.PN UnmapWindow
123
 
request on it, removes it from its current position in the hierarchy,
124
 
and inserts it as the child of the specified parent.
125
 
The window is placed in the stacking order on top with respect to
126
 
sibling windows.
127
 
.LP
128
 
After reparenting the specified window,
129
 
.PN XReparentWindow
130
 
causes the X server to generate a
131
 
.PN ReparentNotify
132
 
event.
133
 
The override_redirect member returned in this event is
134
 
set to the window's corresponding attribute.
135
 
Window manager clients usually should ignore this window if this member
136
 
is set to
137
 
.PN True .
138
 
Finally, if the specified window was originally mapped,
139
 
the X server automatically performs a
140
 
.PN MapWindow
141
 
request on it.
142
 
.LP
143
 
The X server performs normal exposure processing on formerly obscured
144
 
windows.
145
 
The X server might not generate 
146
 
.PN Expose 
147
 
events for regions from the initial
148
 
.PN UnmapWindow
149
 
request that are immediately obscured by the final
150
 
.PN MapWindow
151
 
request.
152
 
A
153
 
.PN BadMatch
154
 
error results if:
155
 
.IP \(bu 5
156
 
The new parent window is not on the same screen as
157
 
the old parent window.
158
 
.IP \(bu 5
159
 
The new parent window is the specified window or an inferior of the
160
 
specified window.
161
 
.IP \(bu 5
162
 
The new parent is
163
 
.PN InputOnly ,
164
 
and the window is not.
165
 
.IP \(bu 5
166
 
The specified window has a
167
 
.PN ParentRelative
168
 
background, and the new parent window is not the same depth as the
169
 
specified window.
170
 
.LP
171
 
.PN XReparentWindow
172
 
can generate
173
 
.PN BadMatch
174
 
and
175
 
.PN BadWindow 
176
 
errors.
177
 
.NH 2
178
 
Controlling the Lifetime of a Window
179
 
.XS
180
 
\*(SN Controlling the Lifetime of a Window 
181
 
.XE
182
 
.LP
183
 
The save-set of a client is a list of other clients' windows that,
184
 
if they are inferiors of one of the client's windows at connection close,
185
 
should not be destroyed and should be remapped if they are unmapped.
186
 
For further information about close-connection processing,
187
 
see section 2.6.
188
 
To allow an application's window to survive when a window manager that
189
 
has reparented a window fails,
190
 
Xlib provides the save-set functions that you can 
191
 
use to control the longevity of subwindows
192
 
that are normally destroyed when the parent is destroyed.
193
 
For example, a window manager that wants to add decoration
194
 
to a window by adding a frame might reparent an application's
195
 
window. 
196
 
When the frame is destroyed,
197
 
the application's window should not be destroyed 
198
 
but be returned to its previous place in the window hierarchy.
199
 
.LP
200
 
The X server automatically removes windows from the save-set
201
 
when they are destroyed.
202
 
.LP
203
 
.sp
204
 
To add or remove a window from the client's save-set, use
205
 
.PN XChangeSaveSet .
206
 
.IN "XChangeSaveSet" "" "@DEF@"
207
 
.sM
208
 
.FD 0
209
 
XChangeSaveSet\^(\^\fIdisplay\fP, \fIw\fP\^, \fIchange_mode\fP\^)
210
 
.br
211
 
      Display *\fIdisplay\fP\^;
212
 
.br
213
 
      Window \fIw\fP\^;
214
 
.br
215
 
      int \fIchange_mode\fP\^;
216
 
.FN
217
 
.IP \fIdisplay\fP 1i
218
 
Specifies the connection to the X server.
219
 
.ds Wi that you want to add to or delete from the client's save-set
220
 
.IP \fIw\fP 1i
221
 
Specifies the window \*(Wi.
222
 
.IP \fIchange_mode\fP 1i
223
 
Specifies the mode.
224
 
You can pass
225
 
.PN SetModeInsert 
226
 
or
227
 
.PN SetModeDelete .
228
 
.LP
229
 
.eM
230
 
Depending on the specified mode,
231
 
.PN XChangeSaveSet
232
 
either inserts or deletes the specified window from the client's save-set. 
233
 
The specified window must have been created by some other client,
234
 
or a
235
 
.PN BadMatch
236
 
error results.
237
 
.LP
238
 
.PN XChangeSaveSet
239
 
can generate
240
 
.PN BadMatch ,
241
 
.PN BadValue ,
242
 
and
243
 
.PN BadWindow 
244
 
errors.
245
 
.LP
246
 
.sp
247
 
To add a window to the client's save-set, use
248
 
.PN XAddToSaveSet .
249
 
.IN "XAddToSaveSet" "" "@DEF@"
250
 
.sM
251
 
.FD 0
252
 
XAddToSaveSet\^(\^\fIdisplay\fP, \fIw\fP\^)
253
 
.br
254
 
      Display *\fIdisplay\fP\^;
255
 
.br
256
 
      Window \fIw\fP\^;
257
 
.FN
258
 
.IP \fIdisplay\fP 1i
259
 
Specifies the connection to the X server.
260
 
.ds Wi that you want to add to the client's save-set
261
 
.IP \fIw\fP 1i
262
 
Specifies the window \*(Wi.
263
 
.LP
264
 
.eM
265
 
The
266
 
.PN XAddToSaveSet
267
 
function adds the specified window to the client's save-set.
268
 
The specified window must have been created by some other client,
269
 
or a
270
 
.PN BadMatch
271
 
error results.
272
 
.LP
273
 
.PN XAddToSaveSet
274
 
can generate
275
 
.PN BadMatch
276
 
and
277
 
.PN BadWindow 
278
 
errors.
279
 
.LP
280
 
.sp
281
 
To remove a window from the client's save-set, use
282
 
.PN XRemoveFromSaveSet .
283
 
.IN "XRemoveFromSaveSet" "" "@DEF@"
284
 
.sM
285
 
.FD 0
286
 
XRemoveFromSaveSet\^(\^\fIdisplay\fP, \fIw\fP\^)
287
 
.br
288
 
      Display *\fIdisplay\fP\^;
289
 
.br
290
 
      Window \fIw\fP\^;
291
 
.FN
292
 
.IP \fIdisplay\fP 1i
293
 
Specifies the connection to the X server.
294
 
.ds Wi that you want to delete from the client's save-set
295
 
.IP \fIw\fP 1i
296
 
Specifies the window \*(Wi.
297
 
.LP
298
 
.eM
299
 
The
300
 
.PN XRemoveFromSaveSet
301
 
function removes the specified window from the client's save-set.
302
 
The specified window must have been created by some other client,
303
 
or a
304
 
.PN BadMatch
305
 
error results.
306
 
.LP
307
 
.PN XRemoveFromSaveSet
308
 
can generate
309
 
.PN BadMatch 
310
 
and
311
 
.PN BadWindow 
312
 
errors.
313
 
.NH 2
314
 
Managing Installed Colormaps
315
 
.XS
316
 
\*(SN Managing Installed Colormaps
317
 
.XE
318
 
.LP
319
 
The X server maintains a list of installed colormaps.
320
 
Windows using these colormaps are guaranteed to display with
321
 
correct colors; windows using other colormaps may or may not display
322
 
with correct colors.
323
 
Xlib provides functions that you can use to install a colormap, 
324
 
uninstall a colormap, and obtain a list of installed colormaps.
325
 
.LP
326
 
At any time,
327
 
there is a subset of the installed maps that is viewed as an ordered list
328
 
and is called the required list.
329
 
The length of the required list is at most M,
330
 
where M is the minimum number of installed colormaps specified for the screen
331
 
in the connection setup.
332
 
The required list is maintained as follows.
333
 
When a colormap is specified to
334
 
.PN XInstallColormap ,
335
 
it is added to the head of the list;
336
 
the list is truncated at the tail, if necessary, to keep its length to 
337
 
at most M.
338
 
When a colormap is specified to
339
 
.PN XUninstallColormap
340
 
and it is in the required list,
341
 
it is removed from the list.
342
 
A colormap is not added to the required list when it is implicitly installed
343
 
by the X server,
344
 
and the X server cannot implicitly uninstall a colormap that is in the
345
 
required list.
346
 
.LP
347
 
.sp
348
 
To install a colormap, use
349
 
.PN XInstallColormap .
350
 
.IN "XInstallColormap" "" "@DEF@"
351
 
.sM
352
 
.FD 0
353
 
XInstallColormap\^(\^\fIdisplay\fP, \fIcolormap\fP\^)
354
 
.br
355
 
      Display *\fIdisplay\fP\^;
356
 
.br
357
 
      Colormap \fIcolormap\fP\^;
358
 
.FN
359
 
.IP \fIdisplay\fP 1i
360
 
Specifies the connection to the X server.
361
 
.IP \fIcolormap\fP 1i
362
 
Specifies the colormap.
363
 
.LP
364
 
.eM
365
 
The
366
 
.PN XInstallColormap
367
 
function installs the specified colormap for its associated screen.
368
 
All windows associated with this colormap immediately display with
369
 
true colors.
370
 
You associated the windows with this colormap when you created them by calling
371
 
.PN XCreateWindow ,
372
 
.PN XCreateSimpleWindow ,
373
 
.PN XChangeWindowAttributes ,
374
 
or
375
 
.PN XSetWindowColormap .
376
 
.LP
377
 
If the specified colormap is not already an installed colormap, 
378
 
the X server generates a
379
 
.PN ColormapNotify
380
 
event on each window that has that colormap.
381
 
In addition, for every other colormap that is installed as 
382
 
a result of a call to
383
 
.PN XInstallColormap ,
384
 
the X server generates a
385
 
.PN ColormapNotify
386
 
event on each window that has that colormap.
387
 
.LP
388
 
.PN XInstallColormap
389
 
can generate a
390
 
.PN BadColor 
391
 
error.
392
 
.LP
393
 
.sp
394
 
To uninstall a colormap, use
395
 
.PN XUninstallColormap .
396
 
.IN "XUninstallColormap" "" "@DEF@"
397
 
.sM
398
 
.FD 0
399
 
XUninstallColormap\^(\^\fIdisplay\fP, \fIcolormap\fP\^)
400
 
.br
401
 
      Display *\fIdisplay\fP\^;
402
 
.br
403
 
      Colormap \fIcolormap\fP\^;
404
 
.FN
405
 
.IP \fIdisplay\fP 1i
406
 
Specifies the connection to the X server.
407
 
.IP \fIcolormap\fP 1i
408
 
Specifies the colormap.
409
 
.LP
410
 
.eM
411
 
The
412
 
.PN XUninstallColormap
413
 
function removes the specified colormap from the required
414
 
list for its screen.
415
 
As a result,
416
 
the specified colormap might be uninstalled, 
417
 
and the X server might implicitly install or uninstall additional colormaps.
418
 
Which colormaps get installed or uninstalled is server dependent
419
 
except that the required list must remain installed.
420
 
.LP
421
 
If the specified colormap becomes uninstalled, 
422
 
the X server generates a
423
 
.PN ColormapNotify
424
 
event on each window that has that colormap.
425
 
In addition, for every other colormap that is installed or uninstalled as a 
426
 
result of a call to 
427
 
.PN XUninstallColormap ,
428
 
the X server generates a
429
 
.PN ColormapNotify
430
 
event on each window that has that colormap.
431
 
.LP
432
 
.PN XUninstallColormap
433
 
can generate a
434
 
.PN BadColor 
435
 
error.
436
 
.LP
437
 
.sp
438
 
To obtain a list of the currently installed colormaps for a given screen, use
439
 
.PN XListInstalledColormaps .
440
 
.IN "XListInstalledColormaps" "" "@DEF@"
441
 
.sM
442
 
.FD 0
443
 
Colormap *XListInstalledColormaps\^(\^\fIdisplay\fP, \fIw\fP, \fInum_return\fP\^)
444
 
.br
445
 
      Display *\fIdisplay\fP\^;
446
 
.br
447
 
      Window \fIw\fP\^;
448
 
.br
449
 
      int *\fInum_return\fP\^;
450
 
.FN
451
 
.IP \fIdisplay\fP 1i
452
 
Specifies the connection to the X server.
453
 
.ds Wi that determines the screen
454
 
.IP \fIw\fP 1i
455
 
Specifies the window \*(Wi.
456
 
.IP \fInum_return\fP 1i
457
 
Returns the number of currently installed colormaps.
458
 
.LP
459
 
.eM
460
 
The
461
 
.PN XListInstalledColormaps
462
 
function returns a list of the currently installed colormaps for the screen 
463
 
of the specified window.
464
 
The order of the colormaps in the list is not significant
465
 
and is no explicit indication of the required list.
466
 
When the allocated list is no longer needed,
467
 
free it by using
468
 
.PN XFree .
469
 
.LP
470
 
.PN XListInstalledColormaps
471
 
can generate a
472
 
.PN BadWindow 
473
 
error.
474
 
.NH 2
475
 
Setting and Retrieving the Font Search Path
476
 
.XS
477
 
\*(SN Setting and Retrieving the Font Search Path 
478
 
.XE
479
 
.LP
480
 
The set of fonts available from a server depends on a font
481
 
search path.  Xlib provides functions to set and retrieve the
482
 
search path for a server.
483
 
.LP
484
 
.sp
485
 
To set the font search path, use
486
 
.PN XSetFontPath .
487
 
.IN "XSetFontPath" "" "@DEF@"
488
 
.sM
489
 
.FD 0
490
 
XSetFontPath\^(\^\fIdisplay\fP, \fIdirectories\fP\^, \fIndirs\fP\^)
491
 
.br
492
 
      Display *\fIdisplay\fP\^;
493
 
.br
494
 
      char **\fIdirectories\fP\^;
495
 
.br
496
 
      int \fIndirs\fP\^;
497
 
.FN
498
 
.IP \fIdisplay\fP 1i
499
 
Specifies the connection to the X server.
500
 
.IP \fIdirectories\fP 1i
501
 
Specifies the directory path used to look for a font.
502
 
Setting the path to the empty list restores the default path defined
503
 
for the X server.
504
 
.IP \fIndirs\fP 1i
505
 
Specifies the number of directories in the path.
506
 
.LP
507
 
.eM
508
 
The
509
 
.PN XSetFontPath
510
 
function defines the directory search path for font lookup.
511
 
There is only one search path per X server, not one per client.
512
 
The encoding and interpretation of the strings are implementation-dependent,
513
 
but typically they specify directories or font servers to be searched 
514
 
in the order listed.
515
 
An X server is permitted to cache font information internally;
516
 
for example, it might cache an entire font from a file and not
517
 
check on subsequent opens of that font to see if the underlying
518
 
font file has changed.
519
 
However,
520
 
when the font path is changed,
521
 
the X server is guaranteed to flush all cached information about fonts 
522
 
for which there currently are no explicit resource IDs allocated.
523
 
The meaning of an error from this request is implementation-dependent.
524
 
.LP
525
 
.PN XSetFontPath
526
 
can generate a
527
 
.PN BadValue 
528
 
error.
529
 
.LP
530
 
.sp
531
 
To get the current font search path, use
532
 
.PN XGetFontPath .
533
 
.IN "XGetFontPath" "" "@DEF@"
534
 
.sM
535
 
.FD 0
536
 
char **XGetFontPath\^(\^\fIdisplay\fP, \fInpaths_return\fP\^)
537
 
.br
538
 
      Display *\fIdisplay\fP\^;
539
 
.br
540
 
      int *\fInpaths_return\fP\^;
541
 
 
542
 
.FN
543
 
.IP \fIdisplay\fP 1i
544
 
Specifies the connection to the X server.
545
 
.IP \fInpaths_return\fP 1i
546
 
Returns the number of strings in the font path array.
547
 
.LP
548
 
.eM
549
 
The
550
 
.PN XGetFontPath
551
 
function allocates and returns an array of strings containing the search path.
552
 
The contents of these strings are implementation-dependent
553
 
and are not intended to be interpreted by client applications.
554
 
When it is no longer needed,
555
 
the data in the font path should be freed by using
556
 
.PN XFreeFontPath .
557
 
.LP
558
 
.sp
559
 
To free data returned by
560
 
.PN XGetFontPath ,
561
 
use
562
 
.PN XFreeFontPath .
563
 
.IN "XFreeFontPath" "" "@DEF@"
564
 
.sM
565
 
.FD 0
566
 
XFreeFontPath\^(\^\fIlist\fP\^)
567
 
.br
568
 
      char **\fIlist\fP\^;
569
 
 
570
 
.FN
571
 
.IP \fIlist\fP 1i
572
 
Specifies the array of strings you want to free.
573
 
.LP
574
 
.eM
575
 
The
576
 
.PN XFreeFontPath
577
 
function
578
 
frees the data allocated by
579
 
.PN XGetFontPath .
580
 
.NH 2
581
 
Grabbing the Server 
582
 
.XS
583
 
\*(SN Grabbing the Server 
584
 
.XE
585
 
.LP
586
 
Xlib provides functions that you can use to grab and ungrab the server.
587
 
These functions can be used to control processing of output on other
588
 
connections by the window system server.
589
 
While the server is grabbed,
590
 
no processing of requests or close downs on any other connection will occur.
591
 
A client closing its connection automatically ungrabs the server.
592
 
.IN "Menus"
593
 
.IN "Window" "managers"
594
 
Although grabbing the server is highly discouraged, it is sometimes necessary.
595
 
.LP
596
 
.sp
597
 
To grab the server, use
598
 
.PN XGrabServer .
599
 
.IN "Server" "grabbing"
600
 
.IN "Grabbing" "server"
601
 
.IN "XGrabServer" "" "@DEF@"
602
 
.sM
603
 
.FD 0
604
 
XGrabServer\^(\^\fIdisplay\fP\^)
605
 
.br
606
 
      Display *\fIdisplay\fP\^;
607
 
.FN
608
 
.IP \fIdisplay\fP 1i
609
 
Specifies the connection to the X server.
610
 
.LP
611
 
.eM
612
 
The
613
 
.PN XGrabServer
614
 
function disables processing of requests and close downs on all other 
615
 
connections than the one this request arrived on.
616
 
You should not grab the X server any more than is absolutely necessary.
617
 
.LP
618
 
.sp
619
 
To ungrab the server, use
620
 
.PN XUngrabServer .
621
 
.IN "XUngrabServer" "" "@DEF@"
622
 
.sM
623
 
.FD 0
624
 
XUngrabServer\^(\^\fIdisplay\fP\^)
625
 
.br
626
 
      Display *\fIdisplay\fP\^;
627
 
.FN
628
 
.IP \fIdisplay\fP 1i
629
 
Specifies the connection to the X server.
630
 
.LP
631
 
.eM
632
 
The
633
 
.PN XUngrabServer
634
 
function restarts processing of requests and close downs on other connections.
635
 
You should avoid grabbing the X server as much as possible.
636
 
.NH 2
637
 
Killing Clients
638
 
.XS
639
 
\*(SN Killing Clients 
640
 
.XE
641
 
.LP
642
 
Xlib provides a function to cause the connection to
643
 
a client to be closed and its resources to be destroyed.
644
 
To destroy a client, use
645
 
.PN XKillClient .
646
 
.IN "XKillClient" "" "@DEF@"
647
 
.sM
648
 
.FD 0
649
 
XKillClient\^(\^\fIdisplay\fP, \fIresource\fP\^)
650
 
.br
651
 
      Display *\fIdisplay\fP\^;
652
 
.br
653
 
      XID \fIresource\fP\^;
654
 
.FN
655
 
.IP \fIdisplay\fP 1i
656
 
Specifies the connection to the X server.
657
 
.IP \fIresource\fP 1i
658
 
Specifies any resource associated with the client that you want to destroy or
659
 
.PN AllTemporary .
660
 
.LP
661
 
.eM
662
 
The
663
 
.PN XKillClient
664
 
function
665
 
forces a close down of the client
666
 
that created the resource
667
 
if a valid resource is specified.
668
 
If the client has already terminated in
669
 
either 
670
 
.PN RetainPermanent 
671
 
or 
672
 
.PN RetainTemporary 
673
 
mode, all of the client's
674
 
resources are destroyed.
675
 
If 
676
 
.PN AllTemporary 
677
 
is specified, the resources of all clients that have terminated in
678
 
.PN RetainTemporary 
679
 
are destroyed (see section 2.5).
680
 
This permits implementation of window manager facilities that aid debugging.
681
 
A client can set its close-down mode to
682
 
.PN RetainTemporary .
683
 
If the client then crashes,
684
 
its windows would not be destroyed. 
685
 
The programmer can then inspect the application's window tree 
686
 
and use the window manager to destroy the zombie windows.
687
 
.LP
688
 
.PN XKillClient
689
 
can generate a
690
 
.PN BadValue 
691
 
error.
692
 
.NH 2
693
 
Controlling the Screen Saver 
694
 
.XS
695
 
\*(SN Controlling the Screen Saver 
696
 
.XE
697
 
.LP
698
 
Xlib provides functions that you can use to set or reset the mode 
699
 
of the screen saver, to force or activate the screen saver,
700
 
or to obtain the current screen saver values.
701
 
.LP
702
 
.sp
703
 
To set the screen saver mode, use
704
 
.PN XSetScreenSaver .
705
 
.IN "XSetScreenSaver" "" "@DEF@"
706
 
.sM
707
 
.FD 0
708
 
XSetScreenSaver\^(\^\fIdisplay\fP, \fItimeout\fP\^, \fIinterval\fP\^, \fIprefer_blanking\fP\^, \fIallow_exposures\fP\^)
709
 
.br
710
 
      Display *\fIdisplay\fP\^;
711
 
.br
712
 
      int \fItimeout\fP\^, \fIinterval\fP\^;
713
 
.br
714
 
      int \fIprefer_blanking\fP\^; 
715
 
.br
716
 
      int \fIallow_exposures\fP\^;
717
 
.FN
718
 
.IP \fIdisplay\fP 1i
719
 
Specifies the connection to the X server.
720
 
.IP \fItimeout\fP 1i
721
 
Specifies the timeout, in seconds, until the screen saver turns on.
722
 
.IP \fIinterval\fP 1i
723
 
Specifies the interval, in seconds, between screen saver alterations.
724
 
.IP \fIprefer_blanking\fP 1i
725
 
Specifies how to enable screen blanking.
726
 
You can pass
727
 
.PN DontPreferBlanking ,
728
 
.PN PreferBlanking ,
729
 
or
730
 
.PN DefaultBlanking .
731
 
.IP \fIallow_exposures\fP 1i
732
 
Specifies the screen save control values.
733
 
You can pass
734
 
.PN DontAllowExposures ,
735
 
.PN AllowExposures ,
736
 
or
737
 
.PN DefaultExposures .
738
 
.LP
739
 
.eM
740
 
Timeout and interval are specified in seconds. 
741
 
A timeout of 0 disables the screen saver 
742
 
(but an activated screen saver is not deactivated),
743
 
and a timeout of \-1 restores the default.
744
 
Other negative values generate a
745
 
.PN BadValue
746
 
error.
747
 
If the timeout value is nonzero, 
748
 
.PN XSetScreenSaver
749
 
enables the screen saver.
750
 
An interval of 0 disables the random-pattern motion.
751
 
If no input from devices (keyboard, mouse, and so on) is generated 
752
 
for the specified number of timeout seconds once the screen saver is enabled,
753
 
the screen saver is activated.
754
 
.LP
755
 
For each screen, 
756
 
if blanking is preferred and the hardware supports video blanking, 
757
 
the screen simply goes blank.  
758
 
Otherwise, if either exposures are allowed or the screen can be regenerated 
759
 
without sending 
760
 
.PN Expose 
761
 
events to clients, 
762
 
the screen is tiled with the root window background tile randomly 
763
 
re-origined each interval seconds.
764
 
Otherwise, the screens' state do not change, 
765
 
and the screen saver is not activated.
766
 
The screen saver is deactivated,
767
 
and all screen states are restored at the next
768
 
keyboard or pointer input or at the next call to
769
 
.PN XForceScreenSaver
770
 
with mode
771
 
.PN ScreenSaverReset .  
772
 
.LP
773
 
If the server-dependent screen saver method supports periodic change,
774
 
the interval argument serves as a hint about how long the change period
775
 
should be, and zero hints that no periodic change should be made.
776
 
Examples of ways to change the screen include scrambling the colormap
777
 
periodically, moving an icon image around the screen periodically, or tiling
778
 
the screen with the root window background tile, randomly re-origined
779
 
periodically.
780
 
.LP
781
 
.PN XSetScreenSaver
782
 
can generate a
783
 
.PN BadValue 
784
 
error.
785
 
.LP
786
 
.sp
787
 
To force the screen saver on or off, use
788
 
.PN XForceScreenSaver .
789
 
.IN "XForceScreenSaver" "" "@DEF@"
790
 
.sM
791
 
.FD 0
792
 
XForceScreenSaver\^(\^\fIdisplay\fP\^, \fImode\fP\^)
793
 
.br
794
 
      Display *\fIdisplay\fP\^;
795
 
.br
796
 
      int \fImode\fP\^;
797
 
.FN
798
 
.IP \fIdisplay\fP 1i
799
 
Specifies the connection to the X server.
800
 
.IP \fImode\fP 1i
801
 
Specifies the mode that is to be applied.
802
 
You can pass
803
 
.PN ScreenSaverActive
804
 
or
805
 
.PN ScreenSaverReset .
806
 
.LP
807
 
.eM
808
 
If the specified mode is 
809
 
.PN ScreenSaverActive 
810
 
and the screen saver currently is deactivated,
811
 
.PN XForceScreenSaver
812
 
activates the screen saver even if the screen saver had been disabled
813
 
with a timeout of zero.
814
 
If the specified mode is 
815
 
.PN ScreenSaverReset 
816
 
and the screen saver currently is enabled,
817
 
.PN XForceScreenSaver
818
 
deactivates the screen saver if it was activated,
819
 
and the activation timer is reset to its initial state 
820
 
(as if device input had been received).
821
 
.LP
822
 
.PN XForceScreenSaver
823
 
can generate a
824
 
.PN BadValue 
825
 
error.
826
 
.LP
827
 
.sp
828
 
To activate the screen saver, use
829
 
.PN XActivateScreenSaver .
830
 
.IN "XActivateScreenSaver" "" "@DEF@"
831
 
.sM
832
 
.FD 0
833
 
XActivateScreenSaver\^(\^\fIdisplay\fP\^)
834
 
.br
835
 
      Display *\fIdisplay\fP\^;
836
 
.FN
837
 
.IP \fIdisplay\fP 1i
838
 
Specifies the connection to the X server.
839
 
.LP
840
 
.eM
841
 
.sp
842
 
To reset the screen saver, use
843
 
.PN XResetScreenSaver .
844
 
.IN "XResetScreenSaver" "" "@DEF@"
845
 
.sM
846
 
.FD 0
847
 
XResetScreenSaver\^(\^\fIdisplay\fP\^)
848
 
.br
849
 
      Display *\fIdisplay\fP\^;
850
 
.FN
851
 
.IP \fIdisplay\fP 1i
852
 
Specifies the connection to the X server.
853
 
.LP
854
 
.eM
855
 
.sp
856
 
To get the current screen saver values, use
857
 
.PN XGetScreenSaver .
858
 
.IN "XGetScreenSaver" "" "@DEF@"
859
 
.sM
860
 
.FD 0
861
 
XGetScreenSaver\^(\^\fIdisplay\fP, \fItimeout_return\fP\^, \fIinterval_return\fP\^, \fIprefer_blanking_return\fP\^, 
862
 
.br
863
 
                  \fIallow_exposures_return\fP\^)
864
 
.br
865
 
      Display *\fIdisplay\fP\^;
866
 
.br
867
 
      int *\fItimeout_return\fP\^, *\fIinterval_return\fP\^;
868
 
.br
869
 
      int *\fIprefer_blanking_return\fP\^;
870
 
.br
871
 
      int *\fIallow_exposures_return\fP\^;
872
 
.FN
873
 
.IP \fIdisplay\fP 1i
874
 
Specifies the connection to the X server.
875
 
.IP \fItimeout_return\fP 1i
876
 
Returns the timeout, in seconds, until the screen saver turns on.
877
 
.IP \fIinterval_return\fP 1i
878
 
Returns the interval between screen saver invocations.
879
 
.IP \fIprefer_blanking_return\fP 1i
880
 
Returns the current screen blanking preference
881
 
.Pn ( DontPreferBlanking ,
882
 
.PN PreferBlanking ,
883
 
or
884
 
.PN DefaultBlanking ).
885
 
.IP \fIallow_exposures_return\fP 1i
886
 
Returns the current screen save control value
887
 
.Pn ( DontAllowExposures ,
888
 
.PN AllowExposures ,
889
 
or
890
 
.PN DefaultExposures ).
891
 
.LP
892
 
.eM
893
 
.NH 2
894
 
Controlling Host Access
895
 
.XS
896
 
\*(SN Controlling Host Access 
897
 
.XE
898
 
.LP
899
 
This section discusses how to:
900
 
.IP \(bu 5
901
 
Add, get, or remove hosts from the access control list
902
 
.IP \(bu 5
903
 
Change, enable, or disable access
904
 
.LP
905
 
.IN "Access control list"
906
 
.IN "Authentication"
907
 
X does not provide any protection on a per-window basis.
908
 
If you find out the resource ID of a resource, you can manipulate it.
909
 
To provide some minimal level of protection, however,
910
 
connections are permitted only from machines you trust.
911
 
This is adequate on single-user workstations but obviously
912
 
breaks down on timesharing machines.
913
 
Although provisions exist in the X protocol for proper connection
914
 
authentication, the lack of a standard authentication server
915
 
leaves host-level access control as the only common mechanism.
916
 
.LP
917
 
.IN "Default Protection"
918
 
The initial set of hosts allowed to open connections typically consists of:
919
 
.IP \(bu 5
920
 
The host the window system is running on.
921
 
.IP \(bu 5
922
 
On POSIX-conformant systems, each host listed in the
923
 
.PN /etc/X?.hosts 
924
 
file.
925
 
The ? indicates the number of the
926
 
display.
927
 
.IN "Files" "/etc/X?.hosts"
928
 
This file should consist of host names separated by newlines.
929
 
DECnet nodes must terminate in :: to distinguish them from Internet hosts.
930
 
.LP
931
 
If a host is not in the access control list when the access control 
932
 
mechanism is enabled and if the host attempts to establish a connection,
933
 
the server refuses the connection.
934
 
To change the access list,
935
 
the client must reside on the same host as the server and/or must
936
 
have been granted permission in the initial authorization at connection
937
 
setup.
938
 
.LP
939
 
Servers also can implement other access control policies in addition to
940
 
or in place of this host access facility.
941
 
For further information about other access control implementations,
942
 
see ``X Window System Protocol.''
943
 
.NH 3
944
 
Adding, Getting, or Removing Hosts
945
 
.XS
946
 
\*(SN Adding, Getting, or Removing Hosts 
947
 
.XE
948
 
.LP
949
 
Xlib provides functions that you can use to add, get, or remove hosts
950
 
from the access control list.
951
 
All the host access control functions use the 
952
 
.PN XHostAddress 
953
 
structure, which contains:
954
 
.LP
955
 
.IN "XHostAddress" "" "@DEF@"
956
 
.sM
957
 
.Ds 0
958
 
.TA .5i 3i
959
 
.ta .5i 3i
960
 
typedef struct {
961
 
        int family;     /* for example FamilyInternet */
962
 
        int length;     /* length of address, in bytes */
963
 
        char *address;  /* pointer to where to find the address */
964
 
} XHostAddress;
965
 
.De
966
 
.LP
967
 
.eM
968
 
The family member specifies which protocol address family to use 
969
 
(for example, TCP/IP or DECnet) and can be
970
 
.PN FamilyInternet ,
971
 
.PN FamilyInternet6 ,
972
 
.PN FamilyServerInterpreted ,
973
 
.PN FamilyDECnet ,
974
 
or
975
 
.PN FamilyChaos .
976
 
The length member specifies the length of the address in bytes.
977
 
The address member specifies a pointer to the address.
978
 
.LP
979
 
For TCP/IP, the address should be in network byte order.
980
 
For IP version 4 addresses, the family should be FamilyInternet
981
 
and the length should be 4 bytes.  For IP version 6 addresses, the
982
 
family should be FamilyInternet6 and the length should be 16 bytes.
983
 
.LP
984
 
For the DECnet family, 
985
 
the server performs no automatic swapping on the address bytes.
986
 
A Phase IV address is 2 bytes long.
987
 
The first byte contains the least significant 8 bits of the node number.
988
 
The second byte contains the most significant 2 bits of the
989
 
node number in the least significant 2 bits of the byte
990
 
and the area in the most significant 6 bits of the byte.
991
 
.LP
992
 
For the ServerInterpreted family, the length is ignored and the address 
993
 
member is a pointer to a 
994
 
.PN XServerInterpretedAddress
995
 
structure, which contains:
996
 
.LP
997
 
.IN "XServerInterpretedAddress" "" "@DEF@"
998
 
.sM
999
 
.Ds 0
1000
 
.TA .5i 3i
1001
 
.ta .5i 3i
1002
 
typedef struct {
1003
 
        int typelength; /* length of type string, in bytes */
1004
 
        int valuelength;/* length of value string, in bytes */
1005
 
        char *type;     /* pointer to where to find the type string */
1006
 
        char *value;    /* pointer to where to find the address */
1007
 
} XServerInterpretedAddress;
1008
 
.De
1009
 
.LP
1010
 
.eM
1011
 
The type and value members point to strings representing the type and value of
1012
 
the server interpreted entry.  These strings may not be NULL-terminated so care
1013
 
should be used when accessing them.  The typelength and valuelength members
1014
 
specify the length in byte of the type and value strings.
1015
 
.LP
1016
 
.sp
1017
 
To add a single host, use
1018
 
.PN XAddHost .
1019
 
.IN "XAddHost" "" "@DEF@"
1020
 
.sM
1021
 
.FD 0
1022
 
XAddHost\^(\^\fIdisplay\fP, \fIhost\fP\^)
1023
 
.br
1024
 
      Display *\fIdisplay\fP\^;
1025
 
.br
1026
 
      XHostAddress *\fIhost\fP\^;       
1027
 
.FN
1028
 
.IP \fIdisplay\fP 1i
1029
 
Specifies the connection to the X server.
1030
 
.ds Ho added
1031
 
.IP \fIhost\fP 1i
1032
 
Specifies the host that is to be \*(Ho.
1033
 
.LP
1034
 
.eM
1035
 
The
1036
 
.PN XAddHost
1037
 
function adds the specified host to the access control list for that display.
1038
 
The server must be on the same host as the client issuing the command, or a
1039
 
.PN BadAccess
1040
 
error results.
1041
 
.LP
1042
 
.PN XAddHost
1043
 
can generate
1044
 
.PN BadAccess
1045
 
and
1046
 
.PN BadValue 
1047
 
errors.
1048
 
.LP
1049
 
.sp
1050
 
To add multiple hosts at one time, use
1051
 
.PN XAddHosts .
1052
 
.IN "XAddHosts" "" "@DEF@"
1053
 
.sM
1054
 
.FD 0
1055
 
XAddHosts\^(\^\fIdisplay\fP, \fIhosts\fP, \fInum_hosts\fP\^)
1056
 
.br
1057
 
      Display *\fIdisplay\fP\^;
1058
 
.br
1059
 
      XHostAddress *\fIhosts\fP\^;
1060
 
.br
1061
 
      int \fInum_hosts\fP\^;
1062
 
.FN
1063
 
.IP \fIdisplay\fP 1i
1064
 
Specifies the connection to the X server.
1065
 
.ds Ho added
1066
 
.IP \fIhosts\fP 1i
1067
 
Specifies each host that is to be \*(Ho.
1068
 
.IP \fInum_hosts\fP 1i
1069
 
Specifies the number of hosts.
1070
 
.LP
1071
 
.eM
1072
 
The
1073
 
.PN XAddHosts
1074
 
function adds each specified host to the access control list for that display.
1075
 
The server must be on the same host as the client issuing the command, or a
1076
 
.PN BadAccess
1077
 
error results.
1078
 
.LP
1079
 
.PN XAddHosts
1080
 
can generate
1081
 
.PN BadAccess
1082
 
and
1083
 
.PN BadValue 
1084
 
errors.
1085
 
.LP
1086
 
.sp
1087
 
To obtain a host list, use
1088
 
.PN XListHosts .
1089
 
.IN "XListHosts" "" "@DEF@"
1090
 
.sM
1091
 
.FD 0
1092
 
XHostAddress *XListHosts\^(\^\fIdisplay\fP, \fInhosts_return\fP, \fIstate_return\fP\^)
1093
 
.br
1094
 
      Display *\fIdisplay\fP\^;
1095
 
.br
1096
 
      int *\fInhosts_return\fP\^;
1097
 
.br
1098
 
      Bool *\fIstate_return\fP\^;
1099
 
.FN
1100
 
.IP \fIdisplay\fP 1i
1101
 
Specifies the connection to the X server.
1102
 
.IP \fInhosts_return\fP 1i
1103
 
Returns the number of hosts currently in the access control list.
1104
 
.IP \fIstate_return\fP 1i
1105
 
Returns the state of the access control.
1106
 
.LP
1107
 
.eM
1108
 
The
1109
 
.PN XListHosts
1110
 
function returns the current access control list as well as whether the use 
1111
 
of the list at connection setup was enabled or disabled.
1112
 
.PN XListHosts
1113
 
allows a program to find out what machines can make connections.
1114
 
It also returns a pointer to a list of host structures that
1115
 
were allocated by the function. 
1116
 
When no longer needed,
1117
 
this memory should be freed by calling
1118
 
.PN XFree .
1119
 
.LP
1120
 
.sp
1121
 
To remove a single host, use
1122
 
.PN XRemoveHost .
1123
 
.IN "XRemoveHost" "" "@DEF@"
1124
 
.sM
1125
 
.FD 0
1126
 
XRemoveHost\^(\^\fIdisplay\fP, \fIhost\fP\^)
1127
 
.br
1128
 
      Display *\fIdisplay\fP\^;
1129
 
.br
1130
 
      XHostAddress *\fIhost\fP\^;
1131
 
.FN
1132
 
.IP \fIdisplay\fP 1i
1133
 
Specifies the connection to the X server.
1134
 
.ds Ho removed
1135
 
.IP \fIhost\fP 1i
1136
 
Specifies the host that is to be \*(Ho.
1137
 
.LP
1138
 
.eM
1139
 
The
1140
 
.PN XRemoveHost
1141
 
function removes the specified host from the access control list 
1142
 
for that display.
1143
 
The server must be on the same host as the client process, or a
1144
 
.PN BadAccess
1145
 
error results.
1146
 
If you remove your machine from the access list,
1147
 
you can no longer connect to that server,
1148
 
and this operation cannot be reversed unless you reset the server.
1149
 
.LP
1150
 
.PN XRemoveHost
1151
 
can generate
1152
 
.PN BadAccess
1153
 
and
1154
 
.PN BadValue 
1155
 
errors.
1156
 
.LP
1157
 
.sp
1158
 
To remove multiple hosts at one time, use
1159
 
.PN XRemoveHosts .
1160
 
.IN "XRemoveHosts" "" "@DEF@"
1161
 
.sM
1162
 
.FD 0
1163
 
XRemoveHosts\^(\^\fIdisplay\fP, \fIhosts\fP, \fInum_hosts\fP\^)
1164
 
.br
1165
 
      Display *\fIdisplay\fP\^;
1166
 
.br
1167
 
      XHostAddress *\fIhosts\fP\^;
1168
 
.br
1169
 
      int \fInum_hosts\fP\^;
1170
 
.FN
1171
 
.IP \fIdisplay\fP 1i
1172
 
Specifies the connection to the X server.
1173
 
.ds Ho removed
1174
 
.IP \fIhosts\fP 1i
1175
 
Specifies each host that is to be \*(Ho.
1176
 
.IP \fInum_hosts\fP 1i
1177
 
Specifies the number of hosts.
1178
 
.LP
1179
 
.eM
1180
 
The
1181
 
.PN XRemoveHosts
1182
 
function removes each specified host from the access control list for that 
1183
 
display.  
1184
 
The X server must be on the same host as the client process, or a
1185
 
.PN BadAccess
1186
 
error results.
1187
 
If you remove your machine from the access list, 
1188
 
you can no longer connect to that server,
1189
 
and this operation cannot be reversed unless you reset the server.
1190
 
.LP
1191
 
.PN XRemoveHosts
1192
 
can generate
1193
 
.PN BadAccess
1194
 
and
1195
 
.PN BadValue 
1196
 
errors.
1197
 
.NH 3
1198
 
Changing, Enabling, or Disabling Access Control
1199
 
.XS
1200
 
\*(SN Changing, Enabling, or Disabling Access Control 
1201
 
.XE
1202
 
.LP
1203
 
Xlib provides functions that you can use to enable, disable, 
1204
 
or change access control.
1205
 
.LP
1206
 
For these functions to execute successfully,
1207
 
the client application must reside on the same host as the X server
1208
 
and/or have been given permission in the initial authorization
1209
 
at connection setup.
1210
 
.LP
1211
 
.sp
1212
 
To change access control, use
1213
 
.PN XSetAccessControl .
1214
 
.IN "XSetAccessControl" "" "@DEF@"
1215
 
.sM
1216
 
.FD 0
1217
 
XSetAccessControl\^(\^\fIdisplay\fP, \fImode\fP\^)
1218
 
.br
1219
 
      Display *\fIdisplay\fP\^;
1220
 
.br
1221
 
      int \fImode\fP\^;
1222
 
.FN
1223
 
.IP \fIdisplay\fP 1i
1224
 
Specifies the connection to the X server.
1225
 
.IP \fImode\fP 1i
1226
 
Specifies the mode.
1227
 
You can pass
1228
 
.PN EnableAccess
1229
 
or
1230
 
.PN DisableAccess .
1231
 
.LP
1232
 
.eM
1233
 
The
1234
 
.PN XSetAccessControl
1235
 
function either enables or disables the use of the access control list 
1236
 
at each connection setup.
1237
 
.LP
1238
 
.PN XSetAccessControl
1239
 
can generate
1240
 
.PN BadAccess
1241
 
and
1242
 
.PN BadValue 
1243
 
errors.
1244
 
.LP
1245
 
.sp
1246
 
To enable access control, use
1247
 
.PN XEnableAccessControl .
1248
 
.IN "XEnableAccessControl" "" "@DEF@"
1249
 
.sM
1250
 
.FD 0
1251
 
XEnableAccessControl\^(\^\fIdisplay\fP\^)
1252
 
.br
1253
 
      Display *\fIdisplay\fP\^;
1254
 
.FN
1255
 
.IP \fIdisplay\fP 1i
1256
 
Specifies the connection to the X server.
1257
 
.LP
1258
 
.eM
1259
 
The
1260
 
.PN XEnableAccessControl
1261
 
function enables the use of the access control list at each connection setup.
1262
 
.LP
1263
 
.PN XEnableAccessControl
1264
 
can generate a
1265
 
.PN BadAccess 
1266
 
error.
1267
 
.LP
1268
 
.sp
1269
 
To disable access control, use
1270
 
.PN XDisableAccessControl .
1271
 
.IN "XDisableAccessControl" "" "@DEF@"
1272
 
.sM
1273
 
.FD 0
1274
 
XDisableAccessControl\^(\^\fIdisplay\fP\^)
1275
 
.br
1276
 
      Display *\fIdisplay\fP\^;
1277
 
.FN
1278
 
.IP \fIdisplay\fP 1i
1279
 
Specifies the connection to the X server.
1280
 
.LP
1281
 
.eM
1282
 
The
1283
 
.PN XDisableAccessControl
1284
 
function disables the use of the access control list at each connection setup.
1285
 
.LP
1286
 
.PN XDisableAccessControl
1287
 
can generate a
1288
 
.PN BadAccess 
1289
 
error.
1290
 
.bp