Skip to Content
Navigation:

A stick figure smiling

If you want to see more comics like this, sign up for my saturday comics newsletter or browse more comics!

Image of a comic. To read the full HTML alt text, click "read the transcript".
read the transcript!

when you click in the terminal, it can either be handled by

your terminal emulator
(represented by a box with a winky cursor face and little arms and legs)
(good if you want to copy text)

or

the program
(represented by a box with a smiley face)
(lots of programs have mouse support!)

programs can tell the terminal emulator to let them handle the mouse

program: if there’s a mouse click, send me escape codes to tell me where it was!

terminal emulator: okay! I’ll disable all my usual mouse functions like “selecting text”!

this is called “mouse reporting”

some programs that have mouse support

  • tmux: resize a pane! right-click for a menu!
  • htop: click to sort columns!
  • micro: text editor with good mouse support
  • vim: click on the tab bar!
  • and lots more! (lazygit, mc, zellij, btop…)

how to force the terminal emulator to handle the mouse:

unhappy stick figure with short curly hair, thinking: ugh no I don’t want to focus that pane, I want to COPY SOME TEXT!!!

  • could be something else too, it depends on your terminal emulator

the scroll wheel

In some programs (like less) the scroll wheel does the same thing as pressing up/down arrow keys really fast

terminal emulator: UP UP UP UP UP UP UP UP UP UP UP UP

in other programs (like lazygit) it uses “mouse reporting” to report where your mouse was when you scrolled

other mouse features your terminal emulator might have

  • Shift+click (or something) to open a link in a browser
  • Alt+c1ick (or maybe Option) to move the cursor when editing a command in your shell

Saturday Morning Comics!

Want another comic like this in your email every Saturday? Sign up here!

I'll send you one of my favourite comics from my archives every Saturday.
© Julia Evans 2025 | All rights reserved (see the FAQ for notes about licensing)