在Linux/C++中将字符串复制到剪贴板

3

如何将字符串复制到剪贴板? 我想避免使用QT,但很遗憾我只能找到Windows的代码片段。


你在问什么系统?或者更准确地说,你在问什么桌面环境? - David Z
我正在使用Arch/Cinnamon,但我想保持它开放。 - user273032
问题在于你无法一直保持它的开放状态。剪贴板在不同的系统上工作方式不同,而且(据我所知)没有标准的交互方式。 - David Z
1个回答

3
您可以直接与xlib交互,但这种方式可能会很混乱(参见已归档的[链接])。如果您正在构建GUI应用程序,则最好使用GUI工具包提供的任何接口(例如QT中的QClipboard)。如果您正在构建命令行应用程序,只需将其外壳转换为类似于xsel的东西。如果您确实想继续仅使用xlib,则必须记住一件事:X不拥有剪贴板;客户端拥有剪贴板。您的基本工作流程将是调用XSetSelectionOwner,然后坐等并处理XSelectionRequestEvent,直到某个其他客户端将所有权夺走。如果您正在寻找示例,则xsel源代码相当易于遵循。之后,ICCCM是需要查看的地方。

没有图形用户界面,只有一个小的截屏工具。我已经完成了从抓取图像(使用xlib ^^)到上传并获取URL字符串的所有工作。现在我只需要将该字符串复制到我的剪贴板中。 - user273032

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接