Skip to content

appsinacup/gdterm

 
 

Repository files navigation

Godot VSCode

example

Website Discord


GDTerm fork module that adds terminal to the Godot Engine.


Fork of GDTerm the Godot In-Editor Terminal. Makes it a module and adds support for bottom multiple tabs and running commands in Terminal by making it a singleton.

Description

This project was created to address the needs of developers who are working on their game in the Godot editor and also need to perform actions at the command line (like start and stop servers, monitor logs, etc.).

It might also help people who use one of the alternative programming languages, as it's possible to run Helix, Neovim, or Emacs within gdterm.

In other words this is for those of us who like to keep the Godot Editor in full-screen and not shuffle their windows when needing to do command line tasks.

It provides the following features:

  • Multiple terminals in main screen area (the same place as the 2D/3D/Script/Assets go).
  • Pseudo-terminal interface to default shell
  • Emulates an ANSI terminal (16 colors)
  • Independent scrollback in each terminal
  • Copy and paste in each terminal
  • Works fine with typical command line tools: vi, top, tail
  • Supports unicode with caveats
  • Supports Linux and Windows and Mac

Getting Started

Dependencies

Using the terminal

A default instance of a terminal will be available when selecting the "Terminal" button

Copy and Paste

The mouse can be used to select text:

  • single-click and drag to highlight characters
  • double-click and drag to highlight words
  • triple-click and drag to highlight lines

The context menu (Right-Click) includes a copy and paste which goes to the system clipboard.

New and Close

A new terminal can be created by adding one above, below, left, or right of the window the context menu is in.

A terminal can be closed from the context menu as well.

Restart

A restart will clear the window and start a new terminal session. This is also the way to get a terminal session going again if the shell being used by this terminal has been exited.

Authors

markeel

Version History

  • 1.0.1

    • Use Cmd key instead of Ctrl on Mac OS
    • Allow Font and Font size to be overridden in Editor settings
  • 1.0

    • Support Mac OS
    • Fixes for background color issues
    • Allow Alt or Meta to be sent as as Esc for Emacs
  • 0.99

    • Support for Editor Settings
    • Better support for Unicode
  • 0.95

    • Support for Windows
  • 0.9

    • Initial Release

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

Godot

You wouldn't be here if you weren't already using the Godot Game Engine: See Godot Engine

ANSI Terminal code logic

The ANSI code interpretation is built using libtmt, but slightly extended to support scrollback. See libtmt

About

Godot Terminal Editor Plugin and Extension

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.7%
  • Python 3.0%
  • C 0.3%