
我正在 Webkit 瀏覽器中進行調整Linux我遇到了這些術語“初選“ 和 ”剪貼簿選擇或緩衝區「 常常。
- 我想了解它們是什麼以及它們有什麼不同?
- 拖放黏貼適合在哪裡?
xclip
在這件事上具體的工作是什麼?
答案1
他們是選擇原子, 或者X原子。
這客戶端間通訊約定手冊對於 X 州:
可以有任意數量的選擇,每個選擇都由一個原子命名。然而,為了符合客戶端間的約定,客戶端只需處理以下三個選擇:
- 基本的
- 中學
- 剪貼簿
簡而言之:
- 基本的選擇通常由例如終端在選擇文字並透過按滑鼠中鍵貼上它時使用。如在所選文字位於主剪貼簿中沒有任何明確的正在發生複製動作。快速複製是一個很好的名字。 (不限於終端模擬器,僅作為範例。)
- 剪貼簿主要用於與MS Windows 風格剪貼簿操作。選擇+複製。數據駐留在緩衝。
對 PRIMARY 的支援是早在 2008 年就加入到 WebKit 中。
xclip
,它是用於 X 選擇(剪貼簿)的命令列介面(工具),傳統上將資料新增至主剪貼簿。 (可選)可以透過-clipboard
給定參數的選項來選擇使用哪一個。
更正:拖放位於Xndnd。維基百科上還有一個條目規格。它用Xdnd選擇且不應幹擾 PRIMARY。
該協議至少由Qt和GTK實現。
答案2
FWIW,在 Debian (Kali) 上,以下是不同的選擇如何對應於各種「貼上選項」:
echo primary | xclip -sel p
echo secondary | xclip -sel s
echo clipboard | xclip -sel c
# Ctrl + Shift + v: clipboard
# Middle click: primary
# Paste selection: (Shift + Insert): primary
# with the -o option, xclip outputs the specified "selection"
# to stdout:
xclip -o -sel p
# stdout output: "primary"
xclip -o -sel s
# stdout output: "secondary"
xclip -o -sel c
# stdout output: "clipboard"
就我而言,我在 VMWare 虛擬機中執行此操作。主機作業系統使用/檢視/接收的選擇是主要的。
如果您不想使用多個選擇,則可以使用 xclip 別名來同時使用主要選擇和剪貼簿選擇,如下所示: