news 2026/6/12 2:51:04

44、Xlib 扩展开发指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
44、Xlib 扩展开发指南

Xlib 扩展开发指南

1. 扩展概述

在 X 系统里,核心协议能够借助扩展来实现功能的演进。所以,扩展不应被视为二等公民,在未来,你喜爱的扩展或许会成为 X 标准的一部分。为了让扩展的使用与核心协议的使用几乎没有差别,扩展应采用惰性评估机制,在首次被调用时自动完成初始化,避免在应用程序里显式地对其进行初始化。

同时要注意,一个 X 扩展通常由多个请求构成,把 10 个新特性定义成 10 个独立的扩展并非好做法,而应该将它们封装成一个扩展,利用次要操作码来区分不同的请求。编写 Xlib 存根所需的符号和宏在<X11/Xlibint.h>中列出。

2. 基本协议支持例程

扩展的基本协议请求主要有XQueryExtensionXListExtensions这两个函数。

2.1 XQueryExtension 函数

Bool XQueryExtension(Display *display, const char *name, int *major_opcode_return, int *first_event_return, int *first_error_return);
  • display:指定与 X 服务器的连接。
  • name:指定扩展的名称。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/11 17:02:10

46、X 编程中的扩展与兼容性函数详解(上)

X 编程中的扩展与兼容性函数详解(上) 在 X 编程领域,涉及到诸多关键的概念和操作,其中扩展(Extensions)以及兼容性函数是非常重要的部分。下面将详细介绍这些内容。 扩展相关内容 协议请求差异 每个协议请求都有一定的差异,若需要更详细的信息,可以查看 Xlib 源码中…

作者头像 李华
网站建设 2026/6/10 2:37:56

AI的终极形态:不是替你点屏幕,而是直接给你结果

最近我一直在想一个问题&#xff1a;现在我们追捧的GUI Agent&#xff0c;到底是在帮我们省“力”&#xff0c;还是在帮我们省“事”&#xff1f;看起来很多GUI Agent产品都在努力“模仿人手”——学着我们点屏幕、划页面、开应用。这确实很直观&#xff0c;但你有没有觉得&…

作者头像 李华
网站建设 2026/6/11 16:29:38

Excalidraw在敏捷开发中的应用:构建可视化的Scrum任务看板

Excalidraw在敏捷开发中的应用&#xff1a;构建可视化的Scrum任务看板 如今&#xff0c;远程协作已成为软件团队的常态。当分布在不同时区的成员围坐在虚拟会议中讨论Sprint进展时&#xff0c;一个常见的问题浮现出来&#xff1a;我们真的在“同一页面”上吗&#xff1f;文字描…

作者头像 李华
网站建设 2026/6/10 1:53:43

flink的反压查看火焰图

在 Flink 中排查反压&#xff08;Backpressure&#xff09;问题时&#xff0c;火焰图&#xff08;Flame Graph&#xff09;是定位性能瓶颈的有效工具。以下是详细步骤&#xff1a;1. 确认反压存在通过 Flink Web UI 或指标系统检查反压指标&#xff1a;outputBufferUsage 接近 …

作者头像 李华
网站建设 2026/6/10 14:41:56

spark的静态内存管理机制

Spark的静态内存管理机制 Apache Spark 是一个分布式计算框架,其内存管理机制对于性能至关重要。静态内存管理(Static Memory Management)是 Spark 早期版本(如 1.6 之前)中采用的一种固定内存分配策略。它通过预先划分内存区域来管理执行和存储任务,确保资源隔离但缺乏…

作者头像 李华
网站建设 2026/6/11 20:19:42

Wechaty v1.20.2终极指南:5大RPA功能让聊天机器人开发效率飙升300%

Wechaty v1.20.2终极指南&#xff1a;5大RPA功能让聊天机器人开发效率飙升300% 【免费下载链接】wechaty 项目地址: https://gitcode.com/gh_mirrors/wec/wechaty 还在为微信机器人开发中的复杂协议配置而头疼吗&#xff1f;&#x1f914; 每次切换平台都要手动修改环境…

作者头像 李华