Here is a list of features Xinerama support may or may not
support:

  1) Window placement
  2) Icon placement
  3) Menu placement
  4) Menu position hints
  5) Sizing menus for different screen sizes
  6) Position of the geometry window
  7) Maximizing windows
  8) Limit SnapAttraction to windows on same screen.
  9) Enable and Disable Xinerama on the fly (including modules)
 10) Xinerama support in Pager
 11) Xinerama support in WindowList
 12) XineramaSupport in various icon managers (IconMan, WinList)
 13) EdgeScrolling between Xinerama screens.
 14) Handle Xinerama screens in Move/Resize parameters.

Currently, 3, 6, 9 and 13 are implemented.  However some of the
Xinerama functions poll the pointer position which reduces
performance a lot, especially in the move and resize loops.

Consider this layout of a Xinerama screen consisting of two
physical screens:

  Xinerama screen
  +---------------------+--------------+
  |                     |              |
  |                     |              |
  |                     |              |
  |                     |              |
  |                     |  screen 2    |
  |     screen 1        |              |
  |                     |              |
  |                     |              |
  |                     |              |
  |                     |              |
  +---------------------+              |
  |   blank area        |              |
  |                     |              |
  +---------------------+--------------+


At the moment, the most annoying problems are:

 - Fvwm happily places windows and icons in blank areas.
 - Menus are sized for the whole screen.  If a menu that is as
   tall as screen 2 is opened on screen 1, the bottom items are
   not accessible.
 - Maximizing windows always covers the whole screen, not only
   the sub screen with the window.

In another step it may be worthwhile to put all code dealing with
screen dimensions in a single library libs/Screen.c instead of
libs/XineramaSupport.c.  This libraray could handle all
arithmetics with screen dimensions and would be the only place
that knows about Xinerama at all.

Any comments and help with the implementation are welcome.  For
those who don't have a second monitor I added the configure
option --enable-xinerama-emulation.  The Xinerama code is enabled
on a single screen with the above layout, including the blank
area.  For testing, it is probably best to fill the blank area
with a single window so you can see when the pointer or a window
or menu reaches into the forbidden zone.  You do not need the
Xinerama extension in your X server for this to work.

Bye

Dominik ^_^  ^_^

--
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to