Re: need smarter WM window placement with two monitors
Paul Johnson <[email protected]> Wed, 23 Nov 2005 12:35:13 -0600
| Newsgroups | gmane.compw.window-managers.windowmaker.user |
|---|---|
| Message-ID | <[email protected]> |
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.
>
>>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.
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