小编use*_*584的帖子

在 X11 中使用 Xlib 复制粘贴选择:XA_TARGETS 原子数组

我已经在 Xlib 程序中实现了文本字符串的复制粘贴。当我的程序拥有当前选择,并且我粘贴到 xterm、gimp 中的文本字段或 firefox 中时,它工作正常:我粘贴到的程序将 SelectionRequest 事件发送到我的程序,目标为 XA_UTF8_STRING ("UTF8_STRING "),我的程序会适当响应并粘贴字符串。

但是,当我的程序拥有当前选择,并且我尝试粘贴到 Thunderbird(版本 16.0.2)中的消息编写窗口或 SeaMonkey Web 浏览器(版本 2.20)中的文本字段中时,Thunderbird 和 SeaMonkey 会向我的程序发送一个 SelectionRequest 事件。使用目标 XA_TARGETS(“TARGETS”)进行程序,并且出现问题。我的理解是,我的程序应该响应它可以提供的一系列目标 - 我的程序的相关代码如下。(注意这是在64位机器上,Atom类型是64位)。Thunderbird / SeaMonkey 似乎对我的回复不满意,因为他们随后向我的程序发送了许多具有不同目标的后续 SelectionRequest 事件,就好像他们试图查看我将返回哪一个(他们尝试 application/x-moz-nativehtml, text/html、application/x-moz-file、image/png、image/jpeg、image/gif),然后最后尝试目标 UTF8_STRING,我的代码成功响应并粘贴了字符串。这一切可能需要 1 秒或更长时间,因此在粘贴字符串之前会有明显的延迟。

为了尝试调试,我修改了代码,以便当我粘贴到我的程序中时,另一个程序是所有者,我向它们发送一个带有目标 XA_TARGETS 的 SelectionRequest 事件,这样我就可以看到 Thunderbird 或 SeaMonkey 如何响应。我返回一个 SelectionNotify 事件,目标为 XA_TARGETS,并且该事件的属性设置为我请求的属性,当我在自己的窗口上读取该属性时,我发现它是一个类型为 XA_ATOM、格式为 32、长度为 0 的数组。因此,当我向 Thunderbird 或 SeaMonkey 询问时,我似乎没有从他们那里得到任何目标数组。

平台:Ubuntu 12.10 Linux x86_64

我使用的参考: http://svn.gna.org/svn/warzone/trunk/lib/betawidget/src/platform/sdl/clipboardX11.c

...
if ( event.type == SelectionRequest ) {
  Atom propertyOfRequestorToSet = event.xselectionrequest.property==None ? XA_PRIMARY : …
Run Code Online (Sandbox Code Playgroud)

paste xlib selection gdk

5
推荐指数
0
解决办法
2132
查看次数

无法部署到 HoloLens(错误 80004005)

我用 Visual Studio 2017 (15.9.10) 新安装了 Unity 2018.3.10。由于 Visual Studio 中的错误(“DEP0100:请确保目标设备启用了开发人员模式。由于错误 80004005,无法在 127.0.0.1 上获得开发人员许可证”),我无法将准系统 3D 统一应用程序部署到 HoloLens。以下是重现的步骤:

  • 在 Unity 中创建新的 3D 场景。将相机位置设置为 0,0,0 并将相机清晰颜色设置为纯黑色。在相机前创建一个尺寸为 0.1x0.1x0.1 的红色立方体

  • 窗口/包管理器:删除广告、分析库、应用内采购、TextMesh Pro、Unity Collaborate,因为我不需要这些

  • 屏幕截图中显示的构建设置和项目设置(质量和播放器设置)。脚本后端 = IL2CPP

截图

  • unity 成功生成.sln 文件
  • HoloLens 的操作系统版本为 10.0.17763.316。在设置/更新和安全/对于开发人员下,我设置“使用开发人员功能”=on、“启用设备门户”=on

  • 我不知道是否有必要,但在我的 PC 上,我也进行了设置/更新和安全/对于开发人员,选择“开发人员模式”、“启用设备门户”=on、“设备发现”=on

  • 通过 USB 数据线将 HoloLens 连接到 PC
  • 在 Visual Studio 中打开 .sln 文件。设置为发布、x86、设备。构建/部署解决方案
  • 编译成功,Visual Studio 要求输入 PIN,我通过打开设置/更新和安全/对于开发人员/设备发现/配对从 HoloLens 获得
  • Visual Studio 显示错误消息:DEP0100:请确保目标设备已启用开发人员模式。由于错误 80004005,无法在 127.0.0.1 上获得开发者许可证

unity-game-engine hololens windows-mixed-reality mrtk

2
推荐指数
1
解决办法
1002
查看次数