Skip to content

Events

events

Compose

Bases: Event

Sent to a widget to request it to compose and mount children.

Event

Bases: Message

The base class for all events.

Hide

Bases: Event

Sent when a widget has been hidden.

A widget may be hidden by setting its visible flag to False, if it is no longer in a layout, or if it has been offset beyond the edges of the terminal.

Idle

Bases: Event

Sent when there are no more items in the message queue.

This is a pseudo-event in that it is created by the Textual system and doesn't go through the usual message queue.

InputEvent

Bases: Event

Base class for input events.

InvokeCallbacks

Bases: Event

Sent after the Screen is updated

Key

Bases: InputEvent

Sent when the user hits a key on the keyboard.

Parameters:

Name Type Description Default
key str

The key that was pressed.

required
character str | None

A printable character or None if it is not printable.

required

Attributes:

Name Type Description
aliases list[str]

The aliases for the key, including the key itself.

is_printable: bool property

Check if the key is printable (produces a unicode character).

Returns:

Type Description
bool

True if the key is printable.

name: str property

Name of a key suitable for use as a Python identifier.

name_aliases: list[str] property

The corresponding name for every alias in aliases list.

Load

Bases: Event

Sent when the App is running but before the terminal is in application mode.

Use this event to run any set up that doesn't require any visuals such as loading configuration and binding keys.

Mount

Bases: Event

Sent when a widget is mounted and may receive messages.

MouseCapture

Bases: Event

Sent when the mouse has been captured.

When a mouse has been captured, all further mouse events will be sent to the capturing widget.

Parameters:

Name Type Description Default
mouse_position Offset

The position of the mouse when captured.

required

MouseEvent

Bases: InputEvent

Sent in response to a mouse event.

Parameters:

Name Type Description Default
x int

The relative x coordinate.

required
y int

The relative y coordinate.

required
delta_x int

Change in x since the last message.

required
delta_y int

Change in y since the last message.

required
button int

Indexed of the pressed button.

required
shift bool

True if the shift key is pressed.

required
meta bool

True if the meta key is pressed.

required
ctrl bool

True if the ctrl key is pressed.

required
screen_x int | None

The absolute x coordinate.

None
screen_y int | None

The absolute y coordinate.

None
style Style | None

The Rich Style under the mouse cursor.

None

delta: Offset property

Mouse coordinate delta (change since last event).

Returns:

Type Description
Offset

Mouse coordinate.

offset: Offset property

The mouse coordinate as an offset.

Returns:

Type Description
Offset

Mouse coordinate.

screen_offset: Offset property

Mouse coordinate relative to the screen.

Returns:

Type Description
Offset

Mouse coordinate.

style: Style writable property

The (Rich) Style under the cursor.

get_content_offset(widget)

Get offset within a widget's content area, or None if offset is not in content (i.e. padding or border).

Parameters:

Name Type Description Default
widget Widget

Widget receiving the event.

required

Returns:

Type Description
Offset | None

An offset where the origin is at the top left of the content area.

MouseMove

Bases: MouseEvent

Sent when the mouse cursor moves.

MouseRelease

Bases: Event

Mouse has been released.

Parameters:

Name Type Description Default
mouse_position Offset

The position of the mouse when released.

required

Paste

Bases: Event

Event containing text that was pasted into the Textual application. This event will only appear when running in a terminal emulator that supports bracketed paste mode. Textual will enable bracketed pastes when an app starts, and disable it when the app shuts down.

Parameters:

Name Type Description Default
text str

The text that has been pasted.

required

Ready

Bases: Event

Sent to the app when the DOM is ready.

Resize

Bases: Event

Sent when the app or widget has been resized.

Parameters:

Name Type Description Default
size Size

The new size of the Widget.

required
virtual_size Size

The virtual size (scrollable size) of the Widget.

required
container_size Size | None

The size of the Widget's container widget. Defaults to None.

None

Show

Bases: Event

Sent when a widget has become visible.

Unmount

Bases: Mount

Sent when a widget is unmounted and may not longer receive messages.