~ubuntu-branches/ubuntu/lucid/kdebase/lucid

« back to all changes in this revision

Viewing changes to kwin/wm-spec/x107.html

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2008-05-27 12:09:48 UTC
  • mfrom: (1.1.13 upstream)
  • Revision ID: james.westby@ubuntu.com-20080527120948-dottsyd5rcwhzd36
Tags: 4:4.0.80-1ubuntu1
* Merge with Debian
 - remove 97_fix_target_link_libraries.diff
 - Add replaces/conflicts on -kde4 packages

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<HTML
2
 
><HEAD
3
 
><TITLE
4
 
>Root Window Properties (+Related Messages)</TITLE
5
 
><META
6
 
NAME="GENERATOR"
7
 
CONTENT="Modular DocBook HTML Stylesheet Version 1.72
8
 
"><LINK
9
 
REL="HOME"
10
 
HREF="index.html"><LINK
11
 
REL="PREVIOUS"
12
 
TITLE="Non-ICCCM features"
13
 
HREF="x24.html"><LINK
14
 
REL="NEXT"
15
 
TITLE="Other Root Window Messages"
16
 
HREF="x208.html"></HEAD
17
 
><BODY
18
 
CLASS="SECT1"
19
 
BGCOLOR="#FFFFFF"
20
 
TEXT="#000000"
21
 
LINK="#0000FF"
22
 
VLINK="#840084"
23
 
ALINK="#0000FF"
24
 
><DIV
25
 
CLASS="NAVHEADER"
26
 
><TABLE
27
 
SUMMARY="Header navigation table"
28
 
WIDTH="100%"
29
 
BORDER="0"
30
 
CELLPADDING="0"
31
 
CELLSPACING="0"
32
 
><TR
33
 
><TH
34
 
COLSPAN="3"
35
 
ALIGN="center"
36
 
></TH
37
 
></TR
38
 
><TR
39
 
><TD
40
 
WIDTH="10%"
41
 
ALIGN="left"
42
 
VALIGN="bottom"
43
 
><A
44
 
HREF="x24.html"
45
 
ACCESSKEY="P"
46
 
>Prev</A
47
 
></TD
48
 
><TD
49
 
WIDTH="80%"
50
 
ALIGN="center"
51
 
VALIGN="bottom"
52
 
></TD
53
 
><TD
54
 
WIDTH="10%"
55
 
ALIGN="right"
56
 
VALIGN="bottom"
57
 
><A
58
 
HREF="x208.html"
59
 
ACCESSKEY="N"
60
 
>Next</A
61
 
></TD
62
 
></TR
63
 
></TABLE
64
 
><HR
65
 
ALIGN="LEFT"
66
 
WIDTH="100%"></DIV
67
 
><DIV
68
 
CLASS="SECT1"
69
 
><H1
70
 
CLASS="SECT1"
71
 
><A
72
 
NAME="AEN107"
73
 
>3. Root Window Properties (+Related Messages)</A
74
 
></H1
75
 
><P
76
 
>Whenever this spec speaks about <SPAN
77
 
CLASS="QUOTE"
78
 
>"sending a message to the root 
79
 
window"</SPAN
80
 
>, it is understood that the client is supposed to create 
81
 
a ClientMessage event with the specified contents and send it by using 
82
 
a SendEvent request with the following arguments:
83
 
        <PRE
84
 
CLASS="PROGRAMLISTING"
85
 
>destination     root
86
 
propagate       False
87
 
event-mask      (SubstructureNotify|SubstructureRedirect)
88
 
event           the specified ClientMessage</PRE
89
 
>
90
 
        </P
91
 
><DIV
92
 
CLASS="SECT2"
93
 
><H2
94
 
CLASS="SECT2"
95
 
><A
96
 
NAME="AEN112"
97
 
>3.1. _NET_SUPPORTED</A
98
 
></H2
99
 
><PRE
100
 
CLASS="PROGRAMLISTING"
101
 
>_NET_SUPPORTED, ATOM[]/32</PRE
102
 
><P
103
 
>This property MUST be set by the Window Manager to indicate which hints it
104
 
supports.  For example: considering _NET_WM_STATE 
105
 
both this atom and all supported states e.g. _NET_WM_STATE_MODAL, 
106
 
_NET_WM_STATE_STICKY, would be listed. This assumes that backwards 
107
 
incompatible changes will not be made to the hints (without being renamed). 
108
 
        </P
109
 
></DIV
110
 
><DIV
111
 
