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 手冊頁翻譯計劃》:
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
8.1 | Tk |