table of contents
selection(3tk) | Tk Built-In Commands | 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 手册页翻译计划》:¶
8.1 | Tk |