Re: need smarter WM window placement with two monitors
[email protected] Wed, 23 Nov 2005 14:15:05 -0500
| Newsgroups | gmane.compw.window-managers.windowmaker.user |
|---|---|
| Message-ID | <20051123141505.0bc867ed@amorphous> |
On Wed, 23 Nov 2005 12:35:13 -0600 Paul Johnson <[email protected]> wrote: > Henrik Prinz wrote: > > Paul Johnson schrieb: > > > >>With an Nvidia dual-head display, I have some inconvenient experiences > >>with WindowMaker. Most prominently, new windows that are created in the > >>center of the display are split between the two monitors. I wish Window > >>Maker could somehow know that I have 2 monitors and stop starting > >>programs in a way that straddles the 2 monitors. > > > > > > Did you compile WindowMaker with --enable-xinerama? > > > > YES. > > But I think the TWinView thing is shooting me in the butt. The X11 > system sees a single monitor with 2560x1024, and so I bet Window Maker > does not even perceive the presence of a dual display. correct Window Maker sees what X11 tells it to see. If X11 only sees one monitor then Window Maker only sees one monitor. Window Maker talks to X11 not your video card. > > > > >>I'm using the Nvidia Twinview configuration, so the 2 1280x1024 monitors > >>are seen as one single monitor 2560x1024. Window Maker scales the > >>background images all the way across both monitors. > > > > > > Do you have the Xinerama extension in your xorg.conf enabled? > > With Nvidia, one does not use the Xinerma from xorg. Rather, one uses > TWinView. > > TWinView supplies Xinerama-like messages for window managers, but in the > opinion of the Nvidia TwinView authors, Window Maker falls into a class > of "broken" window managers that don't correctly respond to the Xinerama > immitation messages they provide. Note below I have > "NoTwinViewXineramaInfo" set, because otherwise Window Maker just takes > the background image and puts one copy on each monitor, not scaled > across both. wrong Window Maker supports Xinerama correctly. If X11 says there is Xinerama it means X11 will report two monitors, their resolutions and dimensions. Window Maker does not talk to the video card directly it talks to X11 and X11 talks to the video card. The reason Window Maker puts a background on each monitor is because it knows there are two monitors and wmsetbg is configured to do that intentionally. The patch i posted to your first post regarding your monitor problem addresses the behavior of wmsetbg. if you want Xinerama behavior, you must enable Xinerama. > > Section "Device" > Identifier "Videocard0" > Driver "nvidia" > VendorName "Videocard vendor" > BoardName "NVIDIA GeForce FX (generic)" > > Option "TwinView" "true" > Option "NoTwinViewXineramaInfo" "true" > Option "SecondMonitorHorizSync" "30.0-85.0" > Option "SecondMonitorVertRefresh" "50.0-160.0" > Option "MetaModes" "1280x1024, 1280x1024; 1024x768, 1024x768" > Option "TwinViewOrientation" "RightOf" > Option "ConnectedMonitor" "CRT, CRT" > > > EndSection > > > I'll go back and see how WindowMaker window placement changes if I > change that to "false". I throw away the background management, oh well. > > > Here's the comment from the Nvidia manual: > > Option "NoTwinViewXineramaInfo" "boolean" > When in TwinView, the NVIDIA X driver normally provides > a Xinerama extension that X clients (such as window > managers) can use to to discover the current TwinView > configuration. Some window mangers can get confused by > this information, so this option is provided to disable > this behavior. Default: TwinView Xinerama information > is provided. > > > And they provide a FAQ: > > Q: Will window managers be able to appropriately place windows > (e.g. avoiding placing windows across both display devices, or in > inaccessible regions of the virtual desktop)? > > A: Yes. The NVIDIA X driver provides a Xinerama extension that X clients > (such as window managers) can use to discover the current TwinView > configuration. Note that the Xinerama protocol provides no way to > inform clients of when a configuration change occurs. So, if you > modeswitch to a different MetaMode, your window manager will still > think you have the previous configuration. Using the Xinerama > extension, in conjunction with the XF86VidMode extension to get > modeswitch events, window managers should be able to determine the > TwinView configuration at any given time. > > Unfortunately, the data provided by XineramaQueryScreens() appears to > confuse some window managers; to workaround such broken window mangers, > you can disable communication of the TwinView screen layout with the > "NoTwinViewXineramaInfo" X config Option (please see Appendix D > for details). > > Be aware that the NVIDIA driver cannot provide the Xinerama > extension if the X server's own Xinerama extension is being used. > Explicitly specifying Xinerama in the X config file or on the X > server commandline will prohibit NVIDIA's Xinerama extension from > installing, so make sure that the X server's log file does not contain: > > (++) Xinerama: enabled > > if you wish the NVIDIA driver to be able to provide the Xinerama > extension while in TwinView. > > Another solution is to use panning domains to eliminate inaccessible > regions of the virtual screen (see the MetaMode description above). > > A third solution is to use two separate X screens, rather than use > TwinView. Please see (app-r) APPENDIX R: CONFIGURING MULTIPLE X > SCREENS ON ONE CARD. > > > > > > Henrik > > _______________________________________________ > > INFO: https://windowmaker.org/lists/listinfo/wm-user > > ARCHIVE: https://windowmaker.org/lists/archive/wm-user/ > > FAQ: http://windowmaker.org/faq.html > > > -- > Paul E. Johnson email: [email protected] > Dept. of Political Science http://lark.cc.ku.edu/~pauljohn > 1541 Lilac Lane, Rm 504 > University of Kansas Office: (785) 864-9086 > Lawrence, Kansas 66044-3177 FAX: (785) 864-5700 > _______________________________________________ > INFO: https://windowmaker.org/lists/listinfo/wm-user > ARCHIVE: https://windowmaker.org/lists/archive/wm-user/ > FAQ: http://windowmaker.org/faq.html _______________________________________________ INFO: https://windowmaker.org/lists/listinfo/wm-user ARCHIVE: https://windowmaker.org/lists/archive/wm-user/ FAQ: http://windowmaker.org/faq.html