首页
学习
活动
专区
圈层
工具
发布

从 X11 的角度理解 Wayland

在 Linux 桌面领域,Wayland 常被提及为 “X11 的继任者”。...Display vs wl_display 在 X11 程序中,几乎所有代码都会从这样一句开始: Display *dpy = XOpenDisplay(NULL); 在 X11 体系中,Display...对象具有非常核心的地位,它代表了: 客户端与 X Server 之间的连接 X11 所有 API 的根对象 底层通信通道 Screen / Visual / Depth 等全局显示状态 可以说,在 X11...经过 XDG shell 的角色定义之后,Wayland 中才逐步具备了与 X11 类似的“窗口层级”概念,但这种层级是显式、受限且由 compositor 主导的,这正是 Wayland 与 X11...Xlib 诞生于 X11 生态的早期阶段,其设计目标是为应用程序提供一套完整且易用的客户端 API,尽可能隐藏 X11 协议细节。

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

    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

    57710

    在Mac上使用远程X11应用

    最后给一个在我的电脑跑起来的样子: 看起来跟在本地运行没有什么两样 :) 补充: 有些主机,或者有的时候,ssh连接过去后,执行x11应用会报错:Error: Can't open display...: localhost:10.0,这时候仔细观察ssh命令执行后的第一条提示,有可能会是X11 forwarding request failed on channel 0。...这表示实际本地和远端没有能建立起来X11协议的转发体系,原因可能有很多,比如连接端口不是10.0,或者认证没通过等等。...断开ssh连接,使用ssh -AX username@ip地址重新连过来,-A的意思是使用X11认证授权方式,这样连接之后,linux主机会生成一个~/.Xauthority保存授权允许连接的远程终端信息...再次尝试执行x11应用,比如xclock,应当能成功了。

    9.5K71

    干得漂亮,Ubuntu 终于干掉了 X11

    在《从 X11 到 Wayland,迈出这一步为何如此艰难?》一文中,我们分析过从 X11 过渡到 Wayland 所面临的诸多挑战。...如今,终于有 Linux 发行版吹响了 X11 的丧钟:Ubuntu 25.10 正式弃用 GNOME 的 Xorg/X11 会话,将 GNOME Shell + Mutter 桌面环境完全切换为 Wayland-only...然而 X11 会话仍被保留,用户可在登录时选择。 到了 25.10,Ubuntu 终于与 X11 彻底告别——不再提供 X11 会话选择。...有人可能会担心:在 Wayland 中嵌入 X11,会不会让系统臃肿?答案是否定的。...从 X11 迁移到 Wayland,也会出现一些问题: 某些依赖 X11 特性的应用(快捷键、工具、窗口管理扩展或插件)在 Wayland 上可能表现不同; 远程桌面/显示转发(如 X11 转发、xrdp

    58210
    领券