# Events

`window.on(event, callback)`

The `window.on()` function allows you to listen for custom events in your application. It takes two parameters: the name of the event you want to listen for and a callback function that will be executed when the event is fired.

**Example:**

```javascript
window.on("event", () -> (
   log "my event fired"
))

window.emit("event")
// This will trigger the above callback
```

**Useful for Custom Events**

This function is particularly useful for handling custom events that you define in your application.

**Event List:**

* **paste**: Fires when any data is pasted.
* **copy**: Fires when any data is copied to the clipboard.
* **system\_focus\_changed**: Fires whenever the system's tab changes focus.
* **frame\_end**: Useful for adding scripts to run after the main code of your app has executed every frame.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://osl.mistium.com/environment/events.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
