Skip to content

ingur/godotty

Repository files navigation

Godotty

godotty_demo

A full-featured yet light-weight terminal emulator for the Godot Engine, powered by libghostty.

Version Runs on Linux Runs on macOS Runs on Windows License

Features

  • Full terminal emulation powered by ghostty's VT engine (libghostty-vt)
  • Terminals anywhere in the editor: movable docks, a tabbed/toggleable bottom panel, and as a main screen
  • Selection, clipboard copy / paste (Ctrl+Shift+C / V, Cmd+C / V on macOS), drag to reorder tabs
  • Tab titles follow the running program, shells open as login shells in your project root
  • Terminal colors are auto-generated from your editor theme
  • JetBrains Mono Nerd Fonts, ligatures, and emojis built in, no setup
  • A Terminal node for use inside your own editor tools
  • Written in Rust as a self-contained GDExtension

Install

Requires Godot 4.7+ on Linux, macOS, or Windows 10+.

  • Asset Library: search for "Godotty" in the editor's AssetLib tab and install it.
  • Manual: grab the zip from the releases page and extract it into your project root.

Note

On macOS, if Gatekeeper blocks the library, clear the quarantine flag: xattr -dr com.apple.quarantine addons/godotty.

Quick Start

  • Ctrl+Shift+P and type "terminal" to create one in a dock, the bottom panel, or the main screen.
  • Ctrl+` toggles the terminal panel in the bottom panel.
  • Drag docks anywhere, or float them as windows.
  • Settings live in Editor Settings under godotty.

Exports

Godotty never ships in exported games by default. You can silence the harmless startup logs about the missing extension by adding addons/godotty/* to your export preset's exclude filter. To ship the Terminal node in your game, remove the .editor tags in godotty.gdextension.

Why?

  • I wanted to be able to use all my terminal tools from inside Godot.
  • I wanted to build something that feels native to the editor.
  • I wanted to use libghostty.

Building from source

Requirements: Rust (stable), Zig 0.15.2, or devenv with the included configuration.

cargo build --release   # produces target/release/libgodotty.so
package                 # devenv script: assembles dist/godotty-v*.zip

Roadmap

  • Kitty image protocol support, still need to hook it up.

Credits

License

MIT, Bundled fonts are OFL-1.1, see addons/godotty/FONTS.md.

About

A full-featured yet light-weight terminal emulator for the Godot Engine, powered by libghostty.

Topics

Resources

License

Stars

22 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages