Skip to content
Ronald Record edited this page Feb 25, 2024 · 11 revisions

Welcome to the kitty-control wiki!

Overview

The Kitty terminal emulator has a very powerful system that allows remote control from the shell prompt, even over SSH. You can change colors, fonts, open new windows, tabs, set their titles, change window layout, get text from one window and send text to another, and much more.

In addition, kitty is highly configurable and can be controlled from scripts.

Kitty users frequently adjust many of these customizable settings to better suit the environment in which kitty runs. For example, it is often necessary to adjust the font size or opacity, use alternate configations, toggle fullscreen display, set tab titles, change foreground and background color, adjust background transparency or set a background image. Many kitty configuration settings can be modified with defined keymaps and set on the fly with a couple of keystrokes. Others require a little more effort, knowledge, and memory (human memory).

Scripting some kitty customization enables support for automation and provides an additional layer of convenience. In particular, scripted kitty actions enables quick and easy switching between preconfigured kitty configuration files without losing state or having to quit kitty and restart with another configuration. This is accomplished through the use of the read_config.py custom kitten included with kitty-control.

Thus we have kitty-control, a bash script that intends to simplify and ease those kitty customizations used fairly frequently.

Install

With curl

curl -sL https://raw.githubusercontent.com/doctorfree/kitty-control/main/install | sh /dev/stdin

With a clone

git clone https://github.com/doctorfree/kitty-control
cd kitty-control
./install
# Add ~/.local/bin to the execution PATH environment variable
# echo "export PATH="$HOME/.local/bin:$PATH" >> $HOME/.bashrc
# source $HOME/.bashrc

From a release download

For example, to install kitty-control version 1.0.2 release 3:

wget -q -O /tmp/ins$$ https://github.com/doctorfree/kitty-control/releases/download/v1.0.2r3/install
chmod 755 /tmp/ins$$
/tmp/ins$$
rm -f /tmp/ins$$

Tools

The kitty-control menu system uses ranger and figlet if installed.

Neither the Ranger file manager nor the FIGlet font text display programs are required by kitty-control. However, some additional features are enabled if they are present.

Both figlet and ranger can be installed with the command:

kitty-control tools

The installation of ranger and figlet require administrative privilege.

Aliases

For convenience, alias kitty-control to kc by adding alias kc='kitty-control' to your shell initialization (e.g. ~/.aliases).

After installing and aliasing as described above, kc dark sets the opacity to 1.0, kc font +4 increases the font pointsize by 4, kc tran 0.8 sets a transparent background with opacity 0.8.

Additional aliases can be used to provide further convenience. For example, alias big='kitty-control font 32' and alias normal='kitty-control font 22' enables quick and easy switching between font pointsizes 32 and 22 with the commands big and normal. You can go nuts with this:

alias kitv='kitty-control -i ~/Pictures/Space.png load tv title "SONY Bravia"'

You may wish to set an alias to restore the default Kitty configuration:

alias kdef='kitty-control load default'

Sit back in your recliner with your Framework laptop, wireless mouse and keyboard, connected 4K Ultra HD TV, a refreshing beverage, and kitty-control at your fingertips.

Screenshots

The main kitty-control interactive menu provides dynamically generated menu entries. For example, if either kitty or kitty-control have an available upgrade then menu entries to upgrade will be added.

The kitty-control main menu:

Main Menu

The kitty configuration selection sub-menu:

Window Info

The kitty window info selection sub-menu:

Window Info

The kitty documentation selection menu:

Documentation Selection

Clone this wiki locally