This topic provides a reference to the wsini.ini
file
parameters. Some of the parameters are general, some are screen-specific and
some are specific to individual plug-ins.
Variant: ScreenPlay and non-ScreenPlay. Target audience: Device creators.
This topic divides the parameters into four groups:
Notes:
Although most of these parameters apply to the Window Server in both the ScreenPlay (NGA) variant and the non-ScreenPlay (non-NGA) variant, some of them apply to only one variant or the other. For the general and screen-specific parameters, there is an extra column on the right of the table that shows which variant the parameter applies to—both meaning both ScreenPlay and non-ScreenPlay variants.
You must specify all of the parameters using all uppercase letters.
These
are general parameters—that is, parameters that are not screen-specific or
plug-in specific. Put these parameters first in the wsini.ini
file,
optionally under the [DEFAULT]
section heading keyword. This
first section can also include any screen-related parameters that apply to
all screens.
Parameter | Description | Variant |
---|---|---|
|
If this is specified, the Window Server uses absolute fading. If
not specified, the Window Server uses counted fading. Counted fading means
that the Window Server maintains a count in order to support the nesting of In absolute fading, Window Server uses a |
Both |
|
Specifies the grace period (in microseconds) for animations. The grace period is the length of time that the Window Server waits between animation frames. If not specified, the grace period defaults to 35 milliseconds, in order to allow other threads to run. The animation grace period is a minimum period—the Window Server attempts to go faster if there is nothing else using the system. |
Both |
|
Specify this parameter to enable atomic redraws. Client redrawing is often performed as sequences of Begin/End redraw commands. If the screen is redrawn when the Window Server is part way through receiving the draw commands (that is between the Begin and End commands), the screen update is often incomplete or incorrect. This can result in flicker. Enabling atomic redraws ensures that the draw commands that are enclosed within the Begin/End redraw are drawn onto the screen only when the whole section of commands has been received by the Window Server. See Redraw Stores for more information. |
Both |
|
Sets the alpha value of the default background color for all windows. To override this default value for a specific window, set its background color explicitly. Specify value as an integer in the range 0–255. If this parameter is not specified, the default value is 0xFF or completely opaque. Note that a background alpha value of zero means that the window background color is not drawn at all. |
Both |
|
Sets the default window background color. Enter value in
the form: BACKGROUNDCOLOR 0xff0000 If this parameter is not specified, the default background color is white. |
Both |
|
Turns on the Window Server’s debug bar. This overlays the normal UI and displays information about the current performance and behavior of the Window Server over two lines like this: KeyEvents 0; 0; WServ 0.0%; Drawing 0.0%; Reclaimed 0.0% RedrawStore size 0B; updates 0/s, pixels 0/s
|
Both |
|
The Window Server attempts to detect when the CPU is under light load and allows animations to go faster than the grace period under such circumstances. This feature is called idle animation and this parameter disables it. Symbian recommends that you always use this parameter, because there are numerous very short idle periods during application start up and running animations during these short idle periods slows down application start time. This parameter has no effect in the ScreenPlay variant, because idle animation is disabled by default in the ScreenPlay variant. |
Non-ScreenPlay |
|
Specifies the grace period (in microseconds) for Direct Screen Access (DSA) animations. The grace period is the length of time that the Window Server waits between DSA animation frames. If not specified this defaults to 35 milliseconds, in order to allow other threads to run. The animation grace period is a minimum period—the Window Server attempts to go faster if there is nothing else using the system. |
Both |
|
Disables fading, which means that calls to the following functions have no visual effect on the Window Server's drawing: |
Both |
|
Configures the behavior of Before the introduction of the Window
Server improvements known as WSERV2, the Window Server,
By default In the improved Window Server (WServ2),
there are two new methods that explicitly separate these two behaviors. The
methods are |
Both |
|
This parameter is for use when debugging render stage plug-ins.
When specified, the Window Server captures frame bitmaps and saves them in This option
takes effect only when the Window Server and its plug-ins are compiled with
the |
Both |
|
When specified and no shutdown manager is registered, all events
that the Window Server passes to clients as OFF events are ignored. These
events are |
Both |
|
The Window Server attempts to load the named key or pointer click plug-in DLL. If this fails or if this keyword does not appear, a plug-in is not used and key and pointer clicks are not enabled. |
Both |
|
Stops Window Server clients from removing or changing the key or pointer click plug-in. Hardware manufacturers can use this keyword to disallow key or pointer clicks or force only one plug-in to be used. |
Both |
|
Specifies the type of logging that is required. Loads one of the three logging DLLs, as specified by string. Possible values of string are: |
Both |
|
If specified, enables logging from boot-up. You can optionally specify a value that must be one of the following:
|
Both |
|
The fully qualified file name of the output log file. |
Both |
|
Sets the amount of memory that the Window Server's memory manager holds in reserve for use during critical sequences where the use is expected to be temporary. The memory reserve is not used for memory allocation failures and is currently used by the Window Server’s inner composition loop. If this parameter is not specified, the memory manager allocates 1024 bytes of memory to hold as its reserve. |
Both |
|
Selects the Window Server multi-focus policy. This means that one window group on each screen all have focus. When this policy is not set, only one window group on one screen has focus. When a window group has focus, it means that the last focus event it received was a focus gained event rather than a focus lost event. The window group with focus is always the front-most focusable window group on its screen. This setting does not change the key event channeling policy. Key events are sent only to the focused window group on the focused screen (unless they are captured by another window). |
Both |
|
Use this keyword if, at boot time, you need to delay blanking the screen until the shell has started a session with the Window Server. Note
that you specify the name of the shell by using the |
Both |
|
The lifetime in microseconds of non-redraw segments within the redraw stores in the non-ScreenPlay variant only. Non-redraw drawing (that is, drawing commands that are issued outside of Begin/End Redraw) are placed into a special non-redraw segment in the redraw store. To prevent these non-redraw segments from growing indefinitely as non-redraw commands are added to them, a limit is imposed on their life time within the redraw store. When adding non-redraw commands to the redraw store, the Window Server:
The |
Non-ScreenPlay |
|
Specifies what happens when there is no key or pointer activity for a period of time. Possible values are: |
Both |
|
Specifies the complete list of plug-ins that the Window Server’s
plug-in manager is to load. For each plug-in that you specify, create a separate
section in the If not specified, the plug-in manager loads the default plug-ins. In the ScreenPlay variant, these are flickerbuffer and display. In the non-ScreenPlay variant, they are flickerbuffer, std and defaultfader. If the default plug-ins are required, include them in the plug-in list. For example, in ScreenPlay, the following instructs the plug-in manager to load a custom plug-in called newplugin in addition to the default plug-ins: PLUGINS flickerbuffer display newplugin |
Both |
|
'Protects' a key, so that it can only be captured (by calling Only
one key can be protected in this way. This means that these two parameters
must not appear more than once in the When
a client attempts to capture a standard key event (rather than a key up or
down event), keyvalue is matched against the key code (as defined in
the TKeyCode enum in When a client attempts to capture
an up or down key event, keyvalue is matched against the scan code
(as defined in the TStdScanCode enum in Note that for many keys, the scan code and key code are the same, so this mechanism can by used to protect against the capture of both standard events and up/down events for these keys. You can specify keyvalue as a hexadecimal or decimal number. windowgroupname is
the window group name (see |
Both |
|
The shell reboot mode. The following values are defined:
|
Both |
|
Specifies the grace period (in microseconds) for redraws within the Window Server. The redraw grace period is the length of time the Window Server waits before performing a redraw. If not specified, the grace period defaults to zero, which means that the Window Server endeavors to perform redraws immediately. The redraw grace period is a minimum time—the Window Server attempts to go faster if there is nothing else using the system. |
Both |
|
Specify this parameter with value of 1 in order to allow key repeat rollovers. |
Both |
|
Sets the alpha value of the background color of the root window independently from the alpha value of the default background color of other windows. In the non-ScreenPlay variant, you can use this to make the initial background in the Window Server frame buffer transparent. If any windows in front are also transparent, this may lead to transparent pixels in the Window Server frame buffer at the end of rendering. This provides a technique for showing effects (such as particle effects) behind the Window Server frame buffer. This parameter is not used in the ScreenPlay variant, because this and similar use cases can be achieved by adding a background surface to a window. This results in that window's area in the frame buffer (now called the UI surface) being transparent. Specify value as an integer
in the range 0–255. If this parameter is not specified, the alpha value of
the root window’s background color is set to the alpha value of the default
background color—that is, the value set by |
Non-ScreenPlay |
|
The background color of the root window, if you want to set it independently from the default background color of other windows. If not used, the
root window’s background color is set to the default background window value—that
is, the value set by |
Both |
|
Specifies the command line argument to pass when starting the shell. This is similar to DOS command parameters under Microsoft Windows. Defaults to an empty string. |
Both |
|
Specifies the name of the shell to use. Defaults to |
Both |
These parameters are screen specific and you can specify
them separately for each screen. Do this by creating a section for each screen
and use the [SCREEN
n ]
keyword to
indicate the start of each section.
In a single-screen device, put
these parameters in the first ([DEFAULT]
) section and not
in a separate section. In a multi-screen phone, you can put any screen-related
parameters that apply to all screens in the first ([DEFAULT]
)
section.
Each screen can have several screen modes (such as
portrait and landscape), identified by a zero-based index. Some of the screen-specific
parameters relate to the screen mode. For example, in the non-ScreenPlay variant
you can use the SCR_LEFT
, SCR_TOP
, SCR_XSCALE
and SCR_YSCALE
parameters
to change the origin of top-level windows and a scaling factor for each mode
of every screen. Some of these parameters are not supported or work differently
in ScreenPlay. See Dynamic
Resolution Switching for more information.
Keyword/Parameter | Description | Variant |
---|---|---|
|
A The n value
is a number that indicates which screen the section applies to. For instance, If the device
does not support multiple screens, this keyword should not appear in the |
Both |
|
When an |
Both |
|
Enables calls to |
Both |
|
Causes the Window Server to blank the screen after changing the orientation. If this parameter is not specified, screen content persists when the orientation changes. |
Both |
|
If this is specified in the non-ScreenPlay variant, the invalid region of the offscreen bitmap is not set to white or the background color, but is instead copied from the screen. This might reduce flicker if not all the pixels in the invalid region are redrawn. Users should be aware, however, that fading and shadowing are applied when copying from the off-screen buffer to the screen. It is possible that some pixels may be doubly shadowed or doubly faded when using this keyword. Another possible side-effect is that artefacts of sprites may get left behind. |
Non-ScreenPlay |
|
Changes the mode of the Window Server rendering loop from the default dirty-rectangle mode to change-tracking mode. Typically change-tracking mode is used only when a transition effects (TFX) render stage is in use, which builds up its own visuals stores. See Window Server Rendering Loop for more information. |
ScreenPlay |
|
Specifies the chroma key color that the composition engine considers transparent for chroma keying transparency. The specified color must not be used in images on the layer other than to indicate transparency. Enter
the value in the form CHROMAKEYCOLOR 0xFF123456 If this parameter is not specified, the default value is 0. Note: Chroma
key transparency is not used in |
ScreenPlay |
|
Enables you to use Win32-dependent code for debugging the Window Server offscreen buffer and UI surface for each screen on the emulator. |
Both |
|
This is used by the ScreenPlay render stage plug-ins that are supplied in the Window Server Plugins component. This parameter may therefore not be used—for example, if the supplied render stages are replaced. When it is used, it controls the type of scaling that the render stages perform. The value can be one of the following:
Any other value is taken to mean no scaling. |
ScreenPlay |
|
Specifies a custom fader plug-in to be used. If not specified the
default fader plug-in implementation is used. This simply performs a BitGDI In the non-ScreenPlay variant, handset manufacturers
can create custom fader plug-ins to create different fading effects. (In the
ScreenPlay variant, fading effects can be created using render stage plug-ins.)
Fader plug-ins must also be specified using the Fader plugins are specified per screen so it is possible to use different fading effects on different screens. Here is a simplified example: PLUGINS flickerbuffer std defaultfader customfaderA customfaderB SCREEN[0] FADER customfaderA SCREEN[1] FADER customfaderB Note: Fading is essentially disabled in the non-ScreenPlay
variant if a custom fader is not specified using the |
Non-ScreenPlay |
|
The |
Both |
|
Removes the requirement that screen mode indexes must be consecutive. This enables UI factories to implement sparse index schemes and allows the screen mode index to have a particular meaning within the context of a UI. The value is
a positive integer which specifies the highest screen mode index that is defined
in the For example, in the following
example, the last 3 lines would be ignored, unless SCR_WIDTH1 800 SCR_HEIGHT1 600 SCR_ROTATION1 180 SCR_WIDTH3 240 SCR_HEIGHT3 160 SCR_ROTATION3 270 |
Both |
|
Specifies the type and order of the render stages to be used by the Window Server. If not defined, this defaults to The render stages are
plug-ins and you must also specify them in the |
Both |
|
Specifies the display mode to be used for the screen device. The For example, If this parameter is not specified,
or a screen device cannot be created in the specified depth, the default is
the highest color mode available, up to Note:
This parameter replaces the deprecated |
Both |
|
The horizontal offset in pixels for a particular screen mode. Moves the screen's contents to the left. By default this is zero. n is an integer greater than zero that identifies the screen mode. value is the offset in pixels (greater than zero). In ScreenPlay, this parameter may be ignored (or used as a minimum margin hint) by the render stage chain, in order to position the screen mode more appropriately. However, it may be important to specify the offset for screen modes hosting legacy applications because it is also used for the DSA buffer for backwards compatibility reasons. See Dynamic Resolution Switching for more information. |
Both |
|
The vertical offset in pixels for a particular screen mode. Moves the screen's contents upwards. By default this is zero. n is an integer greater than zero that identifies the screen mode. value is the offset in pixels (greater than zero). In ScreenPlay, this parameter may be ignored (or used as a minimum margin hint) by the render stage chain, in order to position the screen mode more appropriately. However, it may be important to specify the offset for screen modes hosting legacy applications because it is also used for the DSA buffer for backwards compatibility reasons. See Dynamic Resolution Switching for more information. |
Both |
|
The horizontal screen scaling factor for a particular screen mode. n is the screen mode and factor is the scaling factor (a positive integer). 1 (the default) means no scaling. For example, specifying the following means that in the first screen mode, everything is drawn four times larger: SCR_XSCALE1 2 SCR_YSCALE1 2 In other words, drawing to logical pixel (0,0) causes physical pixels (0,0), (0,1), (1,0) and (1,1) to change. Note
that on the emulator, screen scaling only works if the display mode is If
an offset is specified (using SCR_LEFT1 5 SCR_XSCALE1 2 This means that the mapping between logical and physical pixels for the first screen mode is as follows: In this example, there are 51 addressable logical pixels. See
also This parameter is not used in ScreenPlay, because the UI pixel buffers (in the full UI area) are not scaled relative to the application's view. Instead the full UI area is mapped to the full composition/display area, if necessary using a virtual resolution. This provides a better facility and is completely under the control of the render stage chain rather than Window Server. See Dynamic Resolution Switching for more information. |
Non-ScreenPlay |
|
The vertical screen scaling factor for a particular screen mode.
See |
Non-ScreenPlay |
|
Specifies a list of screen rotations for a particular screen mode. The n value is a positive integer which corresponds to a particular screen mode. The rotations value is a comma separated list that specifies, in degrees, the rotation values available for the given screen mode. For example: SCR_ROTATION2 90,270 Note: While rotation is supported on the Symbian platform, it requires support in the UI to render screen furniture correctly. For example, Techview shows proof-of-concept rotation to profile screens. However, it is designed with a landscape orientation, which means that in other orientations it does not render the toolbar, and some menus are truncated. |
Both |
|
The screen width in pixels for a particular screen mode. The screen mode is set by n and width is the width in pixels. For example, the following sets a width of 240 pixels for screen mode 2: SCR_WIDTH2 240 In the non-ScreenPlay variant, this value should be the same as, or smaller than, the actual screen size as defined by the screen driver, after taking into account the rotation, the top-left offset and any scaling. In ScreenPlay,
to define a dynamic screen mode, set this and |
Both |
|
The screen height in pixels for a particular screen mode. The screen mode is set by n and height is the height in pixels. In the non-ScreenPlay variant, this value should be the same as or smaller than the actual screen size as defined by the screen driver, after taking into account the rotation, the top-left offset and any scaling. In ScreenPlay,
to define a dynamic screen mode, set this and |
Both |
|
The screen width in twips for a particular screen mode. The screen mode is set by n and width is the width in twips. For
dynamic screen modes in ScreenPlay, do not specify the size in twips if you
want the current resolution's size in twips to be used. If you do specify
the size in twips for a dynamic screen mode, it overrides the current resolution
setting when you call |
Both |
|
The screen height in twips for a particular screen mode. The screen mode is set by n and height is the height in twips. For
dynamic screen modes in ScreenPlay, do not specify the size in twips if you
want the current resolution's size in twips to be used. If you do specify
the size in twips for a dynamic screen mode, it overrides the current resolution
setting when you call |
Both |
|
The screen mode enforcement for a particular screen mode. This is
read when the system starts up. The screen mode is set by n and value is
an integer corresponding one of the screen mode enforcement flags defined
in TScreenModeEnforcement. If it is not set, a value of 0 ( See also: |
Both |
These parameters relate to Window Server plug-ins. For
each plug-in, create a separate section in the wsini.ini
file.
Specify the plug-in name in square brackets (for example, [MYPLUGIN]
)
to indicate the start of the section. The plug-ins must also be specified
in the first or [DEFAULT]
section by using the PLUGINS
parameter.
The plug-in specific parameters are the same in both ScreenPlay and non-ScreenPlay variants.
Parameter | Description |
---|---|
|
Specifies the name of the plug-in and indicates the start of a section that relates to that plug-in. |
|
The UID of the plug-in DLL. The Window Server plug-in framework
uses this to search for the DLL to load. For example, if the |
|
Can be used to pass arbitrary data to the plug-in. |
|
The type of the plug-in. For example, |
The following table lists wsini.ini
file
parameters that were used in earlier versions of Symbian but which are now
obsolete, deprecated or should not be used. Documentation for these parameters
can be found in earlier versions of the Symbian Developer Library.
Parameter | Status |
---|---|
|
Obsolete |
|
Obsolete |
|
Obsolete |
|
Planned for deprecation in S^4. Do not change the default value (1). |
|
Obsolete |
|
Deprecated |
|
Obsolete |
|
Deprecated |
This
is an example of a wsini.ini
file that configures an
emulator with two screens for the non-ScreenPlay variant. The comments refer
to the notes below.
LOG FL // 1 LOGP \DATA\WSERV.LOG LOGENABLE 9 REBOOT 1 STARTUP WSHELL KEYCLICKPLUGIN CLICK PLUGINS TESTRENDERSTAGE FLICKERBUFFER DISPLAY [SCREEN0] // 2 AUTOCLEAR 1 SCR_WIDTH1 0 SCR_HEIGHT1 0 SCR_ROTATION1 0,180 SCR_WIDTH2 240 SCR_HEIGHT2 80 SCR_ROTATION2 90 RENDERSTAGES TESTRENDERSTAGE FLICKERBUFFER DISPLAY [SCREEN1] // 3 AUTOCLEAR 0 SCR_WIDTH1 800 SCR_HEIGHT1 600 SCR_ROTATION1 180 SCR_WIDTH2 240 SCR_HEIGHT2 160 SCR_ROTATION2 270 [TESTRENDERSTAGE] // 4 TYPE CTestRenderStage
Notes: