[Lazarus] Screen and Desktop inconsistencies

Hans-Peter Diettrich DrDiettrich1 at aol.com
Mon Nov 7 05:42:08 CET 2011

There exist 3 descriptions of the display area in TScreen: Screen (Width 
and Heigth), Desktop and WorkArea. The Delphi description of the 
difference is quite vague. The Lazarus implementation seems to assume:
   Screen = primary monitor
   WorkArea = primary monitor excluding e.g. TaskBar (SPI_GETWORKAREA)
   Desktop = entire virtual display, including all monitors

Is this correct?

About the DesktopRect and WorkAreaRect, the WorkAreaRect contains the 
BottomRight coordinates, while DesktopRect contains the Width and Height 
in BottomRight. This may be Delphi compatible, but looks very confusing.

No Rect (or Top, Left) properties exist for the Screen. Delphi assumes 
(0,0) for the primary monitor origin - does this hold for non-Windows 

The same for the WorkArea, where e.g. a Linux taskbar can (and typically 
does) span multiple monitors. I'm missing a property describing the 
entire WorkArea, across all monitors, excluding the system areas.


More information about the Lazarus mailing list