tev

command module
v0.12.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

README

Go Report Card CI Checks

tev

tev is a simple terminal/TUI event dump/decoder - similar to good old xev for X11. It helps debug raw terminal input.

Install

You can get the binary from releases

Or just run

CGO_ENABLED=0 go install fortio.org/tev@latest  # to install (in ~/go/bin typically) or just
CGO_ENABLED=0 go run fortio.org/tev@latest  # to run without install

or even

docker run -ti fortio/tev # but that's obviously slower

or

brew install fortio/tap/tev

Run

tev help
  -code string
         Additional code to send (will be unquoted, eg "\033[..." will send CSI code)
  -echo
         Echo input to stdout instead of logging escaped bytes, also turns off mouse tracking
  -fps float
         Ansi pixels debug/complex mode - fps arg (default is 0, meaning simplest code in ansipixels: blocking mode reads)
  -mouse-clicks
         Enable mouse click events (instead of movement)
  -mouse-pixels
         Enable mouse pixel events (vs grid)
  -mouse-x10
         Enable mouse X10 events mode
  -no-bg-color-query
         Don't query terminal for background color
  -no-mouse
         Disable mouse tracking events (enabled by default)
  -no-paste-mode
         Disable bracketed paste mode
  -no-raw
         Stay in cooked mode, instead of defaulting to raw mode
  -no-shift
         Disable shift modifier reporting in mouse events (enabled by default)
  -quiet
         Quiet mode, sets loglevel to Error (quietly) to reduces the output
  -ticks
         Ansi pixels debug to use the FPSTicks loop instead of ReadOrResizeOrSignal

By default it will put the terminal in raw mode, turn on mouse tracking and show exactly what the terminal emulator is sending and in how many batches (of up to 1024 which is the internal ansipixels buffer size). Various flag allow to change what the terminal does (raw, mouse, bracketed paste, etc..)

Example output

$ tev -no-mouse
20:40:23.063 [INF] Mouse tracking disabled
20:40:23.064 [INF] Bracketed paste mode enabled
20:40:23.064 [INF] Fortio terminal event dump started. ^C 3 times to exit (or pkill tev). Ctrl-L clears the screen.
20:40:23.064 [INF] Tabs: [8 16 24 32 40 48 56 64 72 80 88 96]
20:40:25.239 [INF] Read 1 bytes: "a"
20:40:26.228 [INF] Read 1 bytes: "b"
20:40:26.502 [INF] Read 1 bytes: "c"
20:41:06.309 [INF] Read 6 bytes: "\x1b[200~"
20:41:06.309 [INF] Read 26 bytes: "line 1\nline 2\nline 3\x1b[201~"
20:41:09.359 [INF] Read 1 bytes: "\x03"
20:41:09.359 [INF] Ctrl-C received, 2 more to exit..
20:41:09.899 [INF] Read 1 bytes: "\x03"
20:41:09.899 [INF] Ctrl-C received, 1 more to exit..
20:41:10.428 [INF] Read 1 bytes: "\x03"
20:41:10.428 [INF] 3rd Ctrl-C received, exiting now.```

You can also see the effect of some codes:

$ tev -code '\033]11;?\007'
17:15:06.997 [INF] Sending code flag "\x1b]11;?\a"
17:15:06.998 [INF] Read 24 bytes: "\x1b]11;rgb:1e1e/1e1e/1e1e\a"

Which is now built-in (unless passing -no-bg-color-query):

20:06:38.480 [INF] Querying terminal's background color...
20:06:38.481 [INF] Read 24 bytes: "\x1b]11;rgb:1d1d/1e1e/1d1d\a"
20:06:38.481 [INF] OSC background color decoded: #1D1E1D

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL