使 GUI 工具包(如 Qt、GTK)与窗口管理器协同工作的基本机制是什么?
据我了解,GUI 工具包可以绘制自己的主窗口,而不需要任何窗口管理器。然而,令我困惑的一点是窗口管理器何时以及如何在 x-server 中检测到“新窗口请求”并在该窗口周围绘制其框架、标题等?当然,需要某种隐含的协调。但是,从编码的角度来看,窗口管理器初始化似乎对 GUI 工具包完全透明。
可以说 GUI 工具包和窗口管理器都是 x 窗口的 2 个对等客户端吗?调用(通知)窗口管理器参与新窗口创建过程是否是 x-server 的责任?如果是这样,在没有窗口管理器的情况下,谁来确定“应用程序窗口”的位置呢?