CLASS="SECT2"
112
 
><H2
113
 
CLASS="SECT2"
114
 
><A
115
 
NAME="AEN116"
116
 
>3.2. _NET_CLIENT_LIST</A
117
 
></H2
118
 
><PRE
119
 
CLASS="PROGRAMLISTING"
120
 
>_NET_CLIENT_LIST, WINDOW[]/32
121
 
_NET_CLIENT_LIST_STACKING, WINDOW[]/32</PRE
122
 
><P
123
 
>These arrays contain all X Windows managed by the Window Manager.  
124
 
_NET_CLIENT_LIST has initial mapping order, starting with the oldest window. 
125
 
_NET_CLIENT_LIST_STACKING has bottom-to-top stacking order.  These properties
126
 
SHOULD be set and updated by the Window Manager.
127
 
        </P
128
 
></DIV
129
 
><DIV
130
 
CLASS="SECT2"
131
 
><H2
132
 
CLASS="SECT2"
133
 
><A
134
 
NAME="AEN120"
135
 
>3.3. _NET_NUMBER_OF_DESKTOPS</A
136
 
></H2
137
 
><PRE
138
 
CLASS="PROGRAMLISTING"
139
 
>_NET_NUMBER_OF_DESKTOPS, CARDINAL/32</PRE
140
 
><P
141
 
>This property SHOULD be set and updated by the Window Manager to indicate the
142
 
number of virtual desktops. 
143
 
        </P
144
 
><P
145
 
>A Pager can request change in the desktops number by sending a _NET_NUMBER_OF_DESKTOPS message to the root window:
146
 
        </P
147
 
><PRE
148
 
CLASS="PROGRAMLISTING"
149
 
>_NET_NUMBER_OF_DESKTOPS
150
 
  message_type = _NET_NUMBER_OF_DESKTOPS
151
 
  format = 32
152
 
  data.l[0] = new_number_of_desktops</PRE
153
 
><P
154
 
>The Window Manager is free to honor or reject this request. If request is honored _NET_NUMBER_OF_DESKTOPS MUST be set to the new number of desktops, _NET_VIRTUAL_ROOTS MUST be set to store the new number of desktop virtual root window IDs and _NET_DESKTOP_VIEWPORT and _NET_WORKAREA must also be changed accordingly. The _NET_DESKTOP_NAMES property MAY remain unchanged.
155
 
        </P
156
 
><P
157
 
158
 
If the number of desktops is shrinking and _NET_CURRENT_DESKTOP is out of the new range of available desktops, then this MUST be set to the last available desktop from the new set. If number of desktops is shrinking then clients that are still present on desktops, that are out of the new range, MUST be moved to the very last desktop from the new set. For these _NET_WM_DESKTOP MUST be updated.
159
 
        </P
160
 
></DIV
161
 
><DIV
162
 
CLASS="SECT2"
163
 
><H2
164
 
CLASS="SECT2"
165
 
><A
166
 
NAME="AEN128"
167
 
>3.4. _NET_DESKTOP_GEOMETRY</A
168
 
></H2
169
 
><PRE
170
 
CLASS="PROGRAMLISTING"
171
 
>_NET_DESKTOP_GEOMETRY width, height, CARDINAL[2]/32</PRE
172
 
><P
173
 
>Array of two cardinals that defines the common size of all desktops. 
174
 
This property SHOULD be set by the Window Manager. 
175
 
                </P
176
 
><P
177
 
>A Pager can request a change in  the desktop geometry by sending a _NET_DESKTOP_GEOMETRY client
178
 
message to the root window:
179
 
                </P
180
 
><PRE
181
 
CLASS="PROGRAMLISTING"
182
 
>_NET_DESKTOP_GEOMETRY
183
 
  message_type = _NET_DESKTOP_GEOMETRY 
184
 
  format = 32
185
 
  data.l[0] = new_width
186
 
  data.l[1] = new_height</PRE
187
 
><P
188
 
>The Window Manager MAY choose to ignore this message, in which case _NET_DESKTOP_GEOMETRY property will remain unchanged.
189
 
                </P
190
 
></DIV
191
 
><DIV
192
 
CLASS="SECT2"
193
 
><H2
194
 
CLASS="SECT2"
195
 
><A
196
 
NAME="AEN135"
197
 
>3.5. _NET_DESKTOP_VIEWPORT</A
198
 
></H2
199
 
><PRE
200
 
CLASS="PROGRAMLISTING"
201
 
