Offset 298, 15 lines modified |
Offset 298, 15 lines modified |
298 |
}
|
298 |
}
|
|
|
299 |
.warning·{
|
299 |
.warning·{
|
300 |
··border:·1px·solid·red;
|
300 |
··border:·1px·solid·red;
|
301 |
··background:·#FFFF66;
|
301 |
··background:·#FFFF66;
|
302 |
··padding-left:·0.5em;
|
302 |
··padding-left:·0.5em;
|
303 |
}
|
303 |
}
|
304 |
</style></head><body><div·class="book"><div·class="titlepage"><div><div><h1·class="title"><a·id="icccm"></a>Inter-Client·Communication·Conventions·Manual</h1></div><div><h2·class="subtitle">X·Consortium·Standard</h2></div><div><div·class="authorgroup"><div·class="author"><h3·class="author"><span·class="firstname">David</span>·<span·class="surname">Rosenthal</span></h3><div·class="affiliation"><span·class="orgname">Sun·Microsystems,·Inc.<br·/></span></div></div><div·class="editor"><h4·class="editedby">Edited·by</h4><h3·class="editor"><span·class="firstname">Stuart</span>·<span·class="othername">W.</span>·<span·class="surname">Marks</span></h3><div·class="affiliation"><span·class="orgname">SunSoft,·Inc.<br·/></span></div></div></div></div><div><p·class="releaseinfo">X·Version·11,·Release·7.7</p></div><div><p·class="releaseinfo">Version·2.0</p></div><div><p·class="copyright">Copyright·©·1988,·1991,·1993,·1994·X·Consortium</p></div><div><div·class="legalnotice"><a·id="idm139996711449936"></a><p>
|
304 |
</style></head><body><div·class="book"><div·class="titlepage"><div><div><h1·class="title"><a·id="icccm"></a>Inter-Client·Communication·Conventions·Manual</h1></div><div><h2·class="subtitle">X·Consortium·Standard</h2></div><div><div·class="authorgroup"><div·class="author"><h3·class="author"><span·class="firstname">David</span>·<span·class="surname">Rosenthal</span></h3><div·class="affiliation"><span·class="orgname">Sun·Microsystems,·Inc.<br·/></span></div></div><div·class="editor"><h4·class="editedby">Edited·by</h4><h3·class="editor"><span·class="firstname">Stuart</span>·<span·class="othername">W.</span>·<span·class="surname">Marks</span></h3><div·class="affiliation"><span·class="orgname">SunSoft,·Inc.<br·/></span></div></div></div></div><div><p·class="releaseinfo">X·Version·11,·Release·7.7</p></div><div><p·class="releaseinfo">Version·2.0</p></div><div><p·class="copyright">Copyright·©·1988,·1991,·1993,·1994·X·Consortium</p></div><div><div·class="legalnotice"><a·id="idm140659382245744"></a><p>
|
305 |
Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining
|
305 |
Permission·is·hereby·granted,·free·of·charge,·to·any·person·obtaining
|
306 |
a·copy·of·this·software·and·associated·documentation·files·(the
|
306 |
a·copy·of·this·software·and·associated·documentation·files·(the
|
307 |
"Software"),·to·deal·in·the·Software·without·restriction,·including
|
307 |
"Software"),·to·deal·in·the·Software·without·restriction,·including
|
308 |
without·limitation·the·rights·to·use,·copy,·modify,·merge,·publish,
|
308 |
without·limitation·the·rights·to·use,·copy,·modify,·merge,·publish,
|
309 |
distribute,·sublicense,·and/or·sell·copies·of·the·Software,·and·to
|
309 |
distribute,·sublicense,·and/or·sell·copies·of·the·Software,·and·to
|
310 |
permit·persons·to·whom·the·Software·is·furnished·to·do·so,·subject·to
|
310 |
permit·persons·to·whom·the·Software·is·furnished·to·do·so,·subject·to
|
311 |
the·following·conditions:
|
311 |
the·following·conditions:
|
Offset 322, 25 lines modified |
Offset 322, 25 lines modified |
322 |
ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR
|
322 |
ARISING·FROM,·OUT·OF·OR·IN·CONNECTION·WITH·THE·SOFTWARE·OR·THE·USE·OR
|
323 |
OTHER·DEALINGS·IN·THE·SOFTWARE.
|
323 |
OTHER·DEALINGS·IN·THE·SOFTWARE.
|
324 |
</p><p>
|
324 |
</p><p>
|
325 |
Except·as·contained·in·this·notice,·the·name·of·the·X·Consortium·shall
|
325 |
Except·as·contained·in·this·notice,·the·name·of·the·X·Consortium·shall
|
326 |
not·be·used·in·advertising·or·otherwise·to·promote·the·sale,·use·or
|
326 |
not·be·used·in·advertising·or·otherwise·to·promote·the·sale,·use·or
|
327 |
other·dealings·in·this·Software·without·prior·written·authorization
|
327 |
other·dealings·in·this·Software·without·prior·written·authorization
|
328 |
from·the·X·Consortium.
|
328 |
from·the·X·Consortium.
|
329 |
</p><p>X·Window·System·is·a·trademark·of·The·Open·Group.</p></div></div><div><div·class="legalnotice"><a·id="idm139996711064000"></a><p·class="multiLicensing">
|
329 |
</p><p>X·Window·System·is·a·trademark·of·The·Open·Group.</p></div></div><div><div·class="legalnotice"><a·id="idm140659380983808"></a><p·class="multiLicensing">
|
330 |
Copyright·©·1987,·1988,·1989,·1993,·1994·Sun·Microsystems,·Inc
|
330 |
Copyright·©·1987,·1988,·1989,·1993,·1994·Sun·Microsystems,·Inc
|
331 |
</p><p>
|
331 |
</p><p>
|
332 |
Permission·to·use,·copy,·modify,·and·distribute·this·documentation
|
332 |
Permission·to·use,·copy,·modify,·and·distribute·this·documentation
|
333 |
for·any·purpose·and·without·fee·is·hereby·granted,·provided
|
333 |
for·any·purpose·and·without·fee·is·hereby·granted,·provided
|
334 |
that·the·above·copyright·notice·and·this·permission
|
334 |
that·the·above·copyright·notice·and·this·permission
|
335 |
notice·appear·in·all·copies.
|
335 |
notice·appear·in·all·copies.
|
336 |
Sun·Microsystems·makes·no·representations·about·the
|
336 |
Sun·Microsystems·makes·no·representations·about·the
|
337 |
suitability·for·any·purpose·of·the·information·in·this·document.
|
337 |
suitability·for·any·purpose·of·the·information·in·this·document.
|
338 |
This·documentation·is·provided·as·is·without·express·or·implied·warranty.
|
338 |
This·documentation·is·provided·as·is·without·express·or·implied·warranty.
|
339 |
</p></div></div></div><hr·/></div><div·class="toc"><p><strong>Table·of·Contents</strong></p><dl·class="toc"><dt><span·class="preface"><a·href="#idm139996710961632">Preface·to·Version·2.0</a></span></dt><dt><span·class="preface"><a·href="#idm139996714528672">Preface·to·Version·1.1</a></span></dt><dt><span·class="chapter"><a·href="#Introduction">1.·Introduction</a></span></dt><dd><dl><dt><span·class="sect1"><a·href="#Evolution_of_the_Conventions">Evolution·of·the·Conventions</a></span></dt><dt><span·class="sect1"><a·href="#Atoms">Atoms</a></span></dt><dd><dl><dt><span·class="sect2"><a·href="#What_Are_Atoms">What·Are·Atoms?</a></span></dt><dt><span·class="sect2"><a·href="#Predefined_Atoms">Predefined·Atoms</a></span></dt><dt><span·class="sect2"><a·href="#Naming_Conventions">Naming·Conventions</a></span></dt><dt><span·class="sect2"><a·href="#Semantics">Semantics</a></span></dt><dt><span·class="sect2"><a·href="#Name_Spaces">Name·Spaces</a></span></dt><dt><span·class="sect2"><a·href="#Discriminated_Names">Discrimin·✂
|
339 |
</p></div></div></div><hr·/></div><div·class="toc"><p><strong>Table·of·Contents</strong></p><dl·class="toc"><dt><span·class="preface"><a·href="#idm140659381342576">Preface·to·Version·2.0</a></span></dt><dt><span·class="preface"><a·href="#idm140659382660480">Preface·to·Version·1.1</a></span></dt><dt><span·class="chapter"><a·href="#Introduction">1.·Introduction</a></span></dt><dd><dl><dt><span·class="sect1"><a·href="#Evolution_of_the_Conventions">Evolution·of·the·Conventions</a></span></dt><dt><span·class="sect1"><a·href="#Atoms">Atoms</a></span></dt><dd><dl><dt><span·class="sect2"><a·href="#What_Are_Atoms">What·Are·Atoms?</a></span></dt><dt><span·class="sect2"><a·href="#Predefined_Atoms">Predefined·Atoms</a></span></dt><dt><span·class="sect2"><a·href="#Naming_Conventions">Naming·Conventions</a></span></dt><dt><span·class="sect2"><a·href="#Semantics">Semantics</a></span></dt><dt><span·class="sect2"><a·href="#Name_Spaces">Name·Spaces</a></span></dt><dt><span·class="sect2"><a·href="#Discriminated_Names">Discrimin·✂
|
340 |
The·goal·of·the·ICCCM·Version·2.0·effort·was·to·add·new·facilities,·to·fix
|
340 |
The·goal·of·the·ICCCM·Version·2.0·effort·was·to·add·new·facilities,·to·fix
|
341 |
problems·with·earlier·drafts,·and·to·improve·readability·and
|
341 |
problems·with·earlier·drafts,·and·to·improve·readability·and
|
342 |
understandability,·while·maintaining·compatibility·with·the·earlier
|
342 |
understandability,·while·maintaining·compatibility·with·the·earlier
|
343 |
versions.··This·document·is·the·product·of·over·two·years·of·discussion·among
|
343 |
versions.··This·document·is·the·product·of·over·two·years·of·discussion·among
|
344 |
the·members·of·the·X·Consortium's·<code·class="function">wmtalk</code>·working·group.
|
344 |
the·members·of·the·X·Consortium's·<code·class="function">wmtalk</code>·working·group.
|
345 |
The·following·people·deserve·thanks·for·their·contributions:
|
345 |
The·following·people·deserve·thanks·for·their·contributions:
|
346 |
</p><pre·class="literallayout">
|
346 |
</p><pre·class="literallayout">
|
Offset 359, 15 lines modified |
Offset 359, 15 lines modified |
359 |
Christian·Jacobi
|
359 |
Christian·Jacobi
|
360 |
</pre><p>
|
360 |
</pre><p>
|
361 |
It·has·been·a·privilege·for·me·to·work·with·this·fine·group·of·people.
|
361 |
It·has·been·a·privilege·for·me·to·work·with·this·fine·group·of·people.
|
362 |
</p><p>
|
362 |
</p><p>
|
363 |
Stuart·W.·Marks
|
363 |
Stuart·W.·Marks
|
364 |
</p><p>
|
364 |
</p><p>
|
365 |
December·1993
|
365 |
December·1993
|
366 |
</p></div><div·class="preface"><div·class="titlepage"><div><div><h1·class="title"><a·id="idm139996714528672"></a>Preface·to·Version·1.1</h1></div></div></div><p>
|
366 |
</p></div><div·class="preface"><div·class="titlepage"><div><div><h1·class="title"><a·id="idm140659382660480"></a>Preface·to·Version·1.1</h1></div></div></div><p>
|
367 |
David·Rosenthal·had·overall·architectural·responsibility
|
367 |
David·Rosenthal·had·overall·architectural·responsibility
|
368 |
for·the·conventions·defined·in·this·document;
|
368 |
for·the·conventions·defined·in·this·document;
|
369 |
he·wrote·most·of·the·text·and·edited·the·document,
|
369 |
he·wrote·most·of·the·text·and·edited·the·document,
|
370 |
but·its·development·has·been·a·communal·effort.
|
370 |
but·its·development·has·been·a·communal·effort.
|
371 |
The·details·were·thrashed·out·in·meetings·at·the·January·1988·MIT·X·Conference
|
371 |
The·details·were·thrashed·out·in·meetings·at·the·January·1988·MIT·X·Conference
|
372 |
and·at·the·1988·Summer·Usenix·conference,
|
372 |
and·at·the·1988·Summer·Usenix·conference,
|
373 |
and·through·months·(and·megabytes)·of·argument
|
373 |
and·through·months·(and·megabytes)·of·argument
|
Offset 493, 15 lines modified |
Offset 493, 15 lines modified |
493 |
At·the·conceptual·level,
|
493 |
At·the·conceptual·level,
|
494 |
atoms·are·unique·names·that·clients·can·use·to·communicate·information
|
494 |
atoms·are·unique·names·that·clients·can·use·to·communicate·information
|
495 |
to·each·other.
|
495 |
to·each·other.
|
496 |
They·can·be·thought·of·as·a·bundle·of·octets,
|
496 |
They·can·be·thought·of·as·a·bundle·of·octets,
|
497 |
like·a·string·but·without·an·encoding·being·specified.
|
497 |
like·a·string·but·without·an·encoding·being·specified.
|
498 |
The·elements·are·not·necessarily·ASCII·characters,
|
498 |
The·elements·are·not·necessarily·ASCII·characters,
|
499 |
and·no·case·folding·happens.
|
499 |
and·no·case·folding·happens.
|
500 |
<a·href="#ftn.idm139996714473296"·class="footnote"·id="idm139996714473296"><sup·class="footnote">[1]</sup></a>
|
500 |
<a·href="#ftn.idm140659382937872"·class="footnote"·id="idm140659382937872"><sup·class="footnote">[1]</sup></a>
|
501 |
</p><p>
|
501 |
</p><p>
|
502 |
The·protocol·designers·felt·that·passing·these
|
502 |
The·protocol·designers·felt·that·passing·these
|
503 |
sequences·of·bytes·back·and·forth·across·the·wire·would·be·too·costly.
|
503 |
sequences·of·bytes·back·and·forth·across·the·wire·would·be·too·costly.
|
504 |
Further,·they·thought·it·important·that·events
|
504 |
Further,·they·thought·it·important·that·events
|
505 |
as·they·appear·on·the·wire·have·a·fixed·size·(in·fact,·32·bytes)
|
505 |
as·they·appear·on·the·wire·have·a·fixed·size·(in·fact,·32·bytes)
|
506 |
and·that·because·some·events·contain·atoms,·a·fixed-size·representation
|
506 |
and·that·because·some·events·contain·atoms,·a·fixed-size·representation
|
507 |
for·them·was·needed.
|
507 |
for·them·was·needed.
|
Offset 611, 15 lines modified |
Offset 611, 15 lines modified |
611 |
</p><pre·class="literallayout">
|
611 |
</p><pre·class="literallayout">
|
612 |
····FOO_R12345678_U23
|
612 |
····FOO_R12345678_U23
|
613 |
</pre><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
613 |
</pre><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
614 |
Existing·protocols·will·not·be·changed·to·use·these·naming·conventions,
|
614 |
Existing·protocols·will·not·be·changed·to·use·these·naming·conventions,
|
615 |
because·doing·so·will·cause·too·much·disruption.··However,·it·is·expected
|
615 |
because·doing·so·will·cause·too·much·disruption.··However,·it·is·expected
|
616 |
that·future·protocols·--·both·standard·and·private·--·will·use·these
|
616 |
that·future·protocols·--·both·standard·and·private·--·will·use·these
|
617 |
conventions.
|
617 |
conventions.
|
618 |
</p></blockquote></div></div></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm139996714473296"·class="footnote"><p><a·href="#idm139996714473296"·class="para"><sup·class="para">[1]·</sup></a>
|
618 |
</p></blockquote></div></div></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm140659382937872"·class="footnote"><p><a·href="#idm140659382937872"·class="para"><sup·class="para">[1]·</sup></a>
|
619 |
The·comment·in·the·protocol·specification·for
|
619 |
The·comment·in·the·protocol·specification·for
|
620 |
<code·class="function">InternAtom</code>
|
620 |
<code·class="function">InternAtom</code>
|
621 |
that·ISO·Latin-1·encoding·should·be·used·is·in·the·nature·of·a·convention;
|
621 |
that·ISO·Latin-1·encoding·should·be·used·is·in·the·nature·of·a·convention;
|
622 |
the·server·treats·the·string·as·a·byte·sequence.
|
622 |
the·server·treats·the·string·as·a·byte·sequence.
|
623 |
</p></div></div></div><div·class="chapter"><div·class="titlepage"><div><div><h1·class="title"><a·id="Peer_to_Peer_Communication_by_Means_of_Selections"></a>Chapter 2. Peer-to-Peer·Communication·by·Means·of·Selections</h1></div></div></div><div·class="toc"><p><strong>Table·of·Contents</strong></p><dl·class="toc"><dt><span·class="sect1"><a·href="#Acquiring_Selection_Ownership">Acquiring·Selection·Ownership</a></span></dt><dt><span·class="sect1"><a·href="#Responsibilities_of_the_Selection_Owner">Responsibilities·of·the·Selection·Owner</a></span></dt><dt><span·class="sect1"><a·href="#Giving_Up_Selection_Ownership">Giving·Up·Selection·Ownership</a></span></dt><dd><dl><dt><span·class="sect2"><a·href="#Voluntarily_Giving_Up_Selection_Ownership">Voluntarily·Giving·Up·Selection·Ownership</a></span></dt><dt><span·class="sect2"><a·href="#Forcibly_Giving_Up_Selection_Ownership">Forcibly·Giving·Up·Selection·Ownership</a></span></dt></dl></dd><dt><span·class="sect1"><a·href="#Requesting_a_Selection">Requesting·a·Selection<·✂
|
623 |
</p></div></div></div><div·class="chapter"><div·class="titlepage"><div><div><h1·class="title"><a·id="Peer_to_Peer_Communication_by_Means_of_Selections"></a>Chapter 2. Peer-to-Peer·Communication·by·Means·of·Selections</h1></div></div></div><div·class="toc"><p><strong>Table·of·Contents</strong></p><dl·class="toc"><dt><span·class="sect1"><a·href="#Acquiring_Selection_Ownership">Acquiring·Selection·Ownership</a></span></dt><dt><span·class="sect1"><a·href="#Responsibilities_of_the_Selection_Owner">Responsibilities·of·the·Selection·Owner</a></span></dt><dt><span·class="sect1"><a·href="#Giving_Up_Selection_Ownership">Giving·Up·Selection·Ownership</a></span></dt><dd><dl><dt><span·class="sect2"><a·href="#Voluntarily_Giving_Up_Selection_Ownership">Voluntarily·Giving·Up·Selection·Ownership</a></span></dt><dt><span·class="sect2"><a·href="#Forcibly_Giving_Up_Selection_Ownership">Forcibly·Giving·Up·Selection·Ownership</a></span></dt></dl></dd><dt><span·class="sect1"><a·href="#Requesting_a_Selection">Requesting·a·Selection<·✂
|
624 |
Selections·are·the·primary·mechanism·that·X·Version·11·defines
|
624 |
Selections·are·the·primary·mechanism·that·X·Version·11·defines
|
625 |
for·the·exchange·of·information·between·clients,
|
625 |
for·the·exchange·of·information·between·clients,
|
Offset 692, 15 lines modified |
Offset 692, 15 lines modified |
692 |
that·triggers·the·acquisition·of·the·selection.
|
692 |
that·triggers·the·acquisition·of·the·selection.
|
693 |
Clients·should·not·set·the·time
|
693 |
Clients·should·not·set·the·time
|
694 |
value·to
|
694 |
value·to
|
695 |
<code·class="function">CurrentTime</code>,
|
695 |
<code·class="function">CurrentTime</code>,
|
696 |
because·if·they·do·so,·they·have·no·way·of·finding
|
696 |
because·if·they·do·so,·they·have·no·way·of·finding
|
697 |
when·they·gained·ownership·of·the·selection.
|
697 |
when·they·gained·ownership·of·the·selection.
|
698 |
Clients·must·use·a·window·they·created·so·that·requestors
|
698 |
Clients·must·use·a·window·they·created·so·that·requestors
|
699 |
can·route·events·to·the·owner·of·the·selection.<a·href="#ftn.idm139996709243648"·class="footnote"·id="idm139996709243648"><sup·class="footnote">[2]</sup></a>
|
699 |
can·route·events·to·the·owner·of·the·selection.<a·href="#ftn.idm140659380944416"·class="footnote"·id="idm140659380944416"><sup·class="footnote">[2]</sup></a>
|
700 |
</p><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Convention</strong></p></div><p>
|
700 |
</p><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Convention</strong></p></div><p>
|
701 |
Clients·attempting·to·acquire·a·selection·must·set·the·time·value·of·the
|
701 |
Clients·attempting·to·acquire·a·selection·must·set·the·time·value·of·the
|
702 |
<code·class="function">SetSelectionOwner</code>
|
702 |
<code·class="function">SetSelectionOwner</code>
|
703 |
request·to·the·timestamp·of·the·event·triggering·the·acquisition·attempt,
|
703 |
request·to·the·timestamp·of·the·event·triggering·the·acquisition·attempt,
|
704 |
not·to
|
704 |
not·to
|
705 |
<code·class="function">CurrentTime</code>.
|
705 |
<code·class="function">CurrentTime</code>.
|
706 |
A·zero-length·append·to·a·property·is·a·way·to·obtain·a·timestamp·for
|
706 |
A·zero-length·append·to·a·property·is·a·way·to·obtain·a·timestamp·for
|
Offset 930, 15 lines modified |
Offset 930, 15 lines modified |
930 |
If·the·selection·value·completely·changes,·but·the·owner·happens
|
930 |
If·the·selection·value·completely·changes,·but·the·owner·happens
|
931 |
to·be·the·same·client·(for·example,·selecting·a·totally·different
|
931 |
to·be·the·same·client·(for·example,·selecting·a·totally·different
|
932 |
piece·of·text·in·the·same·<code·class="function">xterm</code>·as·before),
|
932 |
piece·of·text·in·the·same·<code·class="function">xterm</code>·as·before),
|
933 |
then·the·client·should
|
933 |
then·the·client·should
|
934 |
reacquire·the·selection·ownership·as·if·it·were·not·the·owner,
|
934 |
reacquire·the·selection·ownership·as·if·it·were·not·the·owner,
|
935 |
providing·a·new·timestamp.·If·the·selection·value·is·modified,·but
|
935 |
providing·a·new·timestamp.·If·the·selection·value·is·modified,·but
|
936 |
can·still·reasonably·be·viewed·as·the·same·selected·object,
|
936 |
can·still·reasonably·be·viewed·as·the·same·selected·object,
|
937 |
<a·href="#ftn.idm139996709151200"·class="footnote"·id="idm139996709151200"><sup·class="footnote">[3]</sup></a>
|
937 |
<a·href="#ftn.idm140659380851968"·class="footnote"·id="idm140659380851968"><sup·class="footnote">[3]</sup></a>
|
938 |
the·owner·should·take·no·action.
|
938 |
the·owner·should·take·no·action.
|
939 |
</p></div><div·class="sect1"><div·class="titlepage"><div><div><h2·class="title"·style="clear:·both"><a·id="Giving_Up_Selection_Ownership"></a>Giving·Up·Selection·Ownership</h2></div></div></div><p>
|
939 |
</p></div><div·class="sect1"><div·class="titlepage"><div><div><h2·class="title"·style="clear:·both"><a·id="Giving_Up_Selection_Ownership"></a>Giving·Up·Selection·Ownership</h2></div></div></div><p>
|
940 |
Clients·may·either·give·up·selection·ownership·voluntarily
|
940 |
Clients·may·either·give·up·selection·ownership·voluntarily
|
941 |
or·lose·it·forcibly·as·the·result·of·some·other·client's·actions.
|
941 |
or·lose·it·forcibly·as·the·result·of·some·other·client's·actions.
|
942 |
</p><div·class="sect2"><div·class="titlepage"><div><div><h3·class="title"><a·id="Voluntarily_Giving_Up_Selection_Ownership"></a>Voluntarily·Giving·Up·Selection·Ownership</h3></div></div></div><p>
|
942 |
</p><div·class="sect2"><div·class="titlepage"><div><div><h3·class="title"><a·id="Voluntarily_Giving_Up_Selection_Ownership"></a>Voluntarily·Giving·Up·Selection·Ownership</h3></div></div></div><p>
|
943 |
To·relinquish·ownership·of·a·selection·voluntarily,
|
943 |
To·relinquish·ownership·of·a·selection·voluntarily,
|
944 |
a·client·should·execute·a
|
944 |
a·client·should·execute·a
|
Offset 1011, 15 lines modified |
Offset 1011, 15 lines modified |
1011 |
to·be·made.
|
1011 |
to·be·made.
|
1012 |
</p></blockquote></div><p>
|
1012 |
</p></blockquote></div><p>
|
1013 |
The·requestor·should·set·the·property·argument·to·the·name·of·a·property
|
1013 |
The·requestor·should·set·the·property·argument·to·the·name·of·a·property
|
1014 |
that·the·owner·can·use·to·report·the·value·of·the·selection.
|
1014 |
that·the·owner·can·use·to·report·the·value·of·the·selection.
|
1015 |
Requestors·should·ensure·that·the·named·property·does·not·exist
|
1015 |
Requestors·should·ensure·that·the·named·property·does·not·exist
|
1016 |
on·the·window·before·issuing·the
|
1016 |
on·the·window·before·issuing·the
|
1017 |
<code·class="function">ConvertSelection</code>
|
1017 |
<code·class="function">ConvertSelection</code>
|
1018 |
request.<a·href="#ftn.idm139996709118432"·class="footnote"·id="idm139996709118432"><sup·class="footnote">[4]</sup></a>
|
1018 |
request.<a·href="#ftn.idm140659380819280"·class="footnote"·id="idm140659380819280"><sup·class="footnote">[4]</sup></a>
|
1019 |
The·exception·to·this·rule·is·when·the·requestor·intends·to·pass
|
1019 |
The·exception·to·this·rule·is·when·the·requestor·intends·to·pass
|
1020 |
parameters·with·the·request·(see·below).
|
1020 |
parameters·with·the·request·(see·below).
|
1021 |
</p><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
1021 |
</p><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
1022 |
It·is·necessary·for·requestors·to·delete·the·property·before·issuing·the
|
1022 |
It·is·necessary·for·requestors·to·delete·the·property·before·issuing·the
|
1023 |
request·so·that·the·target·can·later·be·extended·to·take·parameters·without
|
1023 |
request·so·that·the·target·can·later·be·extended·to·take·parameters·without
|
1024 |
introducing·an·incompatibility.··Also·note·that·the·requestor·of·a·selection
|
1024 |
introducing·an·incompatibility.··Also·note·that·the·requestor·of·a·selection
|
1025 |
need·not·know·the·client·that·owns·the·selection·nor·the·window·on·which
|
1025 |
need·not·know·the·client·that·owns·the·selection·nor·the·window·on·which
|
Offset 1340, 39 lines modified |
Offset 1340, 39 lines modified |
1340 |
As·a·starting·point·for·this,
|
1340 |
As·a·starting·point·for·this,
|
1341 |
the·following·table·contains·those·that·have·been·suggested·so·far.
|
1341 |
the·following·table·contains·those·that·have·been·suggested·so·far.
|
1342 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/><col·align="left"·class="c3"·/></colgroup><thead><tr><th·align="left">Atom</th><th·align="left">Type·</th><th·align="left">Data·Received</th></tr></thead><tbody><tr><td·align="left">ADOBE_PORTABLE_DOCUMENT_FORMAT</td><td·align="left">STRING</td><td·align="left">[1]</td></tr><tr><td·align="left">APPLE_PICT</td><td·align="left">APPLE_PICT</td><td·align="left">[2]</td></tr><tr><td·align="left">BACKGROUND</td><td·align="left">PIXEL</td><td·align="left">A·list·of·pixel·values</td></tr><tr><td·align="left">BITMAP</td><td·align="left">BITMAP</td><td·align="left">A·list·of·bitmap·IDs</td></tr><tr><td·align="left">CHARACTER_POSITION</td><td·align="left">SPAN</td><td·align="left">The·start·and·end·of·the·selection·in·bytes</td></tr><tr><td·align="left">CLASS</td><td·align="left">TEXT</td><td·align="left">(see
|
1342 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/><col·align="left"·class="c3"·/></colgroup><thead><tr><th·align="left">Atom</th><th·align="left">Type·</th><th·align="left">Data·Received</th></tr></thead><tbody><tr><td·align="left">ADOBE_PORTABLE_DOCUMENT_FORMAT</td><td·align="left">STRING</td><td·align="left">[1]</td></tr><tr><td·align="left">APPLE_PICT</td><td·align="left">APPLE_PICT</td><td·align="left">[2]</td></tr><tr><td·align="left">BACKGROUND</td><td·align="left">PIXEL</td><td·align="left">A·list·of·pixel·values</td></tr><tr><td·align="left">BITMAP</td><td·align="left">BITMAP</td><td·align="left">A·list·of·bitmap·IDs</td></tr><tr><td·align="left">CHARACTER_POSITION</td><td·align="left">SPAN</td><td·align="left">The·start·and·end·of·the·selection·in·bytes</td></tr><tr><td·align="left">CLASS</td><td·align="left">TEXT</td><td·align="left">(see
|
1343 |
<a·class="xref"·href="#WM_CLASS_Property"·title="WM_CLASS·Property">WM_CLASS·Property</a>.
|
1343 |
<a·class="xref"·href="#WM_CLASS_Property"·title="WM_CLASS·Property">WM_CLASS·Property</a>.
|
1344 |
)</td></tr><tr><td·align="left">CLIENT_WINDOW</td><td·align="left">WINDOW</td><td·align="left">Any·top-level·window·owned·by·the·selection·owner</td></tr><tr><td·align="left">COLORMAP</td><td·align="left">COLORMAP</td><td·align="left">A·list·of·colormap·IDs</td></tr><tr><td·align="left">COLUMN_NUMBER</td><td·align="left">SPAN</td><td·align="left">The·start·and·end·column·numbers</td></tr><tr><td·align="left">COMPOUND_TEXT</td><td·align="left">COMPOUND_TEXT</td><td·align="left">Compound·Text</td></tr><tr><td·align="left">DELETE</td><td·align="left">NULL</td><td·align="left">(see
|
1344 |
)</td></tr><tr><td·align="left">CLIENT_WINDOW</td><td·align="left">WINDOW</td><td·align="left">Any·top-level·window·owned·by·the·selection·owner</td></tr><tr><td·align="left">COLORMAP</td><td·align="left">COLORMAP</td><td·align="left">A·list·of·colormap·IDs</td></tr><tr><td·align="left">COLUMN_NUMBER</td><td·align="left">SPAN</td><td·align="left">The·start·and·end·column·numbers</td></tr><tr><td·align="left">COMPOUND_TEXT</td><td·align="left">COMPOUND_TEXT</td><td·align="left">Compound·Text</td></tr><tr><td·align="left">DELETE</td><td·align="left">NULL</td><td·align="left">(see
|
1345 |
<a·class="xref"·href="#DELETE"·title="DELETE">DELETE</a>.
|
1345 |
<a·class="xref"·href="#DELETE"·title="DELETE">DELETE</a>.
|
1346 |
)</td></tr><tr><td·align="left">DRAWABLE</td><td·align="left">DRAWABLE</td><td·align="left">A·list·of·drawable·IDs</td></tr><tr><td·align="left">ENCAPSULATED_POSTSCRIPT</td><td·align="left">STRING</td><td·align="left">[3],·Appendix·H
|
1346 |
)</td></tr><tr><td·align="left">DRAWABLE</td><td·align="left">DRAWABLE</td><td·align="left">A·list·of·drawable·IDs</td></tr><tr><td·align="left">ENCAPSULATED_POSTSCRIPT</td><td·align="left">STRING</td><td·align="left">[3],·Appendix·H
|
1347 |
<a·href="#ftn.idm139996708984016"·class="footnote"·id="idm139996708984016"><sup·class="footnote">[a]</sup></a>
|
1347 |
<a·href="#ftn.idm140659380685552"·class="footnote"·id="idm140659380685552"><sup·class="footnote">[a]</sup></a>
|
1348 |
······</td></tr><tr><td·align="left">ENCAPSULATED_POSTSCRIPT_INTERCHANGE</td><td·align="left">STRING</td><td·align="left">[3],·Appendix·H</td></tr><tr><td·align="left">FILE_NAME</td><td·align="left">TEXT</td><td·align="left">The·full·path·name·of·a·file</td></tr><tr><td·align="left">FOREGROUND</td><td·align="left">PIXEL</td><td·align="left">A·list·of·pixel·values</td></tr><tr><td·align="left">HOST_NAME</td><td·align="left">TEXT</td><td·align="left">(see
|
1348 |
······</td></tr><tr><td·align="left">ENCAPSULATED_POSTSCRIPT_INTERCHANGE</td><td·align="left">STRING</td><td·align="left">[3],·Appendix·H</td></tr><tr><td·align="left">FILE_NAME</td><td·align="left">TEXT</td><td·align="left">The·full·path·name·of·a·file</td></tr><tr><td·align="left">FOREGROUND</td><td·align="left">PIXEL</td><td·align="left">A·list·of·pixel·values</td></tr><tr><td·align="left">HOST_NAME</td><td·align="left">TEXT</td><td·align="left">(see
|
1349 |
<a·class="xref"·href="#WM_CLIENT_MACHINE_Property"·title="WM_CLIENT_MACHINE·Property">WM_CLIENT_MACHINE·Property</a>.
|
1349 |
<a·class="xref"·href="#WM_CLIENT_MACHINE_Property"·title="WM_CLIENT_MACHINE·Property">WM_CLIENT_MACHINE·Property</a>.
|
1350 |
)</td></tr><tr><td·align="left">INSERT_PROPERTY</td><td·align="left">NULL</td><td·align="left">(see
|
1350 |
)</td></tr><tr><td·align="left">INSERT_PROPERTY</td><td·align="left">NULL</td><td·align="left">(see
|
1351 |
<a·class="xref"·href="#INSERT_PROPERTY"·title="INSERT_PROPERTY">INSERT_PROPERTY</a>.
|
1351 |
<a·class="xref"·href="#INSERT_PROPERTY"·title="INSERT_PROPERTY">INSERT_PROPERTY</a>.
|
1352 |
)</td></tr><tr><td·align="left">INSERT_SELECTION</td><td·align="left">NULL</td><td·align="left">(see
|
1352 |
)</td></tr><tr><td·align="left">INSERT_SELECTION</td><td·align="left">NULL</td><td·align="left">(see
|
1353 |
<a·class="xref"·href="#INSERT_SELECTION"·title="INSERT_SELECTION">INSERT_SELECTION</a>.
|
1353 |
<a·class="xref"·href="#INSERT_SELECTION"·title="INSERT_SELECTION">INSERT_SELECTION</a>.
|
1354 |
)</td></tr><tr><td·align="left">LENGTH</td><td·align="left">INTEGER</td><td·align="left">The·number·of·bytes·in·the·selection
|
1354 |
)</td></tr><tr><td·align="left">LENGTH</td><td·align="left">INTEGER</td><td·align="left">The·number·of·bytes·in·the·selection
|
1355 |
<a·href="#ftn.idm139996708970240"·class="footnote"·id="idm139996708970240"><sup·class="footnote">[b]</sup></a>
|
1355 |
<a·href="#ftn.idm140659380671776"·class="footnote"·id="idm140659380671776"><sup·class="footnote">[b]</sup></a>
|
1356 |
······</td></tr><tr><td·align="left">LINE_NUMBER</td><td·align="left">SPAN</td><td·align="left">The·start·and·end·line·numbers</td></tr><tr><td·align="left">LIST_LENGTH</td><td·align="left">INTEGER</td><td·align="left">The·number·of·disjoint·parts·of·the·selection</td></tr><tr><td·align="left">MODULE</td><td·align="left">TEXT</td><td·align="left">The·name·of·the·selected·procedure</td></tr><tr><td·align="left">MULTIPLE</td><td·align="left">ATOM_PAIR</td><td·align="left">(see·the·discussion·that·follows)</td></tr><tr><td·align="left">NAME</td><td·align="left">TEXT</td><td·align="left">(see
|
1356 |
······</td></tr><tr><td·align="left">LINE_NUMBER</td><td·align="left">SPAN</td><td·align="left">The·start·and·end·line·numbers</td></tr><tr><td·align="left">LIST_LENGTH</td><td·align="left">INTEGER</td><td·align="left">The·number·of·disjoint·parts·of·the·selection</td></tr><tr><td·align="left">MODULE</td><td·align="left">TEXT</td><td·align="left">The·name·of·the·selected·procedure</td></tr><tr><td·align="left">MULTIPLE</td><td·align="left">ATOM_PAIR</td><td·align="left">(see·the·discussion·that·follows)</td></tr><tr><td·align="left">NAME</td><td·align="left">TEXT</td><td·align="left">(see
|
1357 |
<a·class="xref"·href="#WM_NAME_Property"·title="WM_NAME·Property">WM_NAME·Property</a>.
|
1357 |
<a·class="xref"·href="#WM_NAME_Property"·title="WM_NAME·Property">WM_NAME·Property</a>.
|
1358 |
)</td></tr><tr><td·align="left">ODIF</td><td·align="left">TEXT</td><td·align="left">ISO·Office·Document·Interchange·Format</td></tr><tr><td·align="left">OWNER_OS</td><td·align="left">TEXT</td><td·align="left">The·operating·system·of·the·owner·client</td></tr><tr><td·align="left">PIXMAP</td><td·align="left">PIXMAP
|
1358 |
)</td></tr><tr><td·align="left">ODIF</td><td·align="left">TEXT</td><td·align="left">ISO·Office·Document·Interchange·Format</td></tr><tr><td·align="left">OWNER_OS</td><td·align="left">TEXT</td><td·align="left">The·operating·system·of·the·owner·client</td></tr><tr><td·align="left">PIXMAP</td><td·align="left">PIXMAP
|
1359 |
<a·href="#ftn.idm139996708956496"·class="footnote"·id="idm139996708956496"><sup·class="footnote">[c]</sup></a>
|
1359 |
<a·href="#ftn.idm140659380658032"·class="footnote"·id="idm140659380658032"><sup·class="footnote">[c]</sup></a>
|
1360 |
······</td><td·align="left">A·list·of·pixmap·IDs</td></tr><tr><td·align="left">POSTSCRIPT</td><td·align="left">STRING</td><td·align="left">[3]</td></tr><tr><td·align="left">PROCEDURE</td><td·align="left">TEXT</td><td·align="left">The·name·of·the·selected·procedure</td></tr><tr><td·align="left">PROCESS</td><td·align="left">INTEGER,·TEXT</td><td·align="left">The·process·ID·of·the·owner</td></tr><tr><td·align="left">STRING</td><td·align="left">STRING</td><td·align="left">ISO·Latin-1·(+TAB+NEWLINE)·text</td></tr><tr><td·align="left">TARGETS</td><td·align="left">ATOM</td><td·align="left">A·list·of·valid·target·atoms</td></tr><tr><td·align="left">TASK</td><td·align="left">INTEGER,·TEXT</td><td·align="left">The·task·ID·of·the·owner</td></tr><tr><td·align="left">TEXT</td><td·align="left">TEXT</td><td·align="left">The·text·in·the·owner's·choice·of·encoding</td></tr><tr><td·align="left">TIMESTAMP</td><td·align="left">INTEGER</td><td·align="left">The·timestamp·used·to·acquire·the·selection</td></tr><tr><td·align="left">·✂
|
1360 |
······</td><td·align="left">A·list·of·pixmap·IDs</td></tr><tr><td·align="left">POSTSCRIPT</td><td·align="left">STRING</td><td·align="left">[3]</td></tr><tr><td·align="left">PROCEDURE</td><td·align="left">TEXT</td><td·align="left">The·name·of·the·selected·procedure</td></tr><tr><td·align="left">PROCESS</td><td·align="left">INTEGER,·TEXT</td><td·align="left">The·process·ID·of·the·owner</td></tr><tr><td·align="left">STRING</td><td·align="left">STRING</td><td·align="left">ISO·Latin-1·(+TAB+NEWLINE)·text</td></tr><tr><td·align="left">TARGETS</td><td·align="left">ATOM</td><td·align="left">A·list·of·valid·target·atoms</td></tr><tr><td·align="left">TASK</td><td·align="left">INTEGER,·TEXT</td><td·align="left">The·task·ID·of·the·owner</td></tr><tr><td·align="left">TEXT</td><td·align="left">TEXT</td><td·align="left">The·text·in·the·owner's·choice·of·encoding</td></tr><tr><td·align="left">TIMESTAMP</td><td·align="left">INTEGER</td><td·align="left">The·timestamp·used·to·acquire·the·selection</td></tr><tr><td·align="left">·✂
|
1361 |
Earlier·versions·of·this·document·erroneously·specified·that·conversion·of
|
1361 |
Earlier·versions·of·this·document·erroneously·specified·that·conversion·of
|
1362 |
the·PIXMAP·target·returns·a·property·of·type·DRAWABLE·instead·of·PIXMAP.
|
1362 |
the·PIXMAP·target·returns·a·property·of·type·DRAWABLE·instead·of·PIXMAP.
|
1363 |
Implementors·should·be·aware·of·this·and·may·want·to·support·the·DRAWABLE
|
1363 |
Implementors·should·be·aware·of·this·and·may·want·to·support·the·DRAWABLE
|
1364 |
type·as·well·to·allow·for·compatibility·with·older·clients.
|
1364 |
type·as·well·to·allow·for·compatibility·with·older·clients.
|
1365 |
</p></div><div·id="ftn.idm139996708970240"·class="footnote"><p><a·href="#idm139996708970240"·class="para"><sup·class="para">[b]·</sup></a>
|
1365 |
</p></div><div·id="ftn.idm140659380671776"·class="footnote"><p><a·href="#idm140659380671776"·class="para"><sup·class="para">[b]·</sup></a>
|
1366 |
The·targets·ENCAPSULATED_POSTSCRIPT·and·ENCAPSULATED_POSTSCRIPT_INTERCHANGE
|
1366 |
The·targets·ENCAPSULATED_POSTSCRIPT·and·ENCAPSULATED_POSTSCRIPT_INTERCHANGE
|
1367 |
are·equivalent·to·the·targets·_ADOBE_EPS·and·_ADOBE_EPSI·(respectively)·that
|
1367 |
are·equivalent·to·the·targets·_ADOBE_EPS·and·_ADOBE_EPSI·(respectively)·that
|
1368 |
appear·in·the·selection·targets·registry.··The·_ADOBE_·targets·are
|
1368 |
appear·in·the·selection·targets·registry.··The·_ADOBE_·targets·are
|
1369 |
deprecated,·but·clients·are·encouraged·to·continue·to·support·them·for
|
1369 |
deprecated,·but·clients·are·encouraged·to·continue·to·support·them·for
|
1370 |
backward·compatibility.
|
1370 |
backward·compatibility.
|
1371 |
</p></div><div·id="ftn.idm139996708956496"·class="footnote"><p><a·href="#idm139996708956496"·class="para"><sup·class="para">[c]·</sup></a>
|
1371 |
</p></div><div·id="ftn.idm140659380658032"·class="footnote"><p><a·href="#idm140659380658032"·class="para"><sup·class="para">[c]·</sup></a>
|
1372 |
This·definition·is·ambiguous,·as·the·selection·may·be·converted·into·any·of
|
1372 |
This·definition·is·ambiguous,·as·the·selection·may·be·converted·into·any·of
|
1373 |
several·targets·that·may·return·differing·amounts·of·data.··The·requestor
|
1373 |
several·targets·that·may·return·differing·amounts·of·data.··The·requestor
|
1374 |
has·no·way·of·knowing·which,·if·any,·of·these·targets·corresponds·to·the
|
1374 |
has·no·way·of·knowing·which,·if·any,·of·these·targets·corresponds·to·the
|
1375 |
result·of·LENGTH.··Clients·are·advised·that·no·guarantees·can·be·made·about
|
1375 |
result·of·LENGTH.··Clients·are·advised·that·no·guarantees·can·be·made·about
|
1376 |
the·result·of·a·conversion·to·LENGTH;·its·use·is·thus·deprecated.
|
1376 |
the·result·of·a·conversion·to·LENGTH;·its·use·is·thus·deprecated.
|
1377 |
</p></div></td></tr></tbody></table></div><p>
|
1377 |
</p></div></td></tr></tbody></table></div><p>
|
1378 |
References:
|
1378 |
References:
|
Offset 1594, 15 lines modified |
Offset 1594, 15 lines modified |
|
|
1594 |
There·are·some·text·objects·where·the·source·or·intended·user,·as·the
|
1594 |
There·are·some·text·objects·where·the·source·or·intended·user,·as·the
|
1595 |
case·may·be,·does·not·have·a·specific·character·set·for·the·text,·but
|
1595 |
case·may·be,·does·not·have·a·specific·character·set·for·the·text,·but
|
1596 |
instead·merely·requires·a·zero-terminated·sequence·of·bytes·with·no
|
1596 |
instead·merely·requires·a·zero-terminated·sequence·of·bytes·with·no
|
1597 |
other·restriction;·no·element·of·the·selection·mechanism·may·assume·that
|
1597 |
other·restriction;·no·element·of·the·selection·mechanism·may·assume·that
|
1598 |
any·byte·value·is·forbidden·or·that·any·two·differing·sequences·are
|
1598 |
any·byte·value·is·forbidden·or·that·any·two·differing·sequences·are
|
1599 |
equivalent.
|
1599 |
equivalent.
|
1600 |
··<a·href="#ftn.idm139996708847984"·class="footnote"·id="idm139996708847984"><sup·class="footnote">[5]</sup></a>
|
1600 |
··<a·href="#ftn.idm140659380549472"·class="footnote"·id="idm140659380549472"><sup·class="footnote">[5]</sup></a>
|
1601 |
··For·these·objects,·the·type·C_STRING·should·be·used.
|
1601 |
··For·these·objects,·the·type·C_STRING·should·be·used.
|
1602 |
</p><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
1602 |
</p><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
1603 |
An·example·of·the·need·for·C_STRING·is·to·transmit·the·names·of
|
1603 |
An·example·of·the·need·for·C_STRING·is·to·transmit·the·names·of
|
1604 |
files;·many·operating·systems·do·not·interpret·filenames·as·having
|
1604 |
files;·many·operating·systems·do·not·interpret·filenames·as·having
|
1605 |
a·character·set.·For·example,·the·same·character·string·uses·a
|
1605 |
a·character·set.·For·example,·the·same·character·string·uses·a
|
1606 |
different·sequence·of·bytes·in·ASCII·and·EBCDIC,·and·so·most
|
1606 |
different·sequence·of·bytes·in·ASCII·and·EBCDIC,·and·so·most
|
1607 |
operating·systems·see·these·as·different·filenames·and·offer·no
|
1607 |
operating·systems·see·these·as·different·filenames·and·offer·no
|
Offset 1610, 15 lines modified |
Offset 1610, 15 lines modified |
1610 |
property·type·is·suitable.
|
1610 |
property·type·is·suitable.
|
1611 |
</p></blockquote></div><p>
|
1611 |
</p></blockquote></div><p>
|
1612 |
Type·STRING,·COMPOUND_TEXT,·and·C_STRING·properties·will·consist·of·a·list
|
1612 |
Type·STRING,·COMPOUND_TEXT,·and·C_STRING·properties·will·consist·of·a·list
|
1613 |
of·elements·separated·by·null·characters;·other·encodings·will·need·to
|
1613 |
of·elements·separated·by·null·characters;·other·encodings·will·need·to
|
1614 |
specify·an·appropriate·list·format.
|
1614 |
specify·an·appropriate·list·format.
|
1615 |
</p></div><div·class="sect2"><div·class="titlepage"><div><div><h3·class="title"><a·id="INCR_Properties"></a>INCR·Properties</h3></div></div></div><p>
|
1615 |
</p></div><div·class="sect2"><div·class="titlepage"><div><div><h3·class="title"><a·id="INCR_Properties"></a>INCR·Properties</h3></div></div></div><p>
|
1616 |
Requestors·may·receive·a·property·of·type·INCR
|
1616 |
Requestors·may·receive·a·property·of·type·INCR
|
1617 |
<a·href="#ftn.idm139996708843360"·class="footnote"·id="idm139996708843360"><sup·class="footnote">[6]</sup></a>
|
1617 |
<a·href="#ftn.idm140659380544928"·class="footnote"·id="idm140659380544928"><sup·class="footnote">[6]</sup></a>
|
1618 |
in·response·to·any·target·that·results·in·selection·data.
|
1618 |
in·response·to·any·target·that·results·in·selection·data.
|
1619 |
</p><p>
|
1619 |
</p><p>
|
1620 |
This·indicates·that·the·owner·will·send·the·actual·data·incrementally.
|
1620 |
This·indicates·that·the·owner·will·send·the·actual·data·incrementally.
|
1621 |
The·contents·of·the·INCR·property·will·be·an·integer,
|
1621 |
The·contents·of·the·INCR·property·will·be·an·integer,
|
1622 |
which·represents·a·lower·bound·on·the·number·of·bytes·of·data·in·the·selection.
|
1622 |
which·represents·a·lower·bound·on·the·number·of·bytes·of·data·in·the·selection.
|
1623 |
The·requestor·and·the·selection·owner·transfer·the·data·in·the·selection
|
1623 |
The·requestor·and·the·selection·owner·transfer·the·data·in·the·selection
|
1624 |
in·the·following·manner.
|
1624 |
in·the·following·manner.
|
Offset 1788, 49 lines modified |
Offset 1788, 49 lines modified |
1788 |
event.··This·event·should·be·sent·using·the
|
1788 |
event.··This·event·should·be·sent·using·the
|
1789 |
<code·class="function">SendEvent</code>
|
1789 |
<code·class="function">SendEvent</code>
|
1790 |
protocol·request·with·the·following·arguments:
|
1790 |
protocol·request·with·the·following·arguments:
|
1791 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/></colgroup><thead><tr><th·align="left">Argument</th><th·align="left">Value</th></tr></thead><tbody><tr><td·align="left">destination:</td><td·align="left">
|
1791 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/></colgroup><thead><tr><th·align="left">Argument</th><th·align="left">Value</th></tr></thead><tbody><tr><td·align="left">destination:</td><td·align="left">
|
1792 |
the·root·window·of·screen·0,·or·the·root
|
1792 |
the·root·window·of·screen·0,·or·the·root
|
1793 |
window·of·the·appropriate·screen·if·the
|
1793 |
window·of·the·appropriate·screen·if·the
|
1794 |
manager·is·managing·a·screen-specific·resource</td></tr><tr><td·align="left">propogate:</td><td·align="left">False</td></tr><tr><td·align="left">event-mask:</td><td·align="left"><code·class="function">StructureNotify</code></td></tr><tr><td·align="left">event:</td><td·align="left"><code·class="function">ClientMessage</code></td></tr><tr><td·align="left"> type:</td><td·align="left">MANAGER</td></tr><tr><td·align="left"> format:</td><td·align="left">32</td></tr><tr><td·align="left"> data[0]
|
1794 |
manager·is·managing·a·screen-specific·resource</td></tr><tr><td·align="left">propogate:</td><td·align="left">False</td></tr><tr><td·align="left">event-mask:</td><td·align="left"><code·class="function">StructureNotify</code></td></tr><tr><td·align="left">event:</td><td·align="left"><code·class="function">ClientMessage</code></td></tr><tr><td·align="left"> type:</td><td·align="left">MANAGER</td></tr><tr><td·align="left"> format:</td><td·align="left">32</td></tr><tr><td·align="left"> data[0]
|
1795 |
<a·href="#ftn.idm139996708783776"·class="footnote"·id="idm139996708783776"><sup·class="footnote">[a]</sup></a>
|
1795 |
<a·href="#ftn.idm140659380485584"·class="footnote"·id="idm140659380485584"><sup·class="footnote">[a]</sup></a>
|
1796 |
······</td><td·align="left">timestamp</td></tr><tr><td·align="left"> data[1]:</td><td·align="left">manager·selection·atom</td></tr><tr><td·align="left"> data[2]:</td><td·align="left">the·window·owning·the·selection</td></tr><tr><td·align="left"> data[3]:</td><td·align="left">manager-selection-specific·data</td></tr><tr><td·align="left"> data[4]:</td><td·align="left">manager-selection-specific·data</td></tr></tbody><tbody·class="footnotes"><tr><td·colspan="2"><div·id="ftn.idm139996708783776"·class="footnote"><p><a·href="#idm139996708783776"·class="para"><sup·class="para">[a]·</sup></a>
|
1796 |
······</td><td·align="left">timestamp</td></tr><tr><td·align="left"> data[1]:</td><td·align="left">manager·selection·atom</td></tr><tr><td·align="left"> data[2]:</td><td·align="left">the·window·owning·the·selection</td></tr><tr><td·align="left"> data[3]:</td><td·align="left">manager-selection-specific·data</td></tr><tr><td·align="left"> data[4]:</td><td·align="left">manager-selection-specific·data</td></tr></tbody><tbody·class="footnotes"><tr><td·colspan="2"><div·id="ftn.idm140659380485584"·class="footnote"><p><a·href="#idm140659380485584"·class="para"><sup·class="para">[a]·</sup></a>
|
1797 |
We·use·the·notation·data[n]·to·indicate·the·n
|
1797 |
We·use·the·notation·data[n]·to·indicate·the·n
|
1798 |
<sup>th</sup>·element
|
1798 |
<sup>th</sup>·element
|
1799 |
of·the·LISTofINT8,·LISTofINT16,·or·LISTofINT32·in·the·data·field·of·the
|
1799 |
of·the·LISTofINT8,·LISTofINT16,·or·LISTofINT32·in·the·data·field·of·the
|
1800 |
<code·class="function">ClientMessage</code>,
|
1800 |
<code·class="function">ClientMessage</code>,
|
1801 |
according·to·the·format·field.
|
1801 |
according·to·the·format·field.
|
1802 |
The·list·is·indexed·from·zero.
|
1802 |
The·list·is·indexed·from·zero.
|
1803 |
</p></div></td></tr></tbody></table></div><p>
|
1803 |
</p></div></td></tr></tbody></table></div><p>
|
1804 |
Clients·that·wish·to·know·when·a·specific·manager·has·started·should
|
1804 |
Clients·that·wish·to·know·when·a·specific·manager·has·started·should
|
1805 |
select·for
|
1805 |
select·for
|
1806 |
<code·class="function">StructureNotify</code>
|
1806 |
<code·class="function">StructureNotify</code>
|
1807 |
on·the·appropriate·root·window·and·should·watch·for·the·appropriate·MANAGER
|
1807 |
on·the·appropriate·root·window·and·should·watch·for·the·appropriate·MANAGER
|
1808 |
<code·class="function">ClientMessage</code>.
|
1808 |
<code·class="function">ClientMessage</code>.
|
1809 |
</p></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm139996709243648"·class="footnote"><p><a·href="#idm139996709243648"·class="para"><sup·class="para">[2]·</sup></a>
|
1809 |
</p></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm140659380944416"·class="footnote"><p><a·href="#idm140659380944416"·class="para"><sup·class="para">[2]·</sup></a>
|
1810 |
At·present,·no·part·of·the·protocol·requires·requestors
|
1810 |
At·present,·no·part·of·the·protocol·requires·requestors
|
1811 |
to·send·events·to·the·owner·of·a·selection.
|
1811 |
to·send·events·to·the·owner·of·a·selection.
|
1812 |
This·restriction·is·imposed·to·prepare·for·possible·future·extensions.
|
1812 |
This·restriction·is·imposed·to·prepare·for·possible·future·extensions.
|
1813 |
</p></div><div·id="ftn.idm139996709151200"·class="footnote"><p><a·href="#idm139996709151200"·class="para"><sup·class="para">[3]·</sup></a>
|
1813 |
</p></div><div·id="ftn.idm140659380851968"·class="footnote"><p><a·href="#idm140659380851968"·class="para"><sup·class="para">[3]·</sup></a>
|
1814 |
The·division·between·these·two·cases·is·a·matter·of·judgment
|
1814 |
The·division·between·these·two·cases·is·a·matter·of·judgment
|
1815 |
on·the·part·of·the·software·developer.
|
1815 |
on·the·part·of·the·software·developer.
|
1816 |
</p></div><div·id="ftn.idm139996709118432"·class="footnote"><p><a·href="#idm139996709118432"·class="para"><sup·class="para">[4]·</sup></a>
|
1816 |
</p></div><div·id="ftn.idm140659380819280"·class="footnote"><p><a·href="#idm140659380819280"·class="para"><sup·class="para">[4]·</sup></a>
|
1817 |
This·requirement·is·new·in·version·2.0,·and,·in·general,·existing
|
1817 |
This·requirement·is·new·in·version·2.0,·and,·in·general,·existing
|
1818 |
clients·do·not·conform·to·this·requirement.··To·prevent·these·clients
|
1818 |
clients·do·not·conform·to·this·requirement.··To·prevent·these·clients
|
1819 |
from·breaking,·no·existing·targets·should·be·extended·to·take
|
1819 |
from·breaking,·no·existing·targets·should·be·extended·to·take
|
1820 |
parameters·until·sufficient·time·has·passed·for·clients·to·be·updated.
|
1820 |
parameters·until·sufficient·time·has·passed·for·clients·to·be·updated.
|
1821 |
Note·that·the·MULTIPLE·target·was·defined·to·take·parameters·in·version
|
1821 |
Note·that·the·MULTIPLE·target·was·defined·to·take·parameters·in·version
|
1822 |
1.0·and·its·definition·is·not·changing.··There·is·thus·no·conformance
|
1822 |
1.0·and·its·definition·is·not·changing.··There·is·thus·no·conformance
|
1823 |
problem·with·MULTIPLE.
|
1823 |
problem·with·MULTIPLE.
|
1824 |
</p></div><div·id="ftn.idm139996708847984"·class="footnote"><p><a·href="#idm139996708847984"·class="para"><sup·class="para">[5]·</sup></a>
|
1824 |
</p></div><div·id="ftn.idm140659380549472"·class="footnote"><p><a·href="#idm140659380549472"·class="para"><sup·class="para">[5]·</sup></a>
|
1825 |
Note·that·this·is·different·from·STRING,·where·many·byte·values·are
|
1825 |
Note·that·this·is·different·from·STRING,·where·many·byte·values·are
|
1826 |
forbidden,·and·from·COMPOUND_TEXT,·where,·for·example,·inserting·the
|
1826 |
forbidden,·and·from·COMPOUND_TEXT,·where,·for·example,·inserting·the
|
1827 |
sequence·27,\·40,\·66·(designate·ASCII·into·GL)·at·the·start·does·not·alter
|
1827 |
sequence·27,\·40,\·66·(designate·ASCII·into·GL)·at·the·start·does·not·alter
|
1828 |
the·meaning.
|
1828 |
the·meaning.
|
1829 |
····</p></div><div·id="ftn.idm139996708843360"·class="footnote"><p><a·href="#idm139996708843360"·class="para"><sup·class="para">[6]·</sup></a>
|
1829 |
····</p></div><div·id="ftn.idm140659380544928"·class="footnote"><p><a·href="#idm140659380544928"·class="para"><sup·class="para">[6]·</sup></a>
|
1830 |
These·properties·were·called·INCREMENTAL·in·an·earlier·draft.
|
1830 |
These·properties·were·called·INCREMENTAL·in·an·earlier·draft.
|
1831 |
The·protocol·for·using·them·has·changed,
|
1831 |
The·protocol·for·using·them·has·changed,
|
1832 |
and·so·the·name·has·changed·to·avoid·confusion.
|
1832 |
and·so·the·name·has·changed·to·avoid·confusion.
|
1833 |
</p></div></div></div><div·class="chapter"><div·class="titlepage"><div><div><h1·class="title"><a·id="Peer_to_Peer_Communication_by_Means_of_Cut_Buffers"></a>Chapter 3. Peer-to-Peer·Communication·by·Means·of·Cut·Buffers</h1></div></div></div><p>
|
1833 |
</p></div></div></div><div·class="chapter"><div·class="titlepage"><div><div><h1·class="title"><a·id="Peer_to_Peer_Communication_by_Means_of_Cut_Buffers"></a>Chapter 3. Peer-to-Peer·Communication·by·Means·of·Cut·Buffers</h1></div></div></div><p>
|
1834 |
The·cut·buffer·mechanism·is·much·simpler·but·much·less·powerful
|
1834 |
The·cut·buffer·mechanism·is·much·simpler·but·much·less·powerful
|
1835 |
than·the·selection·mechanism.
|
1835 |
than·the·selection·mechanism.
|
1836 |
The·selection·mechanism·is·active·in·that·it·provides·a·link
|
1836 |
The·selection·mechanism·is·active·in·that·it·provides·a·link
|
Offset 2284, 15 lines modified |
Offset 2284, 15 lines modified |
|
|
2284 |
····</p></li></ul></div></blockquote></div><p>
|
2284 |
····</p></li></ul></div></blockquote></div><p>
|
2285 |
Window·managers·may·provide·facilities·for·manipulating·the·group·as·a·whole.
|
2285 |
Window·managers·may·provide·facilities·for·manipulating·the·group·as·a·whole.
|
2286 |
Clients,·at·present,·have·no·way·to·operate·on·the·group·as·a·whole.
|
2286 |
Clients,·at·present,·have·no·way·to·operate·on·the·group·as·a·whole.
|
2287 |
</p><p>
|
2287 |
</p><p>
|
2288 |
The·messages·bit,·if·set·in·the·flags·field,·indicates·that·the
|
2288 |
The·messages·bit,·if·set·in·the·flags·field,·indicates·that·the
|
2289 |
client·is·using·an·obsolete·window·manager·communication·protocol,
|
2289 |
client·is·using·an·obsolete·window·manager·communication·protocol,
|
2290 |
<a·href="#ftn.idm139996708571072"·class="footnote"·id="idm139996708571072"><sup·class="footnote">[7]</sup></a>
|
2290 |
<a·href="#ftn.idm140659380273040"·class="footnote"·id="idm140659380273040"><sup·class="footnote">[7]</sup></a>
|
2291 |
rather·than·the·WM_PROTOCOLS·mechanism·of
|
2291 |
rather·than·the·WM_PROTOCOLS·mechanism·of
|
2292 |
<a·class="xref"·href="#WM_PROTOCOLS_Property"·title="WM_PROTOCOLS·Property">WM_PROTOCOLS·Property</a>
|
2292 |
<a·class="xref"·href="#WM_PROTOCOLS_Property"·title="WM_PROTOCOLS·Property">WM_PROTOCOLS·Property</a>
|
2293 |
</p><p>
|
2293 |
</p><p>
|
2294 |
The
|
2294 |
The
|
2295 |
<code·class="function">UrgencyHint</code>
|
2295 |
<code·class="function">UrgencyHint</code>
|
2296 |
flag,·if·set·in·the·flags·field,·indicates·that·the·client·deems·the·window
|
2296 |
flag,·if·set·in·the·flags·field,·indicates·that·the·client·deems·the·window
|
2297 |
contents·to·be·urgent,·requiring·the·timely·response·of·the·user.··The
|
2297 |
contents·to·be·urgent,·requiring·the·timely·response·of·the·user.··The
|
Offset 2604, 25 lines modified |
Offset 2604, 25 lines modified |
2604 |
property·as·described·in
|
2604 |
property·as·described·in
|
2605 |
<a·class="xref"·href="#WM_STATE_Property"·title="WM_STATE·Property">WM_STATE·Property</a>.
|
2605 |
<a·class="xref"·href="#WM_STATE_Property"·title="WM_STATE·Property">WM_STATE·Property</a>.
|
2606 |
Clients·that·want·to·re-use·a·client·window·(e.g.,·by·mapping·it·again·or
|
2606 |
Clients·that·want·to·re-use·a·client·window·(e.g.,·by·mapping·it·again·or
|
2607 |
reparenting·it·elsewhere)·after·withdrawing·it·must·wait·for·the
|
2607 |
reparenting·it·elsewhere)·after·withdrawing·it·must·wait·for·the
|
2608 |
withdrawal·to·be·complete·before·proceeding.··The·preferred·method·for
|
2608 |
withdrawal·to·be·complete·before·proceeding.··The·preferred·method·for
|
2609 |
doing·this·is·for·clients·to·wait·for·the·window·manager·to·update·or
|
2609 |
doing·this·is·for·clients·to·wait·for·the·window·manager·to·update·or
|
2610 |
remove·the·WM_STATE·property.
|
2610 |
remove·the·WM_STATE·property.
|
2611 |
<a·href="#ftn.idm139996708436272"·class="footnote"·id="idm139996708436272"><sup·class="footnote">[8]</sup></a>
|
2611 |
<a·href="#ftn.idm140659380138240"·class="footnote"·id="idm140659380138240"><sup·class="footnote">[8]</sup></a>
|
2612 |
</p><p>
|
2612 |
</p><p>
|
2613 |
If·the·transition·is·from·the·Normal·to·the·Iconic·state,
|
2613 |
If·the·transition·is·from·the·Normal·to·the·Iconic·state,
|
2614 |
the·client·should·send·a
|
2614 |
the·client·should·send·a
|
2615 |
<code·class="function">ClientMessage</code>
|
2615 |
<code·class="function">ClientMessage</code>
|
2616 |
event·to·the·root·with:
|
2616 |
event·to·the·root·with:
|
2617 |
</p><div·class="itemizedlist"><ul·class="itemizedlist"·style="list-style-type:·disc;·"><li·class="listitem"><p>
|
2617 |
</p><div·class="itemizedlist"><ul·class="itemizedlist"·style="list-style-type:·disc;·"><li·class="listitem"><p>
|
2618 |
Window·==·the·window·to·be·iconified
|
2618 |
Window·==·the·window·to·be·iconified
|
2619 |
····</p></li><li·class="listitem"><p>
|
2619 |
····</p></li><li·class="listitem"><p>
|
2620 |
Type
|
2620 |
Type
|
2621 |
<a·href="#ftn.idm139996708431936"·class="footnote"·id="idm139996708431936"><sup·class="footnote">[9]</sup></a>
|
2621 |
<a·href="#ftn.idm140659380133904"·class="footnote"·id="idm140659380133904"><sup·class="footnote">[9]</sup></a>
|
2622 |
==·the·atom·WM_CHANGE_STATE
|
2622 |
==·the·atom·WM_CHANGE_STATE
|
2623 |
····</p></li><li·class="listitem"><p>
|
2623 |
····</p></li><li·class="listitem"><p>
|
2624 |
Format·==·32
|
2624 |
Format·==·32
|
2625 |
····</p></li><li·class="listitem"><p>
|
2625 |
····</p></li><li·class="listitem"><p>
|
2626 |
Data[0]·==·IconicState
|
2626 |
Data[0]·==·IconicState
|
2627 |
····</p></li></ul></div><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
2627 |
····</p></li></ul></div><div·class="blockquote"><blockquote·class="blockquote"><div·class="blockquote-title"><p><strong>Rationale</strong></p></div><p>
|
2628 |
The·format·of·this
|
2628 |
The·format·of·this
|
Offset 3418, 15 lines modified |
Offset 3418, 15 lines modified |
3418 |
</p><pre·class="literallayout">
|
3418 |
</p><pre·class="literallayout">
|
3419 |
MapWindow·A
|
3419 |
MapWindow·A
|
3420 |
PolyLine·A·GC·<point>·<point>·...
|
3420 |
PolyLine·A·GC·<point>·<point>·...
|
3421 |
</pre><p>
|
3421 |
</pre><p>
|
3422 |
The·client·must·wait·for·an
|
3422 |
The·client·must·wait·for·an
|
3423 |
<code·class="function">Expose</code>
|
3423 |
<code·class="function">Expose</code>
|
3424 |
event·before·drawing·in·the·window.
|
3424 |
event·before·drawing·in·the·window.
|
3425 |
<a·href="#ftn.idm139996708165200"·class="footnote"·id="idm139996708165200"><sup·class="footnote">[10]</sup></a>
|
3425 |
<a·href="#ftn.idm140659379867168"·class="footnote"·id="idm140659379867168"><sup·class="footnote">[10]</sup></a>
|
3426 |
</p><p>
|
3426 |
</p><p>
|
3427 |
This·next·example·incorrectly·assumes·that·the
|
3427 |
This·next·example·incorrectly·assumes·that·the
|
3428 |
<code·class="function">ConfigureWindow</code>
|
3428 |
<code·class="function">ConfigureWindow</code>
|
3429 |
request·is·actually·executed·with·the·arguments·supplied:
|
3429 |
request·is·actually·executed·with·the·arguments·supplied:
|
3430 |
</p><pre·class="literallayout">
|
3430 |
</p><pre·class="literallayout">
|
3431 |
ConfigureWindow·width=N·height=M
|
3431 |
ConfigureWindow·width=N·height=M
|
3432 |
<output·assuming·window·is·N·by·M>
|
3432 |
<output·assuming·window·is·N·by·M>
|
Offset 3761, 16 lines modified |
Offset 3761, 16 lines modified |
3761 |
services·by·issuing·conversion·requests·on·this·selection.··Window·managers
|
3761 |
services·by·issuing·conversion·requests·on·this·selection.··Window·managers
|
3762 |
should·support·conversion·of·the·following·target·on·their·manager
|
3762 |
should·support·conversion·of·the·following·target·on·their·manager
|
3763 |
selection:
|
3763 |
selection:
|
3764 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/><col·align="left"·class="c3"·/></colgroup><thead><tr><th·align="left">Atom</th><th·align="left">Type</th><th·align="left">Data·Received</th></tr></thead><tbody><tr><td·align="left">VERSION</td><td·align="left">INTEGER</td><td·align="left">
|
3764 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/><col·align="left"·class="c3"·/></colgroup><thead><tr><th·align="left">Atom</th><th·align="left">Type</th><th·align="left">Data·Received</th></tr></thead><tbody><tr><td·align="left">VERSION</td><td·align="left">INTEGER</td><td·align="left">
|
3765 |
Two·integers,·which·are·the·major·and·minor·release·numbers·(respectively)·of
|
3765 |
Two·integers,·which·are·the·major·and·minor·release·numbers·(respectively)·of
|
3766 |
the·ICCCM·with·which·the·window·manager·complies.··For·this·version·of·the
|
3766 |
the·ICCCM·with·which·the·window·manager·complies.··For·this·version·of·the
|
3767 |
ICCCM,·the·numbers·are·2·and·0.
|
3767 |
ICCCM,·the·numbers·are·2·and·0.
|
3768 |
<a·href="#ftn.idm139996708034592"·class="footnote"·id="idm139996708034592"><sup·class="footnote">[a]</sup></a>
|
3768 |
<a·href="#ftn.idm140659379736560"·class="footnote"·id="idm140659379736560"><sup·class="footnote">[a]</sup></a>
|
3769 |
······</td></tr></tbody><tbody·class="footnotes"><tr><td·colspan="3"><div·id="ftn.idm139996708034592"·class="footnote"><p><a·href="#idm139996708034592"·class="para"><sup·class="para">[a]·</sup></a>
|
3769 |
······</td></tr></tbody><tbody·class="footnotes"><tr><td·colspan="3"><div·id="ftn.idm140659379736560"·class="footnote"><p><a·href="#idm140659379736560"·class="para"><sup·class="para">[a]·</sup></a>
|
3770 |
As·a·special·case,·clients·not·wishing·to·implement·a·selection
|
3770 |
As·a·special·case,·clients·not·wishing·to·implement·a·selection
|
3771 |
request·may·simply·issue·a
|
3771 |
request·may·simply·issue·a
|
3772 |
<code·class="function">GetSelectionOwner</code>
|
3772 |
<code·class="function">GetSelectionOwner</code>
|
3773 |
request·on·the·appropriate·WM_S<span·class="emphasis"><em>n</em></span>·selection.
|
3773 |
request·on·the·appropriate·WM_S<span·class="emphasis"><em>n</em></span>·selection.
|
3774 |
If·this·selection·is·owned,
|
3774 |
If·this·selection·is·owned,
|
3775 |
clients·may·assume·that·the·window·manager·complies·with·ICCCM·version·2.0
|
3775 |
clients·may·assume·that·the·window·manager·complies·with·ICCCM·version·2.0
|
3776 |
or·later.
|
3776 |
or·later.
|
Offset 3796, 37 lines modified |
Offset 3796, 37 lines modified |
3796 |
<a·class="xref"·href="#WM_NORMAL_HINTS_Property"·title="WM_NORMAL_HINTS·Property">WM_NORMAL_HINTS·Property</a>
|
3796 |
<a·class="xref"·href="#WM_NORMAL_HINTS_Property"·title="WM_NORMAL_HINTS·Property">WM_NORMAL_HINTS·Property</a>
|
3797 |
······</td></tr><tr><td·align="left">WM_PROTOCOLS</td><td·align="left">ATOM</td><td·align="left">32</td><td·align="left">
|
3797 |
······</td></tr><tr><td·align="left">WM_PROTOCOLS</td><td·align="left">ATOM</td><td·align="left">32</td><td·align="left">
|
3798 |
<a·class="xref"·href="#WM_PROTOCOLS_Property"·title="WM_PROTOCOLS·Property">WM_PROTOCOLS·Property</a>
|
3798 |
<a·class="xref"·href="#WM_PROTOCOLS_Property"·title="WM_PROTOCOLS·Property">WM_PROTOCOLS·Property</a>
|
3799 |
······</td></tr><tr><td·align="left">WM_STATE</td><td·align="left">WM_STATE</td><td·align="left">32</td><td·align="left">
|
3799 |
······</td></tr><tr><td·align="left">WM_STATE</td><td·align="left">WM_STATE</td><td·align="left">32</td><td·align="left">
|
3800 |
<a·class="xref"·href="#WM_STATE_Property"·title="WM_STATE·Property">WM_STATE·Property</a>
|
3800 |
<a·class="xref"·href="#WM_STATE_Property"·title="WM_STATE·Property">WM_STATE·Property</a>
|
3801 |
······</td></tr><tr><td·align="left">WM_TRANSIENT_FOR</td><td·align="left">WINDOW</td><td·align="left">32</td><td·align="left">
|
3801 |
······</td></tr><tr><td·align="left">WM_TRANSIENT_FOR</td><td·align="left">WINDOW</td><td·align="left">32</td><td·align="left">
|
3802 |
<a·class="xref"·href="#WM_TRANSIENT_FOR_Property"·title="WM_TRANSIENT_FOR·Property">WM_TRANSIENT_FOR·Property</a>
|
3802 |
<a·class="xref"·href="#WM_TRANSIENT_FOR_Property"·title="WM_TRANSIENT_FOR·Property">WM_TRANSIENT_FOR·Property</a>
|
3803 |
······</td></tr></tbody></table></div></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm139996708571072"·class="footnote"><p><a·href="#idm139996708571072"·class="para"><sup·class="para">[7]·</sup></a>
|
3803 |
······</td></tr></tbody></table></div></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm140659380273040"·class="footnote"><p><a·href="#idm140659380273040"·class="para"><sup·class="para">[7]·</sup></a>
|
3804 |
This·obsolete·protocol·was·described·in·the·July·27,·1988,
|
3804 |
This·obsolete·protocol·was·described·in·the·July·27,·1988,
|
3805 |
draft·of·the·ICCCM.
|
3805 |
draft·of·the·ICCCM.
|
3806 |
Windows·using·it·can·also·be·detected·because·their·WM_HINTS·properties·are
|
3806 |
Windows·using·it·can·also·be·detected·because·their·WM_HINTS·properties·are
|
3807 |
4·bytes·longer·than·expected.
|
3807 |
4·bytes·longer·than·expected.
|
3808 |
Window·managers·are·free·to·support·clients·using·the·obsolete·protocol
|
3808 |
Window·managers·are·free·to·support·clients·using·the·obsolete·protocol
|
3809 |
in·a·backwards·compatibility·mode.
|
3809 |
in·a·backwards·compatibility·mode.
|
3810 |
</p></div><div·id="ftn.idm139996708436272"·class="footnote"><p><a·href="#idm139996708436272"·class="para"><sup·class="para">[8]·</sup></a>
|
3810 |
</p></div><div·id="ftn.idm140659380138240"·class="footnote"><p><a·href="#idm140659380138240"·class="para"><sup·class="para">[8]·</sup></a>
|
3811 |
Earlier·versions·of·these·conventions·prohibited·clients·from
|
3811 |
Earlier·versions·of·these·conventions·prohibited·clients·from
|
3812 |
reading·the·WM_STATE·property.··Clients·operating·under·the·earlier
|
3812 |
reading·the·WM_STATE·property.··Clients·operating·under·the·earlier
|
3813 |
conventions·used·the·technique·of·tracking
|
3813 |
conventions·used·the·technique·of·tracking
|
3814 |
<code·class="function">ReparentNotify</code>
|
3814 |
<code·class="function">ReparentNotify</code>
|
3815 |
events·to·wait·for·the·top-level·window·to·be·reparented·back·to·the·root
|
3815 |
events·to·wait·for·the·top-level·window·to·be·reparented·back·to·the·root
|
3816 |
window.··This·is·still·a·valid·technique;·however,·it·works·only·for
|
3816 |
window.··This·is·still·a·valid·technique;·however,·it·works·only·for
|
3817 |
reparenting·window·managers,·and·the·WM_STATE·technique·is·to·be·preferred.
|
3817 |
reparenting·window·managers,·and·the·WM_STATE·technique·is·to·be·preferred.
|
3818 |
</p></div><div·id="ftn.idm139996708431936"·class="footnote"><p><a·href="#idm139996708431936"·class="para"><sup·class="para">[9]·</sup></a>
|
3818 |
</p></div><div·id="ftn.idm140659380133904"·class="footnote"><p><a·href="#idm140659380133904"·class="para"><sup·class="para">[9]·</sup></a>
|
3819 |
The·type·field·of·the
|
3819 |
The·type·field·of·the
|
3820 |
<code·class="function">ClientMessage</code>
|
3820 |
<code·class="function">ClientMessage</code>
|
3821 |
event·(called·the·message_type·field·by·Xlib)·should·not·be·confused·with
|
3821 |
event·(called·the·message_type·field·by·Xlib)·should·not·be·confused·with
|
3822 |
the·code·field·of·the·event·itself,
|
3822 |
the·code·field·of·the·event·itself,
|
3823 |
which·will·have·the·value·33
|
3823 |
which·will·have·the·value·33
|
3824 |
<code·class="function">(·ClientMessage</code>).
|
3824 |
<code·class="function">(·ClientMessage</code>).
|
3825 |
</p></div><div·id="ftn.idm139996708165200"·class="footnote"><p><a·href="#idm139996708165200"·class="para"><sup·class="para">[10]·</sup></a>
|
3825 |
</p></div><div·id="ftn.idm140659379867168"·class="footnote"><p><a·href="#idm140659379867168"·class="para"><sup·class="para">[10]·</sup></a>
|
3826 |
This·is·true·even·if·the·client·set·the·backing-store·attribute·to
|
3826 |
This·is·true·even·if·the·client·set·the·backing-store·attribute·to
|
3827 |
<code·class="function">Always</code>.
|
3827 |
<code·class="function">Always</code>.
|
3828 |
The·backing-store·attribute·is·a·only·a·hint,
|
3828 |
The·backing-store·attribute·is·a·only·a·hint,
|
3829 |
and·the·server·may·stop·maintaining·backing·store·contents·at·any·time.
|
3829 |
and·the·server·may·stop·maintaining·backing·store·contents·at·any·time.
|
3830 |
</p></div></div></div><div·class="chapter"><div·class="titlepage"><div><div><h1·class="title"><a·id="Session_Management_and_Additional_Inter_Client_Exchanges"></a>Chapter 5. Session·Management·and·Additional·Inter-Client·Exchanges</h1></div></div></div><div·class="toc"><p><strong>Table·of·Contents</strong></p><dl·class="toc"><dt><span·class="sect1"><a·href="#Client_Support_for_Session_Management">Client·Support·for·Session·Management</a></span></dt><dt><span·class="sect1"><a·href="#Window_Manager_Support_for_Session_Management">Window·Manager·Support·for·Session·Management</a></span></dt><dt><span·class="sect1"><a·href="#Support_for_ICE_Client_Rendezvous">Support·for·ICE·Client·Rendezvous</a></span></dt></dl></div><p>
|
3830 |
</p></div></div></div><div·class="chapter"><div·class="titlepage"><div><div><h1·class="title"><a·id="Session_Management_and_Additional_Inter_Client_Exchanges"></a>Chapter 5. Session·Management·and·Additional·Inter-Client·Exchanges</h1></div></div></div><div·class="toc"><p><strong>Table·of·Contents</strong></p><dl·class="toc"><dt><span·class="sect1"><a·href="#Client_Support_for_Session_Management">Client·Support·for·Session·Management</a></span></dt><dt><span·class="sect1"><a·href="#Window_Manager_Support_for_Session_Management">Window·Manager·Support·for·Session·Management</a></span></dt><dt><span·class="sect1"><a·href="#Support_for_ICE_Client_Rendezvous">Support·for·ICE·Client·Rendezvous</a></span></dt></dl></div><p>
|
3831 |
This·section·contains·some·conventions·for·clients·that·participate·in
|
3831 |
This·section·contains·some·conventions·for·clients·that·participate·in
|
3832 |
session·management.··See
|
3832 |
session·management.··See
|
Offset 4948, 28 lines modified |
Offset 4948, 28 lines modified |
4948 |
First,·updating·the·nonzero-length·WM_COMMAND·property,·if·necessary
|
4948 |
First,·updating·the·nonzero-length·WM_COMMAND·property,·if·necessary
|
4949 |
········</p></li><li·class="listitem"><p>
|
4949 |
········</p></li><li·class="listitem"><p>
|
4950 |
Second,·updating·the·WM_COMMAND·property·on·the·window·for·which·they·received
|
4950 |
Second,·updating·the·WM_COMMAND·property·on·the·window·for·which·they·received
|
4951 |
the·WM_SAVE_YOURSELF·message·if·it·was·not·updated·in·the·first·step
|
4951 |
the·WM_SAVE_YOURSELF·message·if·it·was·not·updated·in·the·first·step
|
4952 |
········</p></li></ul></div></li></ul></div><p>
|
4952 |
········</p></li></ul></div></li></ul></div><p>
|
4953 |
Receiving·WM_SAVE_YOURSELF·on·a·window·is,·conceptually,·a·command
|
4953 |
Receiving·WM_SAVE_YOURSELF·on·a·window·is,·conceptually,·a·command
|
4954 |
to·save·the·entire·client·state.
|
4954 |
to·save·the·entire·client·state.
|
4955 |
<a·href="#ftn.idm139996707599088"·class="footnote"·id="idm139996707599088"><sup·class="footnote">[11]</sup></a>
|
4955 |
<a·href="#ftn.idm140659379301120"·class="footnote"·id="idm140659379301120"><sup·class="footnote">[11]</sup></a>
|
4956 |
</p></div><div·class="sect2"><div·class="titlepage"><div><div><h3·class="title"><a·id="Window_Deletion_2"></a>Window·Deletion</h3></div></div></div><p>
|
4956 |
</p></div><div·class="sect2"><div·class="titlepage"><div><div><h3·class="title"><a·id="Window_Deletion_2"></a>Window·Deletion</h3></div></div></div><p>
|
4957 |
Windows·are·deleted·using·the·WM_DELETE_WINDOW·protocol,·which
|
4957 |
Windows·are·deleted·using·the·WM_DELETE_WINDOW·protocol,·which
|
4958 |
is·described·in
|
4958 |
is·described·in
|
4959 |
<a·class="xref"·href="#Window_Deletion"·title="Window·Deletion">Window·Deletion</a>.
|
4959 |
<a·class="xref"·href="#Window_Deletion"·title="Window·Deletion">Window·Deletion</a>.
|
4960 |
</p></div></div><div·class="sect1"><div·class="titlepage"><div><div><h2·class="title"·style="clear:·both"><a·id="Summary_of_Session_Manager_Property_Types"></a>Summary·of·Session·Manager·Property·Types</h2></div></div></div><p>
|
4960 |
</p></div></div><div·class="sect1"><div·class="titlepage"><div><div><h2·class="title"·style="clear:·both"><a·id="Summary_of_Session_Manager_Property_Types"></a>Summary·of·Session·Manager·Property·Types</h2></div></div></div><p>
|
4961 |
The·session·manager·properties·are·listed·in·the·following·table:
|
4961 |
The·session·manager·properties·are·listed·in·the·following·table:
|
4962 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/><col·align="left"·class="c3"·/><col·align="left"·class="c4"·/></colgroup><thead><tr><th·align="left">Name</th><th·align="left">Type</th><th·align="left">Format</th><th·align="left">See·Section</th></tr></thead><tbody><tr><td·align="left">WM_CLIENT_MACHINE</td><td·align="left">TEXT</td><td·align="left"> </td><td·align="left">
|
4962 |
</p><div·class="informaltable"><table·border="1"><colgroup><col·align="left"·class="c1"·/><col·align="left"·class="c2"·/><col·align="left"·class="c3"·/><col·align="left"·class="c4"·/></colgroup><thead><tr><th·align="left">Name</th><th·align="left">Type</th><th·align="left">Format</th><th·align="left">See·Section</th></tr></thead><tbody><tr><td·align="left">WM_CLIENT_MACHINE</td><td·align="left">TEXT</td><td·align="left"> </td><td·align="left">
|
4963 |
<a·class="xref"·href="#WM_CLIENT_MACHINE_Property"·title="WM_CLIENT_MACHINE·Property">WM_CLIENT_MACHINE·Property</a>
|
4963 |
<a·class="xref"·href="#WM_CLIENT_MACHINE_Property"·title="WM_CLIENT_MACHINE·Property">WM_CLIENT_MACHINE·Property</a>
|
4964 |
······</td></tr><tr><td·align="left">WM_COMMAND</td><td·align="left">TEXT</td><td·align="left"> </td><td·align="left">
|
4964 |
······</td></tr><tr><td·align="left">WM_COMMAND</td><td·align="left">TEXT</td><td·align="left"> </td><td·align="left">
|
4965 |
<a·class="xref"·href="#WM_COMMAND_Property"·title="WM_COMMAND·Property">WM_COMMAND·Property</a>
|
4965 |
<a·class="xref"·href="#WM_COMMAND_Property"·title="WM_COMMAND·Property">WM_COMMAND·Property</a>
|
4966 |
······</td></tr><tr><td·align="left">WM_STATE</td><td·align="left">WM_STATE</td><td·align="left">32</td><td·align="left">
|
4966 |
······</td></tr><tr><td·align="left">WM_STATE</td><td·align="left">WM_STATE</td><td·align="left">32</td><td·align="left">
|
4967 |
<a·class="xref"·href="#WM_STATE_Property"·title="WM_STATE·Property">WM_STATE·Property</a>
|
4967 |
<a·class="xref"·href="#WM_STATE_Property"·title="WM_STATE·Property">WM_STATE·Property</a>
|
4968 |
······</td></tr></tbody></table></div></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm139996707599088"·class="footnote"><p><a·href="#idm139996707599088"·class="para"><sup·class="para">[11]·</sup></a>
|
4968 |
······</td></tr></tbody></table></div></div><div·class="footnotes"><br·/><hr·style="width:100;·text-align:left;margin-left:·0"·/><div·id="ftn.idm140659379301120"·class="footnote"><p><a·href="#idm140659379301120"·class="para"><sup·class="para">[11]·</sup></a>
|
4969 |
This·convention·has·changed·since·earlier·drafts·because·of·the
|
4969 |
This·convention·has·changed·since·earlier·drafts·because·of·the
|
4970 |
introduction·of·the·protocol·in·the·next·section.
|
4970 |
introduction·of·the·protocol·in·the·next·section.
|
4971 |
In·the·public·review·draft,
|
4971 |
In·the·public·review·draft,
|
4972 |
there·was·ambiguity·as·to·whether·WM_SAVE_YOURSELF·was·a·checkpoint
|
4972 |
there·was·ambiguity·as·to·whether·WM_SAVE_YOURSELF·was·a·checkpoint
|
4973 |
or·a·shutdown·facility.
|
4973 |
or·a·shutdown·facility.
|
4974 |
It·is·now·unambiguously·a·checkpoint·facility;
|
4974 |
It·is·now·unambiguously·a·checkpoint·facility;
|
4975 |
if·a·shutdown·facility·is·judged·to·be·necessary,
|
4975 |
if·a·shutdown·facility·is·judged·to·be·necessary,
|