Skip to content
Sanchez edited this page Jan 18, 2023 · 2 revisions

Essentially, everything drawn by the nModules is a "Window", and these windows all share these common settings; though some parents explicitly lock some of these values for their children.

States

Every window has a "base" state with the same name as the window. Depending on what type of window it is, it may have additional states, identified by state name prefixed with the window name.
I.e. nLabel window "MyLabel" will have window named "MyLabel" with base state "MyLabel" and may have a number of additional states such as "MyLabelPressed" or "MyLabelHover".

Behavior

AlwaysOnTop

True if the window should always be on top of other windows. Only valid for top-level windows.

Type: Boolean
Default Value: False

ClickThrough

True if mouse clicks should pass through this window and be handled by the parent instead. Currently only valid for child windows.

Type: Boolean
Default Value: False

Hidden

If true, this window will start hidden.

Type: Boolean
Default Value: False

Parent

You can set this to the name of another window, in order to make this a child of that window. You can use the special keyword nDesk, to make the window a child of the DesktopBackgroundClass. (Which essentially means, the window will become pinned to desktop.)

Note that the keywords Monitor# (where # is any number) and VirtualDesktop have specific meaning, and should not be used as names.

Note: The VirtualDesktop and Monitor# values are planned settings, which are not implemented yet.

Type: Window
Default Value: VirtualDesktop

ShowOnTaskbar

Set this to true to show this window on the taskbar.

Note: Planned Setting. Not implemented yet.

Type: Boolean
Default Value: false

WindowTitle

The title to use for this window. This is the title that appears in the taskbar, in the alt-tab dialog, and in the task manager.

Note: Planned Setting. Not implemented yet.

Type: Text
Default Value: WindowName

Text

The text that should be display in the window.

Type: Text
Default Value: ""

TextAntiAliasMode

How to anti-alias the text. ClearType|GrayScale|Aliased.

Type: Enum
Default Value: ClearType

Positioning

AnchorTop, AnchorBottom, AnchorLeft, AnchorRight

If true, the distance between this window's specified edge and the respective parent window's edge is maintained when, the parent is sized. If both opposite sides of the window are anchored, the window will be resized to satisfy condition.

Note: Planned Setting. Not implemented yet.

Type: Boolean
Default Value: false

CoordinateOrigin

Modifies the meaning of the X and Y coordinates for this window.

Value X Y
TopLeft Distance from the parents left edge to this windows left edge. Distance from the parents top edge to this windows top edge.
TopRight Distance from the parents right edge to this windows right edge. Distance from the parents top edge to this windows top edge.
BottomLeft Distance from the parents left edge to this windows left edge. Distance from the parents bottom edge to this windows bottom edge.
BottomRight Distance from the parents right edge to this windows right edge. Distance from the parents bottom edge to this windows bottom edge.

Note: Planned Setting. Not implemented yet.

Type: Enum
Default Value: TopLeft

X, Y

The coordinates of this window. For a child window, this is relative to the window's parent.

Type: Integer
Default Value: 0

Width, Height

The window dimensions.

Type: Integer
Default Value: 100

Events

Documentation coming soonish...

On

Followed by one of event type: LeftClickDown, LeftClickUp, LeftDoubleClick, RightClickDown, RightClickUp, RightDoubleClick, MiddleClickDown, MiddleClickUp, MiddleDoubleClick (maybe there are more) and action to do.

Syntax: *prefixOn event none action
Example: *ClockOn LeftDoubleClick none !execute ["timedate.cpl"]

Bangs

These bangs can be used with any window that has a name.

!nHide

!nHide windowPrefix

Hides the window.

Parameter Type Description
windowPrefix Window The name of the window to hide.

!nShow

!nShow windowPrefix

Shows the window.

Parameter Type Description
windowPrefix Window The name of the window to show.

!nMove

!nMove windowPrefix x y [duration] [easing]

Moves the window to (x, y) in duration milliseconds.

Parameter Type Description
windowPrefix Window The name of the window to move.
x Integer The x coordinate to move the window to.
y Integer The y coordinate to move the window to.
duration Integer Optional The number of milliseconds the move should take.
easing Easing Optional. The easing effect to use for the move animation.

!nSize

!nSize windowPrefix width height [duration] [easing]

Sizes the window to (width, height).

Parameter Type Description
windowPrefix Window The name of the window to size.
width Integer The new width of the window.
height Integer The new height of the window.
duration Integer Optional The number of milliseconds the sizing should take.
easing Easing Optional. The easing effect to use for the sizing animation.

!nPosition

!nPosition windowPrefix x y width height [duration] [easing]

Moves and sizes the window.

Parameter Type Description
windowPrefix Window The name of the window to position.
x Integer The x coordinate to move the window to.
y Integer The y coordinate to move the window to.
width Integer The new width of the window.
height Integer The new height of the window.
duration Integer Optional The number of milliseconds the positioning should take.
easing Easing Optional. The easing effect to use for the positioning animation.

!nSetAlwaysOnTop

!nSetAlwaysOnTop windowPrefix alwaysOnTop

Modifies the [Window#AlwaysOnTop AlwaysOnTop] setting.

Parameter Type Description
windowPrefix Window The name of the window to position.
alwaysOnTop Boolean True to enable AlwaysOnTop. False to disable.

!nSetClickThrough

!nSetClickThrough windowPrefix clickThrough

Modifies the ClickThrough setting.

Parameter Type Description
windowPrefix Window The name of the window to position.
clickThrough Boolean True to enable ClickThrough. False to disable.

!nSetParent

!nSetParent windowPrefix newParent

Modifies the Parent setting.

Note: Planned Setting. Not implemented yet.

Parameter Type Description
windowPrefix Window The name of the window to position
newParent Window The name of the new parent window

!nSetText

!nSetAlwaysOnTop windowPrefix newText

Modifies the Text setting.

Parameter Type Description
windowPrefix Window The name of the window to position.
newText Text The new window text.