Forcing kitty graphics support on or off
IPython decides whether the terminal understands the kitty graphics protocol by walking up the
process tree looking for a known terminal emulator. That guess can be wrong –
for instance inside tmux, a container, or an emulator not on the list – and
it is not free: it imports psutil and inspects the process tree on every
startup that has a tty.
The IPYTHON_KITTY_GRAPHICS environment variable now states the answer
outright and skips the detection entirely:
IPYTHON_KITTY_GRAPHICS=1 ipython # my terminal does support it
IPYTHON_KITTY_GRAPHICS=0 ipython # it does not; do not even look
Accepted values are 1/true and 0/false, case-insensitive.
Leaving it unset, or setting it to the empty string, keeps the existing
autodetection. Any other value is ignored with a warning, so a typo cannot
silently turn graphics off.