The Composition Manager ( io-winmgr ) uses a configuration file to set HMI and application settings on startup. The configuration file contains the following sections:
Each section must be contained within a set of begin and end tags. The following example shows the begin and end tags for the display section:
begin display ... end display
It isn't necessary for the sections to be in a particular order. |
A configuration file must also define a plane. A plane represents a composition stage, or the area where the composition occurs.
The plane section has a begin and an end tag, just like a section:
begin plane ... end plane
and must be placed within the display section.
By default, the configuration file is: /etc/system/config/winmgr.conf. You can modify this configuration file, or create a new configuration file and use the -c option to specify the location for the file.
This section includes configuration items that have a global scope. In other words, they aren't tied to a particular display, window class, or input device.
For example, if set to 0, the composition manager will handle requests sent to /dev/winmgr:0. It is recommended that you omit this directive and use the default ID. This default ID will ensure that EGL connections established with EGL_DEFAULT_DEVICE_ID don't return with an error. The value for id must be a number between 0 and 99.
Turning this option on can hinder performance. |
Currently supported devices include touch screens, mice, keyboards, and control devices. When the the all option is specified, composition manager scans the /dev/devi namespace, and attaches to all devices it supports, including multiple devices of the same type. You can specify an attach string to provide more control over which devices will be managed by composition manager. The attach string consists of a space separated list of devi dev entries. For example, input = touch0 mouse0 keyboard0 keyboard1 control0
The none option, indicates that the composition manager will not manage any devi input devices. The default value is none.
When set to on, focus is assigned to newly created windows when they're on top. When a window that has input focus is destroyed, focus will also be assigned to the window directly above. When top-most windows get destroyed while they have input focus, the focus goes to the window below. Turning autofocus off removes these rules and requires a click or refocus from the window manager.
The default value is on.
Depending on system load and performance, pointer events may start queueing up in the input driver. When this happens, it is important to rapidly empty events from this queue in order to minimise the latency between events, cursor updates, and actual pointer movements.
The value of this property determines the maximum number of events that can be read at once. The auto value indicates that the composition manager will grow the queue as events start queueing up.
The default value is 1.
You must define one display section for every display that will be handled by the composition manager.
Typically, a display entry in this configuration file will correspond to an actual physical display device. When multiple displays are present on a system, you must use the OpenWF display directives so that the Composition Manager can target each display. Otherwise, a single EGL display can be used.
This ID corresponds to the KD_QNX_WINDOWPROPERTY_DISPLAY window attribute that must be used to make a window appear on a specific display. For example, if id is set to 10, a window would have to call kdSetWindowPropertyiv() with pname set to KD_QNX_WINDOWPROPERTY_DISPLAY and param pointing to a value of 10 in order to put that window on this display.
By default, windows will be placed on the first display entry in this configuration file, not on display ID 0.
The default ID is an auto-incremented integer that starts with 0.
If cursor is set to sw-square, a small square is drawn at the coordinates of the relative pointer device.
The Composition Manager will use a hardware cursor if the value is set to hw-arrow.
The default value is off.
You can use the sysres utility to generate a list of WFD devices, ports and pipelines available on a system. It isn't necessary to provide a wfd-device unless the Composition Manager must handle multiple displays.
You can use the sysres utility to generate a list of WFD devices, ports, and pipelines that are available on a system. The default value corresponds to the first port ID returned by WFD.
This directive is necessary only if the display mode isn't set when the Composition Manager starts up. The width and height arguments indicate the display resolution. The refresh argument is the update rate in frames per second. The default value is the current display mode.
Note that a specific display controller may not support all combinations of resolutions and refresh rates.
# Set the display mode. wfd-mode = 640x480@60
You can use the sysres utility to generate a list of EGL configuration IDs that can be used.
Planes can be associated to WFD pipelines whether they have target buffers or not (see the egl-config directive). A wfd-pipeline with no egl-config can support one window. When multiple windows are created on such planes, only the top-most window is visible.
Conversely, planes with target buffers that are associated with WFD pipelines can support any number of windows simultaneously.
You can use the sysres utility to generate a list of WFD devices, ports, and pipelines available on a particular system.
Blending can still be performed even if this option is not enabled when a target buffer is available (see egl-config).
The option is ignored if the WFD pipeline does not support source alpha blending. The source-alpha and source-chroma options should not both be turned on. The option is also ignored if the plane was tied to a valid WFD pipeline ID.
The option is ignored if the hardware doesn't support source color transparency. Don't turn on both the source-chroma.
The background color fills regions not occupied by windows of the lower plane. The default background color is black, or 000000. Note that certain optimizations are available only if the background color is black.
Planes without target buffers can't have a background color. For planes where source color transparency is enabled (see source-chroma), the background color directive specifies the source color that will be interpreted as transparent.
end plane
Classes can be used by system integrators to set default values for window properties that can otherwise be configured differently from system to system. This works as long as the application itself sets the class property, or in cases where a delegate does it instead.
Each begin and end class directive defines a new class. Note that all fields are optional. Only the fields specified in the class description will actually be copied into their corresponding window properties.
This property isn't used by the Composition Manager to provide a title bar. It affects the KD_WINDOWPROPERTY_CAPTION window property.
This affects the KD_WINDOWPROPERTY_VISIBILITY window property.
This affects the KD_QNX_WINDOWPROPERTY_SOURCE_ALPHA window property.
When pointer focus is assigned to a window, general focus cannot be re-assigned by mouse click. |
This affects the KD_QNX_WINDOWPROPERTY_SURFACE_SIZE window property.
This affects the KD_QNX_WINDOWPROPERTY_SOURCE_POSITION window property.
This affects the KD_QNX_WINDOWPROPERTY_SOURCE_SIZE window property.
This affects the KD_QNX_WINDOWPROPERTY_POSITION window property.
This affects the KD_WINDOWPROPERTY_SIZE window property.
This affects the KD_QNX_WINDOWPROPERTY_ALPHA window property.
This field doesn't correspond to an OpenKODE window property. It replaces the config argument provided to the kdCreateWindow() function. You can use utilities such as egl-configs or io-winmgr's sysres command to generate a list of EGL configurations available on a given system. The EGL config ID is the value that you should use to set this attribute.