>_NET_DESKTOP_VIEWPORT x, y, CARDINAL[][2]/32</PRE
202
 
><P
203
 
>Array of pairs of cardinals that define the top left corner of each desktops 
204
 
viewport.  For Window Managers that don't support large desktops, this MUST 
205
 
always be set to (0,0).  
206
 
        </P
207
 
><P
208
 
>A Pager can request to change the viewport for the current desktop by sending a
209
 
_NET_DESKTOP_VIEWPORT client message to the root window:
210
 
        </P
211
 
><PRE
212
 
CLASS="PROGRAMLISTING"
213
 
>_NET_DESKTOP_VIEWPORT
214
 
  message_type = _NET_DESKTOP_VIEWPORT
215
 
  format = 32
216
 
  data.l[0] = new_vx
217
 
  data.l[1] = new_vy</PRE
218
 
><P
219
 
>The Window Manager MAY choose to ignore this message, in which case _NET_DESKTOP_VIEWPORT property will remain unchanged.
220
 
                </P
221
 
></DIV
222
 
><DIV
223
 
CLASS="SECT2"
224
 
><H2
225
 
CLASS="SECT2"
226
 
><A
227
 
NAME="AEN142"
228
 
>3.6. _NET_CURRENT_DESKTOP</A
229
 
></H2
230
 
><PRE
231
 
CLASS="PROGRAMLISTING"
232
 
>_NET_CURRENT_DESKTOP desktop, CARDINAL/32</PRE
233
 
><P
234
 
>The index of the current desktop. This is always an integer between 0 and 
235
 
_NET_NUMBER_OF_DESKTOPS - 1. This MUST be set and updated by the Window 
236
 
Manager  If a Pager wants to switch to another virtual desktop, it MUST send 
237
 
a _NET_CURRENT_DESKTOP client message to the root window:
238
 
        </P
239
 
><PRE
240
 
CLASS="PROGRAMLISTING"
241
 
>_NET_CURRENT_DESKTOP
242
 
  message_type = _NET_CURRENT_DESKTOP 
243
 
  format = 32
244
 
  data.l[0] = new_index</PRE
245
 
></DIV
246
 
><DIV
247
 
CLASS="SECT2"
248
 
><H2
249
 
CLASS="SECT2"
250
 
><A
251
 
NAME="AEN147"
252
 
>3.7. _NET_DESKTOP_NAMES</A
253
 
></H2
254
 
><PRE
255
 
CLASS="PROGRAMLISTING"
256
 
>_NET_DESKTOP_NAMES, UTF8_STRING[]</PRE
257
 
><P
258
 
>The names of all virtual desktops. This is a list of NULL-terminated strings in UTF-8 [1] encoding. This property MAY be changed by a Pager or the Window Manager at any time.
259
 
        </P
260
 
><P
261
 
>Note: The number of names could be different from _NET_NUMBER_OF_DESKTOPS.
262
 
If it is less than _NET_NUMBER_OF_DESKTOPS - then the desktops with high
263
 
numbers are unnamed. If it is larger than _NET_NUMBER_OF_DESKTOPS, then the 
264
 
excess names outside of the _NET_NUMBER_OF_DESKTOPS are considered to be
265
 
reserved in case number of desktops is increased.</P
266
 
><P
267
 
>Rationale: The name is not a necessary attribute of a virtual desktop. Thus 
268
 
the availability or unavailability of names has no impact on virtual desktop
269
 
functionality. Since names are set by users and users are likely to preset 
270
 
names for a fixed number of desktops, it doesn't make sense to shrink or grow 
271
 
this list when the number of available desktops changes.</P
272
 
></DIV
273
 
><DIV
274
 
CLASS="SECT2"
275
 
><H2
276
 
CLASS="SECT2"
277
 
><A
278
 
NAME="AEN153"
279
 
>3.8. _NET_ACTIVE_WINDOW</A
280
 
></H2
281
 
><PRE
282
 
CLASS="PROGRAMLISTING"
283
 
>_NET_ACTIVE_WINDOW, WINDOW/32</PRE
284
 
><P
285
 
>The window ID of the currently active window or None if no window has the focus.
286
 
This is a read-only property set by the
287
 
Window Manager.  If a client (for example, a taskbar) wants to activate
288
 
another window, it MUST send a _NET_ACTIVE_WINDOW client message to the root
289
 
window: 
290
 
        </P
291
 
><PRE
292
 
CLASS="PROGRAMLISTING"
293
 
>_NET_ACTIVE_WINDOW
294
 
  window  = window to activate
