Skip to content

A terminal emulator that runs in your terminal. Powered by Turbo Vision.

License

Notifications You must be signed in to change notification settings

magiblot/tvterm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tvterm

A terminal emulator that runs in your terminal. Powered by Turbo Vision.

htop, turbo and notcurses-demo running in tvterm

tvterm is an experimental terminal emulator widget and application based on the Turbo Vision framework. It was created for the purpose of demonstrating new features in Turbo Vision such as 24-bit color support.

tvterm relies on Paul Evan's libvterm terminal emulator, also used by Neovim and Emacs.

As of now, tvterm can only be compiled for Unix systems.

The original location of this project is https://github.com/magiblot/tvterm.

Building

In order to build tvterm you must have the following things installed:

  • CMake.
  • A compiler supporting C++14.
  • tvterm's dependencies:
    • libvterm (e.g. libvterm-dev in Ubuntu).
    • Asio 1.12.0 or newer (e.g. libasio-dev in Ubuntu).
  • Turbo Vision's dependencies:
    • libncursesw (Unix only) (e.g. libncursesw5-dev in Ubuntu).
    • libgpm (optional, Linux only) (e.g. libgpm-dev in Ubuntu).
  • Turbo Vision itself. You may do this in two different ways:
    • Use the --recursive option of git clone when cloning this repository (or run git submodule init && git submodule update if you have already cloned it). This way, Turbo Vision will be built along tvterm.
    • Clone Turbo Vision separately and follow its build and install instructions. Make sure you don't use a version of Turbo Vision older than the one required by tvterm (specified in the tvision submodule). When building tvterm, enable the CMake option -DTVTERM_USE_SYSTEM_TVISION=ON.

Then build tvterm with CMake:

cmake . -B ./build -DCMAKE_BUILD_TYPE=Release && # Could also be 'Debug', 'MinSizeRel' or 'RelWithDebInfo'.
cmake --build ./build

CMake versions older than 3.13 may not support the -B option. You can try the following instead:

mkdir -p build; cd build
cmake .. -DCMAKE_BUILD_TYPE=Release &&
cmake --build .

Features

This project is still WIP. Some features it may achieve at some point are:

  • UTF-8 support.
  • fullwidth and zero-width character support.
  • 24-bit color support.
  • Scrollback.
  • Text selection.
  • Find text.
  • Send signal to child process.
  • Text reflow on resize.
  • Having other terminal emulator implementations to choose from.
  • Windows support.
  • Better dependency management.

About

A terminal emulator that runs in your terminal. Powered by Turbo Vision.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published