首先,我对程序如何与 X11 窗口管理器交互还相当陌生。我经常使用 ngspice 进行电路级仿真,最常用的任务之一是使用 Nutmeg 绘制波形图后处理器。每当由于某种原因通过terminal.app调用多个X11窗口时all the windows stack on one another 。有没有办法或破解来打开任何不重叠/堆叠在现有窗口上的新 x11 窗口?
感谢您的阅读。
最佳答案
窗口放置由窗口管理器处理。我看到您标记了此 MacOS,因此我猜测您正在通过 MacOS 运行 X11 应用程序。我不使用MacOS,所以我不确定你的WM是什么,但这实际上是由WM决定的。如果您有一些 Xlib 或 XCB 函数可供使用,您可能可以使用 XChangeProperty (Xlib) 或 xcb_change_property (XCB) 设置一些放置提示。没有办法保证 WM 会对它们做任何事情,但有可能。您还可以使用 XConfigureWindow/xcb_configure_window 移动窗口并调整窗口大小。
简而言之,放置是由 WM 处理的,它可以随心所欲地进行操作,并且 Windows 不需要监听其他应用程序发出的任何请求。您所能做的就是尝试一些事情,看看什么有效。
关于macos - X11(xquartz)窗口堆叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54301522/