All Projects → lihop → godot-xterm

lihop / godot-xterm

Licence: MIT license
Terminal emulator for the Godot game engine.

Programming Languages

GDScript
375 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
Nix
1067 projects

Projects that are alternatives of or similar to godot-xterm

godot-logger
Simple in-game logger for Godot 4.0
Stars: ✭ 14 (-77.05%)
Mutual labels:  godot, godot-engine
GDGotm
Official Godot plugin for gotm.io - the Godot Platform!
Stars: ✭ 43 (-29.51%)
Mutual labels:  godot, godot-engine
x-terminal
An xterm based Atom plugin for providing terminals inside your Atom workspace.
Stars: ✭ 34 (-44.26%)
Mutual labels:  tty, xterm
Aminal
🌘 Darktile is a GPU rendered terminal emulator designed for tiling window managers.
Stars: ✭ 2,663 (+4265.57%)
Mutual labels:  xterm, terminal-emulator
godot-practice-shaders
Some practice shaders in Godot
Stars: ✭ 79 (+29.51%)
Mutual labels:  godot, godot-engine
multitextor
Multiplatform command line text editor.
Stars: ✭ 27 (-55.74%)
Mutual labels:  tty, xterm
Xterm.js
A terminal for the web
Stars: ✭ 12,019 (+19603.28%)
Mutual labels:  tty, xterm
Godot Realistic Water
Godot - Realistic Water Shader
Stars: ✭ 235 (+285.25%)
Mutual labels:  godot, godot-engine
godot-website
The code for the official Godot Engine website. A static site built using Jekyll.
Stars: ✭ 167 (+173.77%)
Mutual labels:  godot, godot-engine
hydro
Hydro is a Godot Engine module which allows rigid bodies to behave realistically in water.
Stars: ✭ 39 (-36.07%)
Mutual labels:  godot, godot-engine
liblast
A libre multiplayer FPS game created in Godot Engine
Stars: ✭ 92 (+50.82%)
Mutual labels:  godot, godot-engine
nativelib-cli
NativeLib is a plugin management system for Godot engine.
Stars: ✭ 19 (-68.85%)
Mutual labels:  godot, godot-engine
darktile
🌘 Darktile is a GPU rendered terminal emulator designed for tiling window managers.
Stars: ✭ 2,694 (+4316.39%)
Mutual labels:  xterm, terminal-emulator
godot-rpgdb
An easy to use JSON database-manager for Godot.
Stars: ✭ 25 (-59.02%)
Mutual labels:  godot, godot-engine
Luascript
Lua language support for Godot Engine
Stars: ✭ 240 (+293.44%)
Mutual labels:  godot, godot-engine
Ttyd
Share your terminal over the web
Stars: ✭ 4,030 (+6506.56%)
Mutual labels:  tty, xterm
Whiskers
A Visual Dialogue Editor made using the Godot Engine
Stars: ✭ 229 (+275.41%)
Mutual labels:  godot, godot-engine
Awesome Godot
A curated list of free/libre plugins, scripts and add-ons for Godot
Stars: ✭ 3,092 (+4968.85%)
Mutual labels:  godot, godot-engine
godot-local-notification
Godot module for local notifications (android and iOS)
Stars: ✭ 111 (+81.97%)
Mutual labels:  godot, godot-engine
PimplePopper
Game to pop pimples using the awesome Godot Engine
Stars: ✭ 23 (-62.3%)
Mutual labels:  godot, godot-engine

GodotXterm - Terminal Emulator


Godot Version License Build and Test

GDNative terminal for Godot. Built using libtsm, libuv, and node-pty. Primarily developed and tested on Linux, it also supports macOS with partial support for Windows and HTML5. See the Features section for more detail.

GodotXterm.mp4

Live Demo View it on GitHub

Table of Contents

  1. Features
  2. Screenshots
  3. Demos and Examples
  4. Supported Godot Versions
  5. Installation
  6. Documentation
  7. License

