我熟悉X11系统的工作原理,其中客户端通过套接字连接到服务器进程,然后将操作发送到窗口服务器以代表它们执行某些操作。
但是我不了解(并且找不到合适的文档)描述GUI应用程序如何与Mac OS X上的窗口系统交互。我遇到的一些问题包括:
- 应用如何从窗口系统接收事件?
- 该应用是否需要向内核或某个窗口系统服务器注册?
- 窗口系统如何请求应用更新其显示?
- 应用如何触发重新显示操作?
- 窗口系统是否有基于套接字的协议或其他RPC系统?
- 窗口系统或应用程序是否可以直接访问硬件?
- 客户端应用程序和窗口系统之间可以进行哪些操作?