Skip to content

Busy

This capability documents one focused aspect of the widget interface (Tk/Tcl-style behavior + bootstack extensions).

Note: You typically won’t use bootstack.core.capabilities.busy directly. This page describes the behavior that widgets expose.

Busy (input-blocking) helpers (busy).

Tk’s busy facility blocks pointer events from reaching a widget/window by placing an input-only window above it. This is typically used to prevent user interaction during a long-running operation (e.g., loading, saving).

Notes
  • Busy blocks pointer events; it does not guarantee keyboard events are blocked.
  • Always release busy state in a finally: block (or use a context manager).

busy_hold

busy_hold(**kw: Any) -> None

Activate busy mode for this widget/window.

While busy is active, pointer events are intercepted so the user cannot interact with the target window (and typically its children).

Parameters:

Name Type Description Default
**kw Any

Busy options forwarded to Tk. Common options include cursor.

{}

busy_forget

busy_forget() -> None

Deactivate busy mode for this widget/window.

busy_status

busy_status() -> bool

Return True if this widget/window is currently in busy mode.

busy_configure

busy_configure(**kw: Any) -> Any

Query or configure busy options for this widget/window.

With no options, returns configuration information (format depends on Tk). With options provided, updates the busy configuration.

Parameters:

Name Type Description Default
**kw Any

Busy options forwarded to Tk.

{}

Returns:

Type Description
Any

The raw Tk result for the configure query/set.

busy_cget

busy_cget(option: str) -> Any

Return the current value of a single busy option.

Parameters:

Name Type Description Default
option str

Option name (e.g. "-cursor" or "cursor").

required

Returns:

Type Description
Any

The option value.