我遇到了这里描述的确切问题。 How to make X11 window span multiple monitors
我有六个显示器,我正在尝试创建一个大于其中一个显示器大小的窗口。窗口管理器不断调整大小
道歉,如果我要在那个帖子中发帖,礼仪对我来说并不清楚
好吧,我在我的代码中执行以下操作:
/* Pass some information along to the window manager to size the window */
sizeHints.flags = USSize; // | PMinSize;
sizeHints.width = sizeHints.base_width = width;
sizeHints.height = sizeHints.base_height = height;
// sizeHints.min_width = width;
// sizeHints.min_height = height;
// sizeHints.max_width = mScreenWidth;
// sizeHints.max_height = mScreenHeight;
if (geometry->x != DONT_CARE && geometry->y != DONT_CARE) {
sizeHints.x = geometry->x;
sizeHints.y = geometry->y;
sizeHints.flags |= USPosition;
}
XSetNormalHints(mDisplay, mWindow, &sizeHints);
SetTitle(suggestedName);
XSetStandardProperties(mDisplay, mWindow,
suggestedName.toAscii(), suggestedName.toAscii(),
None, (char **)NULL, 0, &sizeHints);
/* Bring it up; then wait for it to actually get here. */
XMapWindow(mDisplay, mWindow);
我遇到的问题是,如果我设置min_width和min_height,则用户无法调整窗口大小,这不是我想要的。但是,如果我不这样做,那么当我稍后再进行任何X11调用时,例如
XGetWindowAttributes(mDisplay, mWindow, &win_attributes);
窗口管理器调整窗口大小以适合一个监视器,而不是大于监视器。出于某种原因,我无法获得所需大小的窗口。请注意,WidthOfScreen和HeightOfScreen按预期为我提供了所有监视器的组合宽度和高度 有人可以帮忙吗?我希望我能够清楚地解释自己。