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

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 browserAlt+c1ick
(or maybeOption
) 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!