Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A VTE-based, simple and froggy terminal emulator 🐸

License

NotificationsYou must be signed in to change notification settings

orhun/kermit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A VTE-based, simple and froggy terminal emulator.

Kermit the Frog

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

Installation

AUR

CMake

mkdir -p build && cd buildcmake ../ -DCMAKE_INSTALL_PREFIX=/usrmakesudo make installsudo ldconfig

Make

makesudo make install

GCC

cd 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.

Features

  • 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

Arguments

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

Default Key Bindings

KeyAction
ctrl +alt +cCopy to clipboard
ctrl +alt +vPaste from clipboard
ctrl +alt +t/returnOpen a new tab
ctrl +alt +nOpen a new window
ctrl +alt +rReload configuration file
ctrl +alt +dLoad default configuration
ctrl +alt +qExit the terminal
ctrl +alt +k/upIncrease font size
ctrl +alt +j/downDecrease font size
ctrl +alt +equals/plusReset font size to default
ctrl +alt +<num>Switch to tab with number<num>
ctrl +alt +l/right/pageupSwitch to next tab
ctrl +alt +h/left/pagedownSwitch to previous tab
ctrl +alt +backspaceClose 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.

Customization

Config File

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

Theme

The terminal theme can be changed by either editing the config file manually or using thebase16 color schemes inorhun/base16-kermit repository.

Font

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 12

Key Bindings

Custom 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 clipboard
  • paste: paste from clipboard
  • reload-config: reload config
  • default-config: load default config
  • new-tab: open new tab
  • exit: exit kermit
  • inc-font-size: increase font size by 1
  • dec-font-size: decrease font size by 1
  • default-font-size: reset font size to default
  • next-tab: go to next tab
  • prev-tab: go to previous tab
  • close-tab: close current tab
  • new-window: open new window with same working directory (requiresvte.sh).

Padding

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

Screenshots

Screenshot

TODO(s)

  • URL handling

License

GNU General Public License v3.0 only (GPL-3.0-only)

Copyright

Copyright © 2019-2024,Orhun Parmaksız

About

A VTE-based, simple and froggy terminal emulator 🐸

Topics

Resources

License

Stars

Watchers

Forks

Contributors7


[8]ページ先頭

©2009-2025 Movatter.jp