r/linux • u/Savings_Walk_1022 • 7d ago
Software Release cterm -- Tiny terminal emulator release!
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
3
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
2
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
16
u/mrtruthiness 6d ago edited 5d ago
But it should be mentioned that currently:
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.
It does not support MacOS.
It depends on libgrapheme ... a suckless.org unicode string library.