---
name: "Tickit::App::Plugin::EscapePrefix"
section: "3pm"
platform: "linux"
package: "libtickit-app-plugin-escapeprefix-perl"
version: "0.02-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Tickit::App::Plugin::EscapePrefix"
---

# Tickit::App::Plugin::EscapePrefix(3pm)

"Tickit" application plugin for Escape-prefixed shortcut keys

## NAME

"Tickit::App::Plugin::EscapePrefix" - "Tickit" application plugin for Escape-prefixed shortcut keys

## SYNOPSIS

```
   use Tickit;
   use Tickit::App::Plugin::EscapePrefix;
   my $tickit = Tickit->new;
   Tickit::App::Plugin::EscapePrefix->apply( $tickit );
   ...
   $tickit->run;
```

## DESCRIPTION

This package applies code to a Tickit instance to let it handle `"<Escape >"`-prefixed shortcut keys, by converting them into the equivalent `"<M-...>"` modified keys instead.

Once applied using the "apply" method, the plugin will consume any plain `"<Escape>"` keys typed at the terminal. If another key arrives soon afterwards, this key will be consumed and instead a new keypress event emitted that adds the "meta" modifier to it. For example, typing `"<Escape> <a>"` will instead emit the modified key `"<M-a>"` to the application. If no subsequent key arrives after a timeout of 3 seconds then the modification will not apply.

While the plugin is still pending anothey keypress to modify, a small indicator window will appear in the bottom left of the display, showing `"ESC-"` in a reverse-video style, to remind the user the keypress is pending.

## METHODS

### apply

```
   Tickit::App::Plugin::EscapePrefix->apply( $tickit )
```

Applies the plugin code to the given toplevel Tickit instance.

## TODO

Much configuration - timeout; style, text and position of indicator window

## AUTHOR

Paul Evans \<leonerd@leonerd.org.uk\>
