Skip to content

emmabastas/min-terminal

Repository files navigation

⚠️ This repository is a mirror of https://sr.ht/~emmabastas/min-terminal/ If you want to open issues here on GitHub that's completely fine, but if you want to make a fork it's best to use the SourceHut repository instead.

min-terminal

This is min-terminal, a little side-project that I started to get more comfortable with C. In the future I hope to use this terminal as my daily driver (I currently use st) and I intend for it to be usable by me with my workflow. This means that, from most perspectives, min-terminal is simultaneously over-engineered and severely lacking in features, but for me it's perfect :-))

That said, if you wanna hack on this I'd be happy to help you with your own fork.

A screen recording of me using min-terminal

TODOs

These are not in any particular order.

  • Use OpenGL instead of Xlib for rendering.
  • Show Cursor.
  • Resizeable window.
  • Limited ligature support.
  • Cache rasterized glyphs on the GPU.
  • Use something other than stb_truetype.h for rasteriziing glyphs (security issues).
  • Pass the vttest suite (except for blinking text, I don't care about that).
  • Pass the esctest suite.
  • Some sort of dialog for when errors and unknown escape sequences occur.
  • Vim-style keybindings built-in.
  • Copy-paste.
  • Scrollback buffer.
  • No "still reachable" memory leaks.

License

min-terminal is licensed under the GPLv3 or later, see ./LICENSE.

There are vendored libraries inside ./dist with their own licenses, these are:

  • CuTest: C Unit Testing Framework. Licensed under the zlib License.
  • stb_truetype.h which is in the public domain.
  • Files generated by GLAD. I don't really know if this generated code falls under any license?

About

Look mom, I made a terminal emulator!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published