{"id":13562624,"url":"https://github.com/orhun/kermit","last_synced_at":"2026-03-03T22:01:44.093Z","repository":{"id":44602221,"uuid":"191185423","full_name":"orhun/kermit","owner":"orhun","description":"A VTE-based, simple and froggy terminal emulator 🐸","archived":false,"fork":false,"pushed_at":"2024-06-10T19:16:15.000Z","size":252,"stargazers_count":148,"open_issues_count":4,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-20T16:50:02.228Z","etag":null,"topics":["gtk3","linux-terminal","terminal","terminal-emulator","vte"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orhun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"orhun","patreon":"orhunp","custom":["https://www.buymeacoffee.com/orhun"]}},"created_at":"2019-06-10T14:37:49.000Z","updated_at":"2025-07-28T02:56:10.000Z","dependencies_parsed_at":"2024-05-08T17:43:15.266Z","dependency_job_id":"40adaa57-58cb-446c-8031-41c511e57bbf","html_url":"https://github.com/orhun/kermit","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/orhun/kermit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fkermit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fkermit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fkermit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fkermit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orhun","download_url":"https://codeload.github.com/orhun/kermit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orhun%2Fkermit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30063358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gtk3","linux-terminal","terminal","terminal-emulator","vte"],"created_at":"2024-08-01T13:01:10.484Z","updated_at":"2026-03-03T22:01:44.077Z","avatar_url":"https://github.com/orhun.png","language":"C","readme":"# kermit [![Release](https://img.shields.io/github/release/orhun/kermit.svg?color=5B7C33\u0026style=flat-square)](https://github.com/orhun/kermit/releases) [![AUR](https://img.shields.io/aur/version/kermit.svg?color=5B7C33\u0026style=flat-square)](https://aur.archlinux.org/packages/kermit/)\n\n### A VTE-based, simple and froggy terminal emulator.\n\n![Kermit the Frog](https://user-images.githubusercontent.com/24392180/59636824-2af20180-915d-11e9-95dd-0a077ebc3cfa.gif)\n\n[VTE](https://developer.gnome.org/vte/) is a [GTK](https://developer.gnome.org/gtk3/3.0/) widget that is designed to create virtual terminal emulators. [GNOME Terminal](https://help.gnome.org/users/gnome-terminal/stable/), [ROXTerm](https://github.com/realh/roxterm) and [evilvte](http://www.calno.com/evilvte/) 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.\n\nThe project is inspired by [Vincent Bernat](https://vincent.bernat.ch/en)'s [article](https://vincent.bernat.ch/en/blog/2017-write-own-terminal) and also his [implementation](https://github.com/vincentbernat/vbeterm) of a custom VTE-based terminal. Terminal features and appearance are mostly influenced by [Rxvt](https://wiki.archlinux.org/index.php/Rxvt-unicode), [termite](https://github.com/thestinger/termite) and [st](https://st.suckless.org/).\n\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n\n\u003c!-- vim-markdown-toc GFM --\u003e\n\n- [Installation](#installation)\n  - [AUR](#aur)\n  - [CMake](#cmake)\n  - [Make](#make)\n  - [GCC](#gcc)\n- [Features](#features)\n- [Arguments](#arguments)\n- [Default Key Bindings](#default-key-bindings)\n- [Customization](#customization)\n  - [Config File](#config-file)\n  - [Theme](#theme)\n  - [Font](#font)\n  - [Key Bindings](#key-bindings)\n  - [Padding](#padding)\n- [Screenshots](#screenshots)\n- [TODO(s)](#todos)\n- [License](#license)\n- [Copyright](#copyright)\n\n\u003c!-- vim-markdown-toc --\u003e\n\n\u003c/details\u003e\n\n## Installation\n\n### AUR\n\n- [kermit](https://aur.archlinux.org/packages/kermit/)\n- [kermit-git](https://aur.archlinux.org/packages/kermit-git/)\n\n### CMake\n\n```\nmkdir -p build \u0026\u0026 cd build\ncmake ../ -DCMAKE_INSTALL_PREFIX=/usr\nmake\nsudo make install\nsudo ldconfig\n```\n\n### Make\n\n```\nmake\nsudo make install\n```\n\n### GCC\n\n```\ncd src/\ngcc -s -O3 -Wall -Wno-deprecated-declarations $(pkg-config --cflags vte-2.91) kermit.c -o kermit.o $(pkg-config --libs vte-2.91)\n```\n\n\\* `kermit` depends on [vte3](https://www.archlinux.org/packages/extra/x86_64/vte3/) and [gtk3](https://www.archlinux.org/packages/extra/x86_64/gtk3/) packages.\n\n## Features\n\n- Uses the default shell (`$SHELL`)\n- Supports transparency with a composite manager (such as [compton](https://github.com/chjj/compton))\n- Supports base16 color schemes (customizable theme)\n- Supports custom keys and associated commands\n- Supports tabs\n\n## Arguments\n\n```\nkermit [-h] [-v] [-d] [-c config] [-t title] [-w workdir] [-e command]\n\n[-h] shows help\n[-v] shows version\n[-d] enables the debug messages\n[-c config]  specifies the configuration file\n[-t title]   sets the terminal title\n[-w workdir] sets the working directory\n[-e command] sets the command to execute in terminal\n```\n\n## Default Key Bindings\n\n| Key                                    | Action                            |\n| -------------------------------------- | --------------------------------- |\n| `ctrl` + `alt` + `c`                   | Copy to clipboard                 |\n| `ctrl` + `alt` + `v`                   | Paste from clipboard              |\n| `ctrl` + `alt` + `t`/`return`          | Open a new tab                    |\n| `ctrl` + `alt` + `n`                   | Open a new window                 |\n| `ctrl` + `alt` + `r`                   | Reload configuration file         |\n| `ctrl` + `alt` + `d`                   | Load default configuration        |\n| `ctrl` + `alt` + `q`                   | Exit the terminal                 |\n| `ctrl` + `alt` + `k`/`up`              | Increase font size                |\n| `ctrl` + `alt` + `j`/`down`            | Decrease font size                |\n| `ctrl` + `alt` + `equals`/`plus`       | Reset font size to default        |\n| `ctrl` + `alt` + `\u003cnum\u003e`               | Switch to tab with number `\u003cnum\u003e` |\n| `ctrl` + `alt` + `l`/`right`/`pageup`  | Switch to next tab                |\n| `ctrl` + `alt` + `h`/`left`/`pagedown` | Switch to previous tab            |\n| `ctrl` + `alt` + `backspace`           | Close the current tab             |\n\nThe default modifiers (`ctrl` + `alt`) can be set to `ctrl` + `shift` using the config file.\nKey bindings can be overridden by custom key bindings.\nSee [Configuration / Key Bindings](#key-bindings) for more information.\n\n## Customization\n\n### Config File\n\nMost of the settings including font, opacity and colors can be changed via the config file. The default configuration file is available [here](https://github.com/orhun/kermit/blob/master/.config/kermit.conf).\n\n`kermit` looks for configuration file in `~/.config/kermit.conf`\n\n### Theme\n\nThe terminal theme can be changed by either editing the config file manually or using the [base16](https://github.com/chriskempson/base16) color schemes in [orhun/base16-kermit](https://github.com/orhun/base16-kermit) repository.\n\n### Font\n\n`kermit` uses a [PangoFontDescription](https://developer.gnome.org/pygtk/stable/class-pangofontdescription.html) which is retrieved from the `kermit.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 is `monospace 9`.\n\n```\nfont [FAMILY-LIST] [STYLE-OPTIONS] [SIZE]\n```\n\n`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, and `SIZE` is a decimal number (size in points).\n\n• Available font families: `Normal, Sans, Serif and Monospace`.\n• Available styles: `Normal, Oblique, Italic`.\n• Available weights: `Ultra-Light, Light, Normal, Bold,Ultra-Bold, Heavy`.\n• Available variants: `Normal, Small-Caps`.\n• Available stretch styles: `Ultra-Condensed, Extra-Condensed, Condensed, Semi-Condensed, Normal, Semi-Expanded, Expanded, Extra-Expanded, Ultra-Expanded`.\n\nExamples:\n\n```\nfont sans bold 12\nfont normal 10\nfont monospace bold italic condensed 12\n```\n\n### Key Bindings\n\nCustom keys and associated commands can be specified with the configuration file. An example entry is available [here](https://github.com/orhun/kermit/blob/master/.config/kermit.conf#L14) and entry format is shown below.\n\n```\nbind/bindx/bindi [KEY]~\"[COMMAND]\"\n```\n\n- bind: `Send command to the terminal.`\n- bindx: `Send command to the terminal and execute.`\n- bindi: `Execute internal command`\n\nExamples:\n\n```\nbindx f~\"df -h\"\nbind r~\"rm -i \"\nbind p~\"ps aux | grep \"\nbind k~\"kill -9 \"\nbindi c~\"copy\"\n```\n\nCurrently available internal commands (`bindi`):\n\n- `copy`: copy to clipboard\n- `paste`: paste from clipboard\n- `reload-config`: reload config\n- `default-config`: load default config\n- `new-tab`: open new tab\n- `exit`: exit kermit\n- `inc-font-size`: increase font size by 1\n- `dec-font-size`: decrease font size by 1\n- `default-font-size`: reset font size to default\n- `next-tab`: go to next tab\n- `prev-tab`: go to previous tab\n- `close-tab`: close current tab\n- `new-window`: open new window with same working directory (requires `vte.sh`).\n\n### Padding\n\nIn 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.\n\n```css\nVteTerminal,\nTerminalScreen,\nvte-terminal {\n  padding: 3px 2px 2px 1px;\n}\n```\n\nThe command below can be used to create the both configuration files.\n\n```bash\ncurl https://raw.githubusercontent.com/orhun/kermit/master/.config/kermit.conf --output ~/.config/kermit.conf \u0026\u0026 \\\n  printf \"VteTerminal,\\nTerminalScreen,\\nvte-terminal {\\n\\tpadding: 3px 2px 2px 1px;\\n}\\n\" \u003e ~/.config/gtk-3.0/gtk.css\n```\n\n## Screenshots\n\n![Screenshot](https://user-images.githubusercontent.com/24392180/87167894-5a2e6000-c2d6-11ea-9c99-fa05cf56f40b.gif)\n\n## TODO(s)\n\n- URL handling\n\n## License\n\nGNU General Public License v3.0 only ([GPL-3.0-only](https://www.gnu.org/licenses/gpl.txt))\n\n## Copyright\n\nCopyright © 2019-2024, [Orhun Parmaksız](mailto:orhunparmaksiz@gmail.com)\n","funding_links":["https://github.com/sponsors/orhun","https://patreon.com/orhunp","https://www.buymeacoffee.com/orhun"],"categories":["Applications","Uncategorized"],"sub_categories":["Terminal","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Fkermit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forhun%2Fkermit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forhun%2Fkermit/lists"}