---
name: "HandleEvent"
section: "3"
platform: "macos"
package: "tcl"
version: "152"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/HandleEvent"
---

# HandleEvent(3)

invoke event handlers for window system events

## NAME

Tk\_HandleEvent - invoke event handlers for window system events

## SYNOPSIS

```
#include <tk.h>

Tk_HandleEvent(eventPtr)
```

## ARGUMENTS

Pointer to X event to dispatch to relevant handler(s). It is important that all unused fields of the structure be set to zero.

## DESCRIPTION

**Tk\_HandleEvent** is a lower-level procedure that deals with window events.  It is called by **Tcl\_ServiceEvent** (and indirectly by **Tcl\_DoOneEvent**), and in a few other cases within Tk. It makes callbacks to any window event handlers (created by calls to **Tk\_CreateEventHandler**) that match *eventPtr* and then returns.  In some cases it may be useful for an application to bypass the Tk event queue and call **Tk\_HandleEvent** directly instead of calling **Tcl\_QueueEvent** followed by **Tcl\_ServiceEvent**.

This procedure may be invoked recursively.  For example, it is possible to invoke **Tk\_HandleEvent** recursively from a handler called by **Tk\_HandleEvent**.  This sort of operation is useful in some modal situations, such as when a notifier has been popped up and an application wishes to wait for the user to click a button in the notifier before doing anything else.

## KEYWORDS

callback, event, handler, window
