Skip to content

A CRT style terminal for Windows (or more appropriately, a Windows take on cool-retro-term)

License

Notifications You must be signed in to change notification settings

RelativisticMechanic/CRTerm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status Download zip

Gautam's CRTerm Windows 11 C++ OpenGL

A CRT style terminal for Windows. Watch it in action.

Note: This is a WIP, it is not ready for production!

Amber with WSL Green with cmd.exe White with Powershell XTerm 256 Color Support
UTF-8 Support Vim Matrix Mapscii

Motivation

This project is inspired from SwordFish90's Cool-Retro-Term. Unfortunately, this program while being cool, was only available for Linux / MacOS, so I decided to write one for Windows.

Note that while it is inspired from Cool-Retro-Term, it is not Cool-Retro-Term! Cool-Retro-Term has undergone ~10 years of development and this does not use any code from that. This has gone about ~10 days in development in comparison, so once again it is in active development and will see many changes. :P

Description

The terminal supports a subset of VT220, and uses SDL-GPU for rendering. For the UI part, it employs Dear ImGui. It uses Nlohmann's JSON library and Sam Hocevar's portable file dialogs as well. It has a 16 color palette. The mouse is used for selection, copying and pasting. It also implements a scrollback buffer which can be used to view the terminal's history.

The terminal reads the "default" file in its directory which should just contain the path to a JSON file. An example is given in default and config/ located in src/resources.

The current version is 0.5.0, it is still in active development and may not replace your terminal application.

Features

  • Subset of VT220 is supported
  • Mouse selection (copy, and paste)
  • 16-color palette
  • Scrollback history
  • TrueType support
  • 256 Color (in upcoming release)
  • UTF-8 Support (Work in progress)
  • Drag and drop files (plays MP3 in the terminal itself!)

Hey, it looks nice, if you wanted functionality, go for Windows Terminal.

Upcoming

For the road to 1.0.0, we have the following,

  • Support for certain iTerm sequences to allow graphics rendering in the terminal
  • Support for terminal resizing
  • Support for coloured glyphs
  • Full TrueType (including bold and italics)

Building

Visual Studio 2017/2022 is required, it uses C++17. Windows 10 SDK (June 2018)+ is needed as it uses CreatePseudoConsole() and ConPTY.

All dependencies are present in the repo, they are:

  • ImGui
  • SDL2
  • SDL_mixer
  • SDL2-GPU
  • FreeType

The header only dependencies are:

  • Nlohmann/JSON
  • Hocevar/PDF

Don't forget to add the DLLs to the Debug/ folder whilst running!

Have fun!

About

A CRT style terminal for Windows (or more appropriately, a Windows take on cool-retro-term)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages