selection(3tk)

NAME
selection - 操纵 X 选择

总览 SYNOPSIS
selection option ?arg arg ...?

描述 DESCRIPTION

这个命令提供到 X 选择机制的一个 Tcl 接口并实现了在 X 客户间通信协定手册(ICCCM)中描述全部选择功能。

给 selection 的第一个参数决定余下的参数的格式和命令的行为。当前支持下列形式:

selection clear ?-displayof window? ?-selection selection?
    如果 selection 存在于 window 的显示器上的某个地方，则清除它这样就没有任何窗口拥有这个选择了。Selection 指定应该清除的 X 选择，并且应当是一个原子的名字如 PRIMARY 或 CLIPBOARD；详情请参见 X 客户间通信协定手册。Selection 缺省为 PRIMARY 而 window 缺省为“.”。返回一个空串。

selection get ?-displayof window? ?-selection selection? ?-type type?
    从 window 的显示器取回 selection 的值并把它作为结果返回。Selection 缺省为 PRIMARY 而 window 缺省为“.”。Type 指定返回选择用的形式(用 ICCCM 术语是想要的转换的“目标”)，并且应当是一个原子的名字如 STRING 或 FILE_NAME； 详情请参见 X 客户间通信协定手册。Type 缺省为 STRING。选择拥有者可以在多种不同的表示格式中挑选返回选择(的格式)，比如 STRING、ATOM、INTEGER 等。(这个格式不同与选择类型，如有混淆请参见 ICCCM)。如果以非字符串格式返回选择。比如 INTEGER 或 ATOM，selection 命令把它转换字符串格式，即一组用空格分隔的字段: 把原子转换成他们的文字名字，把其他任何东西都转换成十六进制整数。

selection handle ?-selection selection? ?-type type? ?-format format? window command
    为选择请求建立一个处理器(handler)，这样当 window 拥有 selection 并且有人尝试以用 type (比方说在 selection get 命令中指定了 type)给出的形式取回它的时候，则执行 command 。Selection 缺省为 PRIMARY，type 缺省为STRING，而 format 缺省为 STRING。如果 command 是一个空串，则删除针对 window、type 和 selection 的所有处理器。

    在要求 selection 的时候，window 是选择的所有者，而 type 是要求的类型，把 command 作为一个 Tcl 脚本来执行，并向它添加了两个补充的数(带有空格分隔符)。这两个补充的数 是 offset 和 maxChars: offset 指定在选择中的开始位置而 maxChars 给出要取回的字符的最大数目。这个命令应该返回一个值，它由选择的最多 maxChars 字符组成，开始于位置 offset。对于非常大的选择(大于 maxChars)，使用递增 offset 值的多次 command 调用来取回选择。如果 command 返回其长度小于 maxChars 的一个字符串，则假定返回值包含选择的全部余下部分；如果 command 的结果的长度等于 maxChars 则将再次调用 command ，知道最终返回小于 maxChars 的一个结果。maxChars 总是相对的大(成千个字符)。

    如果 command 返回一个错误，则丢弃取回的选择，如同选择根本不存在。

    format 参数指定用来把选择传输(transmit)到请求者的表示法(ICCCM 的表 2 的第二列)，并且缺省为 STRING。如果 format 是 STRING，则把选择传输为 8-bit ASCII 字符。如果 format 是 ATOM，则把 data 分割为用白空格分隔的字段；把每个字段转换成它的原子值，传输 32-bit 原子值而不是原子的名字。对于任何其他的 format，把 data 分割为用白空格分隔的字段；把每个字段转换成一个 32-bit 整数；向选择的请求者传输一个整数的数组。

    format 参数只在与不使用 Tk 的请求者相兼容时需要。如果使用 Tk 工具箱来取回 CLIPBOARD 选择，则在请求端把这个值转换回一个字符串，所以 format 是无关的(irrelevant)。

selection own ?-displayof window? ?-selection selection?

selection own ?-command command? ?-selection selection? window
    第一种形式的 selection own 返回在这个应用中的一个窗口路径名字的名字，这个窗口拥有在容纳 window 的显示器上的 selection，如果在这个应用种没有窗口拥有这个选择就返回一个空串。Selection defaults to PRIMARY and window defaults to ``.''.

selection own 的第二种形式导致 window 成为在 window 的显示器上的 selection 的新拥有者，它返回一个空串作为结果。通知现存的拥有者(如果有的话)它已经失去了这个选择。如果指定了command，在其他一些窗口向 window 索取(claim)这个选择的所有权的时候，执行这个Tcl 脚本。Selection 缺省为 PRIMARY。

关键字 KEYWORDS
clear, format, handler, ICCCM, own, selection, target, type

[中文版维护人]
寒蝉退士

[中文版最新更新]
2002/05/27

《中国 Linux 论坛 man 手册页翻译计划》:
http://cmpp.linuxforum.net