Primary Selection和Clipboard Buffer有什么区别?


32

我在Linux中的Webkit-browser领域进行了调整,并且经常遇到“ 主要选择 ”和“ 剪贴板选择或缓冲区 ” 这两个术语。

  • 我想了解它们是什么,它们有什么区别?
  • 拖放粘贴适合在哪里?
  • 什么是工作xclip在这个问题到底是什么?

3
为什么要有两个连贯的剪贴板呢?</
sarcasm

Answers:


28

它们是选择原子X原子的一部分

客户间通信协定手册的X状态:

可以有任意数量的选择,每个选择都由一个原子命名。但是,为了符合客户端间的约定,客户端只需要处理以下三个选择:

  • 中学
  • 剪贴板

简而言之:

  • 例如,当选择文本并通过按下鼠标中键粘贴文本时,终端通常会使用PRIMARY选择。如同在选定文本中一样,该文本位于“主剪贴板”中,而没有任何显式的复制操作发生。快速复制是一个很好的名字。(不限于终端仿真器,仅作为示例。)
  • CLIPBOARD主要与MS Windows风格的剪贴板操作结合使用。选择+复制。数据驻留在缓冲区中

在这里阅读更多。

对PRIMARY的支持是在2008添加到WebKit的

xclip,这是用于X选择(剪贴板)的命令行界面(工具),通常会将数据添加到主剪贴板。可选地,可以通过-clipboard给定任一参数的选项来选择使用哪个。


更正:拖放位于Xdnd规范上还有一个Wikipedia条目。它使用XdndSelection,并且不应干扰PRIMARY。

该协议至少由Qt和GTK实现。


CLIPBOARD主要与MS Windows风格的剪贴板操作结合使用。选择+复制。数据驻留在缓冲区中。我们只是在linux上其他地方谈论这件事
r004 2014年

@ r004:我的意思是这是一个类似于剪贴板的MS Windows(它们的工作方式几乎相同,包括(通常)快捷方式等)
Runium

……对于最终用户而言。
Runium 2014年

14
那SECONDARY呢?
e18r

9
@emisilva:那是次要的(双关缩)。(不幸的是)很少使用。如果您想获得更多答案之外的内容,也许可以快速了解Charles Lindsey第二选择而战:)您也可以使用Emacs进行测试-但您的WindowManager可能会把事情搞砸了……
Runium
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.