# Integrations with other tools

kitty provides extremely powerful interfaces such as Control kitty from scripts and Custom kittens and icat that allow it to be integrated with other tools seamlessly.

## Image and document viewers

Powered by kitty's Terminal graphics protocol there exist many tools for viewing images and other types of documents directly in your terminal, even over SSH.

### termpdf.py

A terminal PDF/DJVU/CBR viewer

### mdcat

Display markdown files nicely formatted with images in the terminal

### ranger

A terminal file manager, with previews of file contents powered by kitty's graphics protocol.

### nnn

Another terminal file manager, with previews of file contents powered by kitty's graphics protocol.

### hunter

Another terminal file manager, with previews of file contents powered by kitty's graphics protocol.

### koneko

Browse images from the pixiv artist community directly in kitty.

### viu

View images in the terminal, similar to kitty's icat.

### nb

command line and local web note-taking, bookmarking, archiving, and knowledge base application that uses kitty's graphics protocol for images.

### w3m

A text mode WWW browser that supports kitty's graphics protocol to display images.

### timg

A terminal image and video viewer, that displays static and animated images or plays videos. Fast multi-threaded loading, JPEG exif rotation, grid view and connecting to the webcam make it a versatile terminal utility.

## System and data visualisation tools

### neofetch

A command line system information tool that shows images using kitty's graphics protocol

### matplotlib

Show matplotlib plots directly in kitty

### KittyTerminalImages.jl

Show images from Julia directly in kitty

### euporie

A text-based user interface for running and editing Jupyter notebooks, powered by kitty's graphics protocol for displaying plots

### gnuplot

A graphing and data visualization tool that can be made to display its output in kitty with the following bash snippet:

    function iplot {
        cat <<EOF | gnuplot
        set terminal pngcairo enhanced font 'Fira Sans,10'
        set autoscale
        set samples 1000
        set output '|kitty +kitten icat --stdin yes'
        set object 1 rectangle from screen 0,0 to screen 1,1 fillcolor rgb"#fdf6e3" behind
        plot $@
        set output '/dev/null'
        EOF
    }

Add this to bashrc and then to plot a function, simply do:

    iplot 'sin(x*3)*exp(x*.2)'

### onefetch

A tool to fetch information about your git repositories

### patat

Terminal based presentations using pandoc and kitty's image protocol for images

### wttr.in

A tool to display weather information in your terminal with curl

### wl-clipboard-manager

View and manage the system clipboard under Wayland in your kitty terminal

### dmenu-term

Run applications on your system with fuzzy find inside a kitty window

## Editor integration

kitty can be integrated into many different terminal editors to add features such a split windows, previews, REPLs etc.

### kakoune

integrates with kitty to use native kitty windows for its windows/panels and REPLs.

### vim-slime

uses kitty remote control for a Lisp REPL.

### vim-kitty-navigator

allows you to navigate seamlessly between vim and kitty splits using a consistent set of hotkeys.

### vim-test

Allows easily running tests in a terminal window

### hologram.nvim

Terminal image viewer for nvim

## Scrollback manipulation

### kitty-search

Live incremental search of the scrollback buffer.

### kitty-grab

Keyboard based text selection for the kitty scrollback buffer.

## Miscellaneous

### kitty-smart-tab

use keys to either control tabs or pass them onto running applications if no tabs are present

### kitty-smart-scroll

use keys to either scroll or pass them onto running applications if no scrollback buffer is present

### kitti3

allow using kitty as a drop-down terminal under the i3 window manager

### weechat-hints

URL hints kitten for WeeChat that works without having to use WeeChat's raw-mode.

### glkitty

C library to draw OpenGL shaders in the terminal with a glgears demo