Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9
A VTE-based, simple and froggy terminal emulator 🐸
License
orhun/kermit
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
VTE is aGTK widget that is designed to create virtual terminal emulators.GNOME Terminal,ROXTerm andevilvte are a few examples of terminal emulators that use the VTE widget. With the case of kermit, although it is a "yet another" VTE implementation, it aims to keep everything simple and customizable while providing some additional features.
The project is inspired byVincent Bernat'sarticle and also hisimplementation of a custom VTE-based terminal. Terminal features and appearance are mostly influenced byRxvt,termite andst.
Table of Contents
mkdir -p build && cd buildcmake ../ -DCMAKE_INSTALL_PREFIX=/usrmakesudo make installsudo ldconfigmakesudo make installcd src/gcc -s -O3 -Wall -Wno-deprecated-declarations $(pkg-config --cflags vte-2.91) kermit.c -o kermit.o $(pkg-config --libs vte-2.91)*kermit depends onvte3 andgtk3 packages.
- Uses the default shell (
$SHELL) - Supports transparency with a composite manager (such ascompton)
- Supports base16 color schemes (customizable theme)
- Supports custom keys and associated commands
- Supports tabs
kermit [-h] [-v] [-d] [-c config] [-t title] [-w workdir] [-e command][-h] shows help[-v] shows version[-d] enables the debug messages[-c config] specifies the configuration file[-t title] sets the terminal title[-w workdir] sets the working directory[-e command] sets the command to execute in terminal| Key | Action |
|---|---|
ctrl +alt +c | Copy to clipboard |
ctrl +alt +v | Paste from clipboard |
ctrl +alt +t/return | Open a new tab |
ctrl +alt +n | Open a new window |
ctrl +alt +r | Reload configuration file |
ctrl +alt +d | Load default configuration |
ctrl +alt +q | Exit the terminal |
ctrl +alt +k/up | Increase font size |
ctrl +alt +j/down | Decrease font size |
ctrl +alt +equals/plus | Reset font size to default |
ctrl +alt +<num> | Switch to tab with number<num> |
ctrl +alt +l/right/pageup | Switch to next tab |
ctrl +alt +h/left/pagedown | Switch to previous tab |
ctrl +alt +backspace | Close the current tab |
The default modifiers (ctrl +alt) can be set toctrl +shift using the config file.Key bindings can be overridden by custom key bindings.SeeConfiguration / Key Bindings for more information.
Most of the settings including font, opacity and colors can be changed via the config file. The default configuration file is availablehere.
kermit looks for configuration file in~/.config/kermit.conf
The terminal theme can be changed by either editing the config file manually or using thebase16 color schemes inorhun/base16-kermit repository.
kermit uses aPangoFontDescription which is retrieved from thekermit.conf for changing the font family, style and size. The configuration entry format of the font and some examples are shown below and the default value ismonospace 9.
font [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]FAMILY-LIST is a comma-separated list of families optionally terminated by a comma,STYLE_OPTIONS is a whitespace-separated list of words where each WORD describes one of style, variant, weight, or stretch, andSIZE is a decimal number (size in points).
• Available font families:Normal, Sans, Serif and Monospace.• Available styles:Normal, Oblique, Italic.• Available weights:Ultra-Light, Light, Normal, Bold,Ultra-Bold, Heavy.• Available variants:Normal, Small-Caps.• Available stretch styles:Ultra-Condensed, Extra-Condensed, Condensed, Semi-Condensed, Normal, Semi-Expanded, Expanded, Extra-Expanded, Ultra-Expanded.
Examples:
font sans bold 12font normal 10font monospace bold italic condensed 12Custom keys and associated commands can be specified with the configuration file. An example entry is availablehere and entry format is shown below.
bind/bindx/bindi [KEY]~"[COMMAND]"- bind:
Send command to the terminal. - bindx:
Send command to the terminal and execute. - bindi:
Execute internal command
Examples:
bindx f~"df -h"bind r~"rm -i "bind p~"ps aux | grep "bind k~"kill -9 "bindi c~"copy"Currently available internal commands (bindi):
copy: copy to clipboardpaste: paste from clipboardreload-config: reload configdefault-config: load default confignew-tab: open new tabexit: exit kermitinc-font-size: increase font size by 1dec-font-size: decrease font size by 1default-font-size: reset font size to defaultnext-tab: go to next tabprev-tab: go to previous tabclose-tab: close current tabnew-window: open new window with same working directory (requiresvte.sh).
In order to change the padding of the terminal, create~/.config/gtk-3.0/gtk.css if it does not exist, specify the values there and restart the terminal.
VteTerminal,TerminalScreen,vte-terminal {padding:3px2px2px1px;}
The command below can be used to create the both configuration files.
curl https://raw.githubusercontent.com/orhun/kermit/master/.config/kermit.conf --output~/.config/kermit.conf&& \printf"VteTerminal,\nTerminalScreen,\nvte-terminal {\n\tpadding: 3px 2px 2px 1px;\n}\n">~/.config/gtk-3.0/gtk.css
- URL handling
GNU General Public License v3.0 only (GPL-3.0-only)
Copyright © 2019-2024,Orhun Parmaksız
About
A VTE-based, simple and froggy terminal emulator 🐸
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors7
Uh oh!
There was an error while loading.Please reload this page.

