BurntSushi/xgb
GitHub: BurntSushi/xgb
XGB 是 X Window 系统协议的 Go 语言底层绑定库,提供线程安全的 API 用于与 X 服务器直接通信。
Stars: 516 | Forks: 76
请注意,由于我没有时间进行或支持更多的开发工作,该项目基本已无人维护。请考虑使用这个 fork 代替:
https://github.com/jezek/xgb
XGB 是 X Go Binding,它是一个用于与核心 X 协议和许多 X 扩展进行通信的底层 API。它是紧密模仿 XCB 和 xpyb 设计的。
它是线程安全的,并且在 GOMAXPROCS > 1 时能从并行处理中获得立竿见影的性能提升。(有关证据,请参阅 xproto/xproto_test.go 中的基准测试。)
请查看 doc.go 了解更多信息。
请注意,除非您确定需要 XGB,否则使用稍微高级一点的库 xgbutil 可能会让您更轻松。
# 快速使用
go get github.com/BurntSushi/xgb
go run go/path/src/github.com/BurntSushi/xgb/examples/create-window/main.go
# BurntSushi 的 Fork
由于上游不再活跃,我从 Google Code fork 了 XGB 代码库。
Godoc 文档可以在这里找到:
https://godoc.org/github.com/BurntSushi/xgb
为了支持线程安全和多种扩展,大部分代码都经过了重写。也就是说,go_client.py 已被弃用,取而代之的是 xgbgen 包。
其中*没有*被我重写的最大部分是连接和身份验证握手。它们本身就比较繁琐,确实没有必要重新编写它们。XGB 的其余部分已被完全重写。
我喜欢以 WTFPL 许可发布我的代码,但由于这是基于他人的工作开始的,我保留了原始的许可证/贡献者/作者信息。
我想我可以名正言顺地以 WTFPL 许可发布 xgbgen。公平地说,它至少和 XGB 本身一样复杂。*叹气*
以下是原始的 README:
# XGB README
XGB 是 X 协议的 Go 语言 Binding。
它是 XCB(X 协议 C 语言 Binding)的 Go 等价物
(http://xcb.freedesktop.org/)。
除非另有说明,XGB 的源文件均遵循 LICENSE 文件中的 BSD 风格许可证进行分发。
代码贡献应遵循与 Go 项目相同的流程:
http://golang.org/doc/contribute.html
标签:API绑定, EVTX分析, Go语言, XCB, X Window, 图形界面, 日志审计, 程序破解, 系统底层