Features

  • Terminal

    A Terminal emulator Control node.

    Supports ANSI and (some) XTerm Control Sequences which can be used to do things such as clear the screen, move the cursor, change printed text color, ring a bell, and so on. For an exhaustive list of terminal control sequences (not all of which are supported by GodotXterm) see "XTerm Control Sequences".

  • PTY

    Linux and macOS only.

    Node for forking processes (e.g. bash, nodejs, python) with pseudoterminal file descriptors. Can be used with the Terminal node to get an actual shell.

    Not currently supported on Windows, but it could be in the future using ConPTY or WinPTY. See issue #25.

  • Terminal Editor Plugin

    Linux and macOS only.

    Adds a panel to the Editor's bottom panel that can be used to spawn terminals in the editor. Similar to VSCode's integrated terminal and IntelliJ's embedded terminal.

  • Asciicast Import Plugin

    Adds support for importing asciinema v2 .cast files as animations that can be played by an AnimationPlayer that is a child of a Terminal node. Example .cast files can be downloaded from the asciinema website.

  • Xresources Import Plugin

    Adds support for importing color schemes from .xrdb or .Xresources files. Example xresources files can be exported from terminal.sexy. The iTerm2-Color-Schemes repo also has many example color scheme files in xrdb and Xresources format.

Screenshots

Demos and Examples

The GodotXterm repository contains several example scenes in the /examples directory. After cloning this repo you will need to either build the GDNative binaries from source or copy pre-compiled binaries into your project. See the Setup section for more details.

Other examples of GodotXterm usage are available online:

  • Live Demo: An HTML5 export of the GodotXterm repo's example scenes.

  • The Guest: A Linux only submission to the Linux Game Jam 2022. Uses GodotXterm in conjunction with the gdtemu addon and Linux's Kernel-based Virtual Machine, to provide the player with interactive VM that can be used in the game world.

  • Xterminate: A Linux, macOS, and Windows demo which uses an older version GodotXterm in conjunction with Godot Python.

Are you using GodotXterm in your project and want it listed here? Please open a pull request to have it added.

Supported Godot Versions

GodotXterm aims to support the current stable release of Godot, but may lag slightly. Currently, Godot versions 3.5.x and 3.4.x are supported, but custom export templates are required for HTML5 exports from versions < 3.5. Versions 3.3.x are no longer officially supported but may work if the GDNative libraries are compiled using an older version of godot-cpp.

Installation

GodotXterm is available on the Godot Asset Library. For more ways to install see the Setup section.

Documentation

Documentation is available on GitHub Pages. If you have a question not answered by the docs, or would like more support, feel free to open a new discussion in the discussions section of this project.

License

Copyright (c) 2020-2022, Leroy Hopson and contributors (MIT License).

See the full license.

Third-party components

The GDNative source code incorporates code snippets and source code from many third-party libraries. The licenses of these components can be found in the various sub-directories of this project (provided git submodules have been cloned). Many of these licenses must be distributed with source and binary distributions of this software. For convenience, the texts of these licenses have been bundled together (but clearly demarcated) in the THIRDPARTY_NOTICES.txt file.

Note: On platforms where the PTY node is not supported or if the library has been compiled with the option disable_pty=yes then only the licenses bundled in THIRDPARTY_NOTICES_nopty.txt are applicable.

Fonts

  • The Hack regular font is bundled with GodotXterm as the default Terminal font. This is also the default monospace font of the Godot editor. See the full license.

Nonbundled Resources

The following resources are not bundled with GodotXterm (i.e. are not included in the addons/godot_xterm directory) but are included in this repository for demo and testing purposes. They are:

Sounds

Fonts

  • The bold, italic, and bold italic styles of the Hack font which are covered by the same license as above.
  • Nerd Fonts. Combines symbols from a multitude of other fonts. See license information.
  • Noto Color Emoji. Released under the SIL Open Font License.
  • Unifont. Dual-licensed (since version 13.0.04) under the GNU GPL 2+ with the GNU font embedding exception and the SIL Open Font License (OFL) version 1.1. This project uses it under the terms of the SIL Open Font License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].