24.14 Multi-monitor support

Starting with Hollywood 6.0 multiple monitor systems are supported by Hollywood. You can specify on which monitor a display should open by setting the Monitor tag in the @DISPLAY preprocessor command or in the CreateDisplay() or OpenDisplay() functions. To get information about all available monitors, you can use the GetMonitors() function.

Please note that the way extended desktop coordinates are handled with multiple monitors is platform-dependent. For example, on Windows the primary monitor's area in the extended desktop will always start at offset 0:0. If there is a monitor to the left or top of the primary monitor, its offset will use negative coordinates. On Linux, however, negative coordinate space isn't used at all. Thus, it can happen on Linux that the primary monitor's area in the extended desktop doesn't start at offset 0:0 but at a higher offset if there is a monitor to the left or top of the primary monitor. Hollywood doesn't level these platform dependencies for you because they are an integral part of the window manager's coordinate system and it could become very confusing in some parts for the programmer if Hollywood tried to introduce its own coordinate abstraction layer on top of the window manager's coordinate system. Normally, you won't have to deal with the absolute offsets anyway, since functions like MoveDisplay() from the display library work relative to the display's monitor offset anyway.


Show TOC