首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

dotnet X11 设置窗口鼠标触摸命中穿透

本文记录如何在 X11 应用里面,使用 XShapeCombineRegion 方法配置一个 X11 窗口支持和 Win32 窗口一样的命中测试穿透功能,即对应 Win32 的 WS_EX_TRANSPARENT...的鼠标、触摸等的点击等动作的穿透功能,可以实现在窗口中挖空一块范围直接穿透到后面的窗口 在 X11 窗口中,想要实现让窗口不可命中,即所有的鼠标、触摸等的事件穿透到后面的窗口上,可以采用 libXext.so...提供的 XShapeCombineRegion 方法,也可以使用有争议的 libXfixes.so 提供的 XFixesSetWindowShapeRegion 方法 通过以上两个方法即可让 X11...让这个窗口不参与到交互里面 使用比较有争议的 libXfixes.so 提供的 XFixesSetWindowShapeRegion 方法的示例代码如下 // 以下的 childWindowHandle 是一个 X11...更新之后的代码放在 github 和 gitee 上,欢迎拉取代码阅读和构建 参考文档: 如何在屏幕上显示一局部透明、鼠标点击可穿过的窗口 - V2EX 2021-08-21窗口管理器杂谈 - 简书 更多 X11

8810
您找到你想要的搜索结果了吗?
是的
没有找到

在Mac上使用远程X11应用

XWindows设计之初就是一个显示服务器的概念,在显示器服务器和应用之间,有一套协议来沟通彼此,是C/S的架构,这个协议可以序列化,从而显示的设备、跟应用运行的环境,可以不在同一台电脑之上。...最后给一个在我的电脑跑起来的样子: 看起来跟在本地运行没有什么两样 :) 补充: 有些主机,或者有的时候,ssh连接过去后,执行x11应用会报错:Error: Can't open display...: localhost:10.0,这时候仔细观察ssh命令执行后的第一条提示,有可能会是X11 forwarding request failed on channel 0。...这表示实际本地和远端没有能建立起来X11协议的转发体系,原因可能有很多,比如连接端口不是10.0,或者认证没通过等等。...再次尝试执行x11应用,比如xclock,应当能成功了。

8.6K71

学习 CPF 框架笔记 了解 X11 绘制图片方法

本文记录我学习 CPF 框架的笔记,本文将记录我从 CPF 框架里面学习到的如何 X11 绘制图片的方法 开始之前,先感谢小红帽开源的 CPF 框架,这是一个纯 C# dotnet 实现的跨平台 UI...在 学习 CPF 框架笔记 了解 X11 窗口和消息基础知识 的基础上,假定当前已创建完成了窗口,准备好了事件监听 在 X11 执行绘制图片需要在 Expose 曝光之后进行,可在 XSelectInput...而不是读取本机的图片文件,因为读取图片文件还有一个解码的过程,解码过程和 X11 没什么关系,为了让本文示例更贴近 X11 的绘制图片,本文这里就选择自己创建图片像素 byte 数组,填充随意的数据假装是图片...,导致 X11 里面存放了错误的指针地址,可能造成段错误等。...方便 CLR 层进行垃圾回收压缩内存空间,防止内存碎片化 pinnedArray.Free(); 这里需要小心一点是,需要在 X11 相关业务不再使用此图片像素数据时,才能调用 Free 方法。

10510
领券