295
 
  message_type = _NET_ACTIVE_WINDOW
296
 
  format = 32
297
 
  data.l[0] = 0 /* may be used later */</PRE
298
 
></DIV
299
 
><DIV
300
 
CLASS="SECT2"
301
 
><H2
302
 
CLASS="SECT2"
303
 
><A
304
 
NAME="AEN158"
305
 
>3.9. _NET_WORKAREA</A
306
 
></H2
307
 
><PRE
308
 
CLASS="PROGRAMLISTING"
309
 
>_NET_WORKAREA, x, y, width, height CARDINAL[][4]/32
310
 
        </PRE
311
 
><P
312
 
>This property MUST be set by WM upon calculating the work area for 
313
 
each desktop.  Contains a geometry for each desktop.  These geometries are 
314
 
specified relative to the viewport on each desktop and specify an area that is
315
 
completely contained within the viewport.
316
 
 Work area SHOULD be used by desktop applications to place desktop icons appropriately.
317
 
        </P
318
 
><P
319
 
>       The Window Manager SHOULD calculate this space by taking the current page minus space occupied by dock and panel windows, as indicated by the <A
320
 
HREF="x225.html#NETWMSTRUT"
321
 
>_NET_WM_STRUT</A
322
 
> property set on client windows.
323
 
        </P
324
 
></DIV
325
 
><DIV
326
 
CLASS="SECT2"
327
 
><H2
328
 
CLASS="SECT2"
329
 
><A
330
 
NAME="AEN164"
331
 
>3.10. _NET_SUPPORTING_WM_CHECK</A
332
 
></H2
333
 
><PRE
334
 
CLASS="PROGRAMLISTING"
335
 
>_NET_SUPPORTING_WM_CHECK, WINDOW/32</PRE
336
 
><P
337
 
>The Window Manager MUST set this property on the root window to be the ID of a
338
 
        child window created by the WM, to indicate that a compliant WM is
339
 
        active.  The child window MUST also have the _NET_SUPPORTING_WM_CHECK
340
 
        property set to the ID of the child window. The child window MUST also
341
 
        have the _NET_WM_NAME property set to the name of the Window Manager.
342
 
        </P
343
 
><P
344
 
>Rationale:  The child window is used to distinguish an active Window Manager 
345
 
 from a stale _NET_SUPPORTING_WM_CHECK 
346
 
 property that happens to point to another window. If the
347
 
 _NET_SUPPORTING_WM_CHECK window on the client window is missing
348
 
 or not properly set, clients SHOULD assume that no conforming
349
 
 Window Manager is present.
350
 
        </P
351
 
></DIV
352
 
><DIV
353
 
CLASS="SECT2"
354
 
><H2
355
 
CLASS="SECT2"
356
 
><A
357
 
NAME="AEN169"
358
 
>3.11. _NET_VIRTUAL_ROOTS</A
359
 
></H2
360
 
><PRE
361
 
CLASS="PROGRAMLISTING"
362
 
>_NET_VIRTUAL_ROOTS, WINDOW[]/32</PRE
363
 
><P
364
 
>To implement virtual desktops, some window managers reparent client windows to 
365
 
a child of the root window.  Window managers using this technique MUST set 
366
 
this property to a list of IDs for windows that are acting as virtual root 
367
 
windows.  This property allows background setting programs to work with 
368
 
virtual roots and allows clients to figure out the WM frame windows of their 
369
 
windows.
370
 
        </P
371
 
></DIV
372
 
><DIV
373
 
CLASS="SECT2"
374
 
><H2
375
 
CLASS="SECT2"
376
 
><A
377
 
NAME="AEN173"
378
 
>3.12. _NET_DESKTOP_LAYOUT</A
379
 
></H2
380
 
><PRE
381
 
CLASS="PROGRAMLISTING"
382
 
>_NET_DESKTOP_LAYOUT, orientation, x, y, starting_corner CARDINAL[4]/32
383
 
  #define _NET_WM_ORIENTATION_HORZ 0
384
 
  #define _NET_WM_ORIENTATION_VERT 1
385
 
 
386
 
  #define _NET_WM_TOPLEFT     0
387
 
  #define _NET_WM_TOPRIGHT    1
388
 
  #define _NET_WM_BOTTOMRIGHT 2
389
 
  #define _NET_WM_BOTTOMLEFT  3</PRE
390
 
><P
391
 
>        <SPAN
392
 
CLASS="emphasis"
393
 
