LogoGwool Litestep Mirror
  1. A taskbar module

Contents


nTask

<wiki:toc max_depth="2" />

Introduction

nTask is a module for LiteStep. nTask is used to display a list of the currently running programs/tasks.

Loading

To load the module you need to add a `LoadModule` line pointing to this modules file to your step.rc or theme.rc: LoadModule "$ModulesDir$nTask-0.5.dll" Or, if you are using NetLoadModule:

  • NetLoadModule nTask-0.5

Make sure to load it _after_ nCore since it needs the library functions nCore provides.

Creation

To start you need to create a new nTask "group". You do this by naming it in your step.rc, theme.rc or any other .rc file that is loaded into your LiteStep configuration:

  • nTaskbar TheNAME

You can create as many nTask "groups" as you like. Adding another line like this:

  • nTaskbar AnotherName

will add another one.

Configuration

All settings in your configuration files start with the "Name" you gave your nTask group. For example this would set the Width of the nTask group on your desktop for the first example we created above:

TheNAMEWidth 200

To set the Width for the second example group we would add this line:

AnotherNameWidth 200

As you can see the options always consists of the name and the setting we want to configure. This documentation will use *(name)* as a general placeholder after this.

Background Configuration

The taskbar background is a window, with a single state; whose prefix is the name of the taskbar.

The following defaults are overridden.

|| Setting || nTask specific default || || (name)Width || $ResolutionX$ || || (name)Height || 36 || || (name)Color || DWMColor ||

`Monitor`

The monitor nTasks will show the Tasks from. Windows on other desktops will be ignored.

Type: Monitor
Default Value: *All*

`NoThumbnails`

Setting this to false will turn of thumbnail previews.

Type: boolean
Default Value: *false*

Button Configuration

All button settings are prefixed with (name)Button.

Button States

Taskbar buttons are windows with the following states, in increasing order of default precedence. || *Prefix* || Description || Default Priority || Fallback State || || (name)Button || Default State || 0 || || || (name)!ButtonMinimized || Active when the button is minimized. || 25 || (name)Button || || (name)!ButtonFlashing || Active when the button is flashing. || 50 || (name)Button || || (name)!ButtonMinimizedFlashing || Active when the button is flashing and minimized. || 75 || (name)!ButtonFlashing || || (name)!ButtonActive || Active when the button is active -- that is, the task which
the button represents is the foreground window. || 100 || (name)Button || || (name)!ButtonHover || Active when the mouse hovers over the button. || 125 || (name)Button || || (name)!ButtonMinimizedHover || Active when the mouse hovers over the button, and the
button is minimized. || 150 || (name)!ButtonHover || || (name)!ButtonActiveHover || Active when the mouse hovers over the button, and the
button is active. || 175 || (name)!ButtonActive || || (name)!ButtonFlashingHover || Active when the mouse is hovering over the button, and it's
flashing. || 200 || (name)!ButtonFlashing || || (name)!ButtonMinimizedFlashingHover || Active when the mouse is hovering over the button, and it's
flashing and minimized. || 225 || (name)!ButtonFlashingHover ||

All button states have the following settings overridden || Setting || Custom Default Value || || (stateName)Color || Transparent || || (stateName)TextOffsetLeft || 36 || || (stateName)TextVerticalAlign || Middle ||

`IconX`

The X position of the task icon, within the button.

Default Value: *2*

`IconY`

The Y position of the task icon, within the button.

Default Value: *2*

`IconSize`

The size of the task icon.

Default Value: *32*

`IconOverlaySize`

The size of the overlay icon, if the application sets one.

Default Value: *16*

`IconOverlayOffsetX`

The X offset of the overlay icon from its default position (bottom right corner of the application icon).

Default Value: *1*

`IconOverlayOffsetY`

The Y offset of the overlay icon from its default position (bottom right corner of the application icon).

Default Value: *1*

`UseFlashing`

True to enable flashing, false to disable it.

Type: Boolean
Default Value: *true*

`FlashInterval`

How often, in milliseconds, a flashing button will toggle between the flashing state and its regular state.

Type: Integer
Default Value: *500*

`NoIcons`

Settings this to true will disable rendering of task icons.

Type: Boolean
Default Value: *false*

Button Layout

nTask supports all the layout settings, with the prefix (name). In addition, it has the following options:

`ButtonWidth`

Only used if the PrimaryDirection setting is set to vertical. The width of the button.

Default Value: *150*

`ButtonHeight`

Only used if the PrimaryDirectionsetting is set to horizontal. The height of the button.

Default Value: *36*

`ButtonMaxWidth`

Only used if the PrimaryDirectionsetting is set to horizontal. The maximum width of the button.

Default Value: *ButtonWidth*

`ButtonMaxHeight`

Only used if the PrimaryDirectionsetting is set to vertical. The maximum height of the button.

Default Value: *ButtonHeight*

Thumbnail Configuration

The thumbnail is a Window, with prefix (name)Thumbnail. All of its settings are prefixed with (name)Thumbnail.

`DistanceFromButton`

Distance between the thumbnail and the button it corresponds to.

Default Value: *2*

`MaxHeight`

The maximum height of the thumbnail window.

Default Value: *300*

`MaxWidth`

The maximum width of the thumbnail window.

Default Value: *300*

`Offset`

The offset of the thumbnail.

Type: Rectangle
Default Value: *5 5 5 5*

Sample

  • nTaskbar nTasks

nTasksThumbnailOffset {

Left 20
Right 20
Top 20
Bottom 20

}

`Position`

Where to place the thumbnail window. Top, Left, Right, or Bottom.

Default Value: *Top*

`SizeToButton`

Setting this to true will automatically size the thumbnail to the size of the taskbar button it represents.

Default Value: *true*

`ThumnailOpacity`

The opacity of the actual thumbnail, in the range [0, 255].

Default Value: 255.

Test Window

In order to encourage customization of taskbar progress bars, overlay icons, and etc; nTask allows you create a taskbar test window, by executing `!nTaskTestWindow`.

You can also bring up the test window without loading nTask, or even running LiteStep, by executing `"rundll32 <path to nTask.dll>,CreateTestWindow"` from the folder that contains lsapi.dll.

Normally, this would look something like this: rundll32 modules\nTask-0.6.dll,CreateTestWindow This feature allows you to compare nTasks behavior to other shells and other taskbar modules.