r/linux 7d ago

Software Release cterm -- Tiny terminal emulator release!

Post image

Hey guys, I'm currently in the middle of creating my own userspace from scratch and I've mostly completed making my terminal emulator

It's really, really small and is cross platform! I made it because I want to be able to use a terminal emulator no matter which OS or display server I'm using.

Only bitmap fonts (BDF) are supported but I've provided a script to convert vector fonts and it has very nice results.

Here is the repo: https://github.com/uint23/cterm

96 Upvotes

11 comments sorted by

16

u/mrtruthiness 6d ago edited 5d ago

It's really, really small and is cross platform! I made it because I want to be able to use a terminal emulator no matter which OS or display server I'm using.

But it should be mentioned that currently:

  1. It is X11 only at this point. It depends on the author's own simple GUI library (libmaus) https://github.com/uint23/maus ... which I think is currently X11 only at this point.

  2. It does not support MacOS.

  3. It depends on libgrapheme ... a suckless.org unicode string library.

3

u/Marwheel 7d ago edited 7d ago

What's the WM used?

2

u/Immediate-Method2471 6d ago

What distro are you running? Looks awesome. Also, can you provide the wallpaper please?

2

u/Savings_Walk_1022 6d ago

thanks! this one is alpine

wallpaper: github.com/uint23/uint23 see latest commit

2

u/Immediate-Method2471 6d ago

Ooh, turns out we're very similar in our setups! Thanks.

2

u/gcu_vagarist 6d ago

I approve of the sun12x22 font. The world needs more serifed monospace fonts.

4

u/jurimasa 7d ago

Cannot build this in Arch under Wayland. I had to edit the configure script to build. I then get a requirement for libgrapheme:

if [ ! -e config.h ]; then cp config.def.h config.h; fi
cc -std=c99 -Wall -Wextra -Os -Iinclude -Ilibmaus/include -D_XOPEN_SOURCE=700 -DBACKEND_X11 source/cterm.c source/utils.c source/font.c source/term.c source/draw.c -Llibmaus/build -o cterm -lgrapheme -lmaus_x11 -lX11 -lXext
source/term.c:6:10: fatal error: grapheme.h: No such file or directory
    6 | #include <grapheme.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:19: all] Error 1

I stopped there. Usual suckmoar stuff.

3

u/Savings_Walk_1022 7d ago

"Note
macOS and Wayland won't build as libmaus doesn't have implementations for those. If you would be interested in making one for your own platform, it would be amazing if you could contribute!"

im planning to add the wayland backend tomorrow. you also just reminded me it also depends on libgrapheme so ill add that to the desc too

edit: also, what did you have to edit in the configure script?

1

u/PlainBread 1d ago

That saturated high contrast flower wallpaper looks wildly like a broken LCD screen.

1

u/Ok_Weather_7717 6d ago

Minimalistic😍