# Full-screen apps

> Run Vim, Emacs, and other full-screen apps with configurable mouse reporting and padding.

- 网址：https://funcoding.ai/agents/warp/terminal/more-features/full-screen-apps/
- 来源：Warp 官方文档原文（英文），MIT 许可，同步于 2026-10-11
- 官方原文：https://docs.warp.dev/terminal/more-features/full-screen-apps/

---
## Mouse and scroll reporting

Warp supports configuring how to handle mouse and scroll events. They can be sent to the currently running app, e.g. `vim`, or kept and handled by Warp.

<div class="callout callout-note">

Mouse reporting must be enabled to also toggle scroll reporting.

</div>

Once mouse reporting is enabled, Warp will use ANSI escape sequences to communicate mouse events to the running app.

<div class="callout callout-note">

If you want a mouse event to go to Warp instead (for example, for text selection) without disabling mouse reporting, you can hold the `Shift` key.

</div>

### How to access it

* From **Settings** > **Features** > **Terminal** > **Enable Mouse Reporting**
  * Scroll Reporting can be enabled after toggling **Enable Mouse Reporting**
* From the [Command Palette](https://funcoding.ai/agents/warp/terminal/command-palette/), search for "mouse reporting"
  * The entry is labeled "Enable mouse reporting" or "Disable mouse reporting" depending on the current setting
* From the macOS Menu, **View** > **Toggle Mouse Reporting**

### How it works

## Padding

Warp supports configuring how much padding surrounds full-screen apps. The default is 0 pixel padding, but this can be changed to a custom padding amount or to match the padding in the block list.

<div class="callout callout-note">

Warp allows you to scale your terminal by fractions of a cell width | height. When your terminal size is not perfectly aligned to a cell width | height, the extra space appears as padding on the right | bottom.

</div>

### How to access it

* Go to **Settings** > **Appearance** > **Full-screen Apps** or from the [Command Palette](https://funcoding.ai/agents/warp/terminal/command-palette/) search for "Appearance"
  * **Use custom padding in alt-screen** is enabled by default, you can disable it to match the block list padding
    * Set the desired uniform padding (px) pixels, which is set to 0px by default

<div class="callout callout-warning">

Some full-screen applications don't behave well when resizing. If you are experiencing rendering issues with full screen apps, try turning this setting off. This will ensure that full-screen apps don't need to resize when starting up.

</div>

<figure>
![alt-screen padding setting](https://funcoding.ai/official-assets/warp/src/assets/terminal/padding-settings.webp)
<figcaption>The alt-screen padding setting in appearance preferences.</figcaption>
</figure>

## Kitty keyboard protocol

Warp supports the [Kitty keyboard protocol](https://sw.kovidgoyal.net/kitty/keyboard-protocol/) (CSI u progressive enhancement) so full-screen apps can read keystrokes that legacy terminal escape sequences can't represent — for example, distinguishing `Ctrl+I` from `Tab`, capturing modifier-only key events, or detecting key release events.

When a running app advertises that it supports the protocol, Warp emits the extended escape sequences automatically. No configuration is required.

* **Supported in**: Vim, Neovim, Emacs, tmux, helix, and other modern TUI apps that opt into CSI u.
* **Falls back to legacy encoding** when the running app doesn't request progressive enhancement, so older programs keep working unchanged.

<div class="callout callout-note">

If a TUI app reports unexpected key events after upgrading Warp, confirm the app itself supports the Kitty keyboard protocol. Most apps require an explicit opt-in (for example, `:set keyprotocol` in Neovim).

</div>
