这个项目能做什么

Sophia是一个实验性的显示服务器和合成器,围绕交易驱动的引擎构建,并带有原生X11前端。其核心思想是窗口几何和像素作为单个视觉交易一起提交,因此停滞的客户端会将最后提交的状态保留在屏幕上,直到替换就绪。 该项目遵循Unix风格的责任划分。引擎负责物理输入、场景图、帧调度、视觉提交、渲染和显示输出。X11前端(用Rust编写,位于sophia-x-authority中)接受X11连接、管理资源、执行协议规则,并将客户端状态转换为引擎交易。窗口管理、外壳UI和应用程序间传输由通过版本化协议通信的独立进程处理。 关键组件: - Sophia引擎:负责输入、场景图、命中测试、损坏跟踪、帧调度、原子视觉提交和扫描输出的合成器权威。 - Sophia X服务器前端:X11资源、选择、抓取和协议检查;发出命名空间检查的表面交易。 - Sophia WM:通过sophia_wm_v1使用不透明布局节点和表面句柄提议布局和焦点,无法访问XID、标题、PID或剪贴板内容。Hagia是参考窗口管理器。 - Sophia外壳:通过sophia_shell_v1提供面板、启动器和切换器,请求屏幕边缘的空间,并通过代理接收经过净化的元数据。Narthex是描述性外壳参考。 - Sophia门户:在命名空间之间代理剪贴板共享、拖放和屏幕捕获,要求对每个特定接收者进行授权。 命名空间隔离是核心设计点。受信任的应用程序可以共享命名空间并使用传统的X11对象模型,而需要隔离的应用程序在单独的命名空间中运行,跨命名空间资源查找会失败关闭。门户授权特定传输,而不会向任一命名空间开放一般访问。 文档包括在Sophia上构建窗口管理器、外壳或桌面环境的指南,架构、协议、配置和安全规范的索引,以及调查和设计决策的开发笔记本。当前工作跟踪在todo.md中。 状态:Sophia是一个研究原型。X11是当前应用程序协议,Rust前端实现了其子集;应用程序兼容性和端到端验证仍在进行中。其他协议前端,包括Wayland,是未来的工作。该项目采用BSD 3-Clause许可证。