><I
394
 
CLASS="EMPHASIS"
395
 
>This property is set by a Pager, not by the Window 
396
 
          Manager.</I
397
 
></SPAN
398
 
>
399
 
        When setting this property, the Pager must own a manager selection (as
400
 
        defined in the ICCCM 2.8). The manager selection is called
401
 
        <TT
402
 
CLASS="LITERAL"
403
 
>_NET_DESKTOP_LAYOUT_Sn</TT
404
 
> where
405
 
        <TT
406
 
CLASS="LITERAL"
407
 
>n</TT
408
 
> is the screen number. The purpose of 
409
 
        this property is to allow the Window Manager to know the desktop 
410
 
        layout displayed by the Pager.
411
 
        </P
412
 
><P
413
 
>  <TT
414
 
CLASS="LITERAL"
415
 
>_NET_DESKTOP_LAYOUT</TT
416
 
> describes the layout of virtual
417
 
  desktops relative to each other. More specifically, it describes the layout
418
 
  used by the owner of the manager selection. The Window Manager may use 
419
 
  this layout information or may choose to ignore it.
420
 
  The property contains four values: the Pager orientation, the number of
421
 
  desktops in the X direction, the number in the Y direction, and the
422
 
  starting corner of the Pager.
423
 
        </P
424
 
><P
425
 
>   Note: In order to interoperate with Pagers implementing an earlier
426
 
   draft of this document, Window Managers should accept a
427
 
  <TT
428
 
CLASS="LITERAL"
429
 
>_NET_DESKTOP_LAYOUT</TT
430
 
> property of length 3 and
431
 
  use <TT
432
 
CLASS="LITERAL"
433
 
>_NET_WM_TOPLEFT</TT
434
 
> as the starting corner in this case.
435
 
  </P
436
 
><P
437
 
>  The virtual desktops are arranged in a rectangle
438
 
  with X rows and Y columns.  If X times Y does not match the total number of
439
 
  desktops as specified by
440
 
  <TT
441
 
CLASS="LITERAL"
442
 
>_NET_NUMBER_OF_DESKTOPS</TT
443
 
>, the highest-numbered
444
 
  workspaces are assumed to be nonexistent. Either X or Y (but not
445
 
  both) may be specified as 0 in which case its actual value will be
446
 
  derived from <TT
447
 
CLASS="LITERAL"
448
 
>_NET_NUMBER_OF_DESKTOPS</TT
449
 
>.
450
 
        </P
451
 
><P
452
 
>  When the orientation is <TT
453
 
CLASS="LITERAL"
454
 
>_NET_WM_ORIENTATION_HORZ</TT
455
 
>
456
 
  the desktops are layed out in rows, with the first desktop in the 
457
 
  specified starting corner. So a layout with X=4 and Y=3 starting in 
458
 
  the <TT
459
 
CLASS="LITERAL"
460
 
>_NET_WM_TOPLEFT</TT
461
 
> corner looks like this:
462
 
<PRE
463
 
CLASS="PROGRAMLISTING"
464
 
> +--+--+--+--+
465
 
 | 0| 1| 2| 3|
466
 
 +--+--+--+--+
467
 
 | 4| 5| 6| 7|
468
 
 +--+--+--+--+
469
 
 | 8| 9|10|11|
470
 
 +--+--+--+--+</PRE
471
 
>
472
 
With starting_corner <TT
473
 
CLASS="LITERAL"
474
 
>_NET_WM_BOTTOMRIGHT</TT
475
 
>, it looks like
476
 
this:
477
 
<PRE
478
 
CLASS="PROGRAMLISTING"
479
 
> +--+--+--+--+
480
 
 |11|10| 9| 8|
481
 
 +--+--+--+--+
482
 
 | 7| 6| 5| 4|
483
 
 +--+--+--+--+
484
 
 | 3| 2| 1| 0|
485
 
 +--+--+--+--+</PRE
486
 
>
487
 
 
488
 
         </P
489
 
><P
490
 
>&#13;  When the orientation is <TT
491
 
CLASS="LITERAL"
492
 
>_NET_WM_ORIENTATION_VERT</TT
493
 
>
494
 
  the layout for X=4 and Y=3 starting in the <TT
495
 
CLASS="LITERAL"
496
 
>_NET_WM_TOPLEFT</TT
497
 
>
498
 
  corner looks like:
499
 
 
500
 
<PRE
501
 
CLASS="PROGRAMLISTING"
502
 
