All Manuals > LispWorks Release Notes and Installation Guide > 13 Release Notes > 13.4 New CAPI features


13.4.5 Support for multiple monitors

CAPI now supports positioning (and querying the position of) windows on multiple monitors.

New functions capi:screen-monitor-geometries , capi:screen-internal-geometries and capi:pane-screen-internal-geometry support the notions of monitor geometry (which includes "system areas" such as the Mac OS X menu bar and the Microsoft Windows task bar) and internal geometry (which excludes the system areas).

There is a "primary monitor" which displays any system areas. The origin of the coordinate system (as returned by capi:top-level-interface-geometry and capi:screen-internal-geometry ) is now the topmost/leftmost visible pixel of the primary monitor. Thus the origin may be within a system area such as the Mac OS X menu bar.

The new function capi:virtual-screen-geometry returns a rectangle just covering the full area of all the monitors associated with a screen.

Note that code which relies on the position of a window should not assume that a window is located where it has just been programmatically displayed, but should query the current position. This is because the geometry includes system areas where CAPI windows cannot be displayed.

Note also that CAPI does not currently support multiple desktops, which are called workspaces in Linux distros, and called Spaces on Mac OS X.

LispWorks Release Notes and Installation Guide - 23 Dec 2011