创建X11窗口以跨多个显示器
我在这里描述了确切的问题创建X11窗口以跨多个显示器,x11,monitor,X11,Monitor,我在这里描述了确切的问题 我有六个显示器,正在尝试创建一个比其中一个显示器大的窗口。窗口管理器不断调整其大小。 如果我在该帖子内发布,请道歉,我不清楚礼仪。 Anhow,我在代码中执行以下操作: /* Pass some information along to the window manager to size the window */ sizeHints.flags = USSize; // | PMinSize; sizeHints.width = sizeHints.ba
我有六个显示器,正在尝试创建一个比其中一个显示器大的窗口。窗口管理器不断调整其大小。
如果我在该帖子内发布,请道歉,我不清楚礼仪。
Anhow,我在代码中执行以下操作:
/* 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);
窗口管理器调整窗口的大小,使其适合一个监视器,而不是比监视器大。由于某种原因,我不能只得到一个所需大小的窗口。请注意,屏幕的宽度和高度为我提供了所有显示器的预期宽度和高度组合。有人能帮忙吗?我希望我的解释足够清楚 如果手动调整窗口大小以跨越多个监视器,会发生什么情况?你把它放回去了吗?对不起,我插错了。我可以将窗口调整为我想要的大小。如果我设置了最小尺寸,我不能使其小于最小宽度和最小高度。如果我没有设置这些,那么虽然用户可以将窗口拖得更大,但程序无法将窗口的大小调整为大于单个显示大小。我认为您可以设置最小高度和宽度以跨越多个监视器,映射窗口,然后取消设置。您希望使用
xprop
检查处于各种状态的窗口属性。您希望它具有与手动调整大小后相同的属性。如何确切地“取消”它们?这会像调用xsetnormalhitts()那样简单吗?如果flags中没有PMinSize属性,我讨厌stackoverflow,因为当有人回复我的线程时,它会虔诚地拒绝通知我。很抱歉,由于这个原因,我没有及时回复。