> +--+--+--+--+
503
 
 | 0| 3| 6| 9|
504
 
 +--+--+--+--+
505
 
 | 1| 4| 7|10|
506
 
 +--+--+--+--+
507
 
 | 2| 5| 8|11|
508
 
 +--+--+--+--+</PRE
509
 
>
510
 
With starting_corner <TT
511
 
CLASS="LITERAL"
512
 
>_NET_WM_TOPRIGHT</TT
513
 
>, it looks like:
514
 
 
515
 
<PRE
516
 
CLASS="PROGRAMLISTING"
517
 
> +--+--+--+--+
518
 
 | 9| 6| 3| 0|
519
 
 +--+--+--+--+
520
 
 |10| 7| 4| 1|
521
 
 +--+--+--+--+
522
 
 |11| 8| 5| 2|
523
 
 +--+--+--+--+</PRE
524
 
>
525
 
       </P
526
 
><P
527
 
>         The numbers here are the desktop numbers, as for 
528
 
         <TT
529
 
CLASS="LITERAL"
530
 
>_NET_CURRENT_DESKTOP</TT
531
 
>.
532
 
        </P
533
 
></DIV
534
 
><DIV
535
 
CLASS="SECT2"
536
 
><H2
537
 
CLASS="SECT2"
538
 
><A
539
 
NAME="AEN202"
540
 
>3.13. _NET_SHOWING_DESKTOP</A
541
 
></H2
542
 
><PRE
543
 
CLASS="PROGRAMLISTING"
544
 
>_NET_SHOWING_DESKTOP desktop, CARDINAL/32</PRE
545
 
><P
546
 
>       Some Window Managers have a "showing the desktop" mode in which windows
547
 
        are hidden, and the desktop background is displayed and focused. If a
548
 
        Window Manager supports the _NET_SHOWING_DESKTOP hint, it MUST set it
549
 
        to a value of 1 if the Window Manager is in "showing the desktop" mode,
550
 
        and a value of zero if the Window Manager is not in this mode.
551
 
        </P
552
 
><P
553
 
>       If a Pager wants to enter or leave the mode, it MUST
554
 
        send a _NET_SHOWING_DESKTOP client message to the root window
555
 
        requesting the change: 
556
 
       <PRE
557
 
CLASS="PROGRAMLISTING"
558
 
>_NET_SHOWING_DESKTOP
559
 
  message_type = _NET_SHOWING_DESKTOP 
560
 
  format = 32
561
 
  data.l[0] = boolean 0 or 1</PRE
562
 
563
 
 The Window Manager may choose to ignore this client message.
564
 
       </P
565
 
></DIV
566
 
></DIV
567
 
><DIV
568
 
CLASS="NAVFOOTER"
569
 
><HR
570
 
ALIGN="LEFT"
571
 
WIDTH="100%"><TABLE
572
 
SUMMARY="Footer navigation table"
573
 
WIDTH="100%"
574
 
BORDER="0"
575
 
CELLPADDING="0"
576
 
CELLSPACING="0"
577
 
><TR
578
 
><TD
579
 
WIDTH="33%"
580
 
ALIGN="left"
581
 
VALIGN="top"
582
 
><A
583
 
HREF="x24.html"
584
 
ACCESSKEY="P"
585
 
>Prev</A
586
 
></TD
587
 
><TD
588
 
WIDTH="34%"
589
 
ALIGN="center"
590
 
VALIGN="top"
591
 
><A
592
 
HREF="index.html"
593
 
ACCESSKEY="H"
594
 
>Home</A
595
 
></TD
596
 
><TD
597
 
WIDTH="33%"
598
 
ALIGN="right"
599
 
VALIGN="top"
600
 
><A
601
 
HREF="x208.html"
602
 
ACCESSKEY="N"
603
 
>Next</A
604
 
></TD
605
 
></TR
606
 
><TR
607
 
><TD
608
 
WIDTH="33%"
609
 
ALIGN="left"
610
 
VALIGN="top"
611
 
>Non-ICCCM features</TD
612
 
><TD
613
 
WIDTH="34%"
614
 
ALIGN="center"
615
 
VALIGN="top"
616
 
>&nbsp;</TD
617
 
><TD
618
 
WIDTH="33%"
619
 
ALIGN="right"
620
 
VALIGN="top"
621
 
>Other Root Window Messages</TD
622
 
></TR
623
 
></TABLE
624
 
></DIV
625
 
></BODY
626
 
></HTML
627
 
>
 
 
b'\\ No newline at end of file'