26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
from collections.abc import Sequence
|
|
from typing import Optional, Union
|
|
|
|
from ..context import context
|
|
from ..events import GenericEventArguments, Handler
|
|
|
|
|
|
def on(type: str, # pylint: disable=redefined-builtin
|
|
handler: Optional[Handler[GenericEventArguments]] = None,
|
|
args: Union[None, Sequence[str], Sequence[Optional[Sequence[str]]]] = None, *,
|
|
throttle: float = 0.0,
|
|
leading_events: bool = True,
|
|
trailing_events: bool = True,
|
|
):
|
|
"""Subscribe to a global event.
|
|
|
|
:param type: name of the event
|
|
:param handler: callback that is called upon occurrence of the event
|
|
:param args: arguments included in the event message sent to the event handler (default: `None` meaning all)
|
|
:param throttle: minimum time (in seconds) between event occurrences (default: 0.0)
|
|
:param leading_events: whether to trigger the event handler immediately upon the first event occurrence (default: `True`)
|
|
:param trailing_events: whether to trigger the event handler after the last event occurrence (default: `True`)
|
|
"""
|
|
context.client.layout.on(type, handler, args,
|
|
throttle=throttle, leading_events=leading_events, trailing_events=trailing_events)
|