LogoGwool Litestep Mirror



<wiki:toc max_depth="2" />


nDesk is a desktop module for LiteStep. It creates the desktop background window, renders the wallpaper, and sets the workarea.

Loading The Module

To load nDesk you need to add a `LoadModule` line pointing to nDesk in your configuration, like this: LoadModule "$ModulesDir$nDesk-0.5.dll" Or, if you are using NetLoadModule:

  • NetLoadModule nDesk-0.5

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

Configuring the Workarea

The workarea of a monitor is the area that a maximized window will occupy on that monitor. With nDesk, you configure the workarea by specifying margins from the edges of a the monitor.

`*nDeskWorkArea / !nDeskWorkArea`

Specifies the work area of a particular monitor.

  • nDeskWorkArea monitor left top right bottom

!nDeskWorkArea monitor left top right bottom

|| *Parameter* || *Type* || *Description* || || monitor || Monitor || The monitor this workarea should be applied to, or _All_ in order to apply the workarea to every monitor. || || left || [Integer] || The left margin of the workarea. || || top || [Integer] || The top margin of the workarea. || || right || [Integer] || The right margin of the workarea. || || bottom || [Integer] || The bottom margin of the workarea. ||

By default, each monitor is completely covered by its workarea.

Leave a 30 pixel gap at the bottom of the primary monitor, for a taskbar or other widget
  • nDeskWorkArea primary 0 0 0 30
Left a 100 pixel gap to the left of the secondary monitor, for some widget
  • nDeskWorkArea secondary 100 0 0 0

Transition Effects

When the wallpaper changes, nDesk will paint a composite of the old wallpaper and the new wallpaper for a period of time.


Specifies how to transition from the old wallpaper to the new wallpaper.

nDeskTransitionEffect effect !nDeskSetTransitionEffect effect

|| *Parameter* || *Type* || *Description* || || Effect || TransitionEffect || The type of transition effect to use. ||


Specifies how long a transition should take.

|| *Parameter* || *Type* || *Description* || || Duration || Time || How long, in milliseconds, the transition should take. ||


Specifies the size of the squares during square-based transitions.

|| *Parameter* || *Type* || *Description* || || SquareSize || [Integer] || The size, in pixels, of squares used during square-style transitions. ||


Forces every window to update while the wallpaper is changing. Fixes problems with certain transparent modules (such as the xModules) which would otherwise continue painting the old wallpaper. May cause a slight performance hit.

|| *Parameter* || *Type* || *Description* || || !InvalidateAllOnUpdate|| Boolean || True/False ||


Specifies a bang command to execute when the resolution of a monitor changes.

|| *Parameter* || *Type* || *Description* || || Command|| Action || The command that will be executed on resolution changes. ||

Click Events

nDesk is able to fire actions on different kinds of input events.


Fires an action when the specified conditions are met.

`*`nDeskOn _Type_ _Mods_ _Left_ _Top_ _Right_ _Bottom_ _Action_

!nDeskOn _Type_ _Mods_ _Left_ _Top_ _Right_ _Bottom_ _Action_

|| *Parameter* || *Type* || *Description* || || Type || MouseEvent || The type of the event. || || Mods || ModifierKeys || The modifier keys that need to be pressed in order for this event to trigger. || || Left
bottom || [Integer] || If all coordinates are given, the event will only trigger when it's contained within the rectangle specified by the coordinates. || || Action || Action || The command to execute when this event occurs. ||

Executes !Popup when right-clicking on the desktop.
  • nDeskOn RightClickUp none !PopUp
Execute !PopupTheme when right-clicking on the desktop while holding ctrl and shift.
  • nDeskOn RightClickUp ctrl+shift !PopupTheme


Removes any events matching the specified conditions.

!nDeskOff _Type_ _Mods_ _Left_ _Top_ _Right_ _Bottom_

|| *Parameter* || *Type* || *Description* || || Type || MouseEvent || The type of of the event to remove. || || Mods || ModifierKeys || The modifier keys of the event to remove. || || Left
bottom || [Integer] || If all coordinates are given, only events contained within the specified rectangle will be removed. ||