gpt4 book ai didi

c++ - 使用 twinview Ubuntu 12.04 c++ 在 2 个显示器上的全屏应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:31:15 27 4
gpt4 key购买 nike

我在处理我正在处理的应用程序时遇到问题。基本上我希望它全屏显示,但只在我的两台显示器中的一台上显示。我正在使用 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);

希望这能帮助遇到类似问题的其他人,窗口管理器会很好地处理所有事情。

最佳答案

xorg.conf 中的这个选项应该可以做到:

Option "NoTwinViewXineramaInfo"

This option turns Xinerama Info off. With Xinerama info off the Window Manager believes that the entire MetaMode is the screen and will span everything across both monitors. When you click Maximize your application will fill both screens, for some applications this is ok for others it's annoying. I've tested it both ways and prefer to allow the Window Manager to know there are two displays.

关于c++ - 使用 twinview Ubuntu 12.04 c++ 在 2 个显示器上的全屏应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com