我正在处理的应用程序遇到问题。基本上我希望它全屏显示,但只在我的两台显示器中的一台上。我正在使用 Nvidia 显卡并运行 Twinview 将我的桌面扩展到两台显示器上。不幸的是,我尝试的所有东西都只能看到一台大显示器。有没有办法真正了解每台显示器的分辨率?我宁愿不必使用一堆外部库,我已经在使用 Xlib 来管理窗口,但我还没有找到任何可以看到 Twinview 的调用。
不幸的是,我现在几乎被 Twinview 困住了,我真的需要绕过它,而不仅仅是切换到其他东西。
谢谢
编辑:我能够让它基本上与 Xinerama 一起工作,但经过更多的努力,这是我最终得到的代码,更简洁,据我所知,Xinerama 已被弃用,所以这可能更好。
XEvent xev;
xev.type = ClientMessage;
xev.xclient.window = this->window;
xev.xclient.message_type = XInternAtom(this->display, "_NET_WM_STATE", False);
xev.xclient.format = 32;
xev.xclient.data.l[0] = 2; //0 is remove, 1 is add, 2 is toggle
xev.xclient.data.l[1] = XInternAtom(this->display, "_NET_WM_STATE_FULLSCREEN", False);
希望这会帮助其他遇到类似问题的人,窗口管理器可以很好地处理所有事情。