contour
terminal-unicode-core
contour | terminal-unicode-core | |
---|---|---|
20 | 3 | |
2,241 | 24 | |
2.3% | - | |
9.7 | 4.4 | |
2 days ago | over 2 years ago | |
C++ | TeX | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
contour
-
Neovide – a simple, no-nonsense, cross-platform GUI for Neovim
Another problem is that the cursor moves while the screen is buffer is being rendered. The location is only really known once the cursor settles in the same place for some time, which is unacceptable in terms of latency.
The synchronized output extension could be used to do this, though. https://github.com/contour-terminal/contour/blob/master/docs...
- FLaNK Stack Weekly 16 October 2023
-
Contour: Modern and Fast Terminal Emulator
https://github.com/contour-terminal/contour/issues/382
This apparently does not support the Kitty graphics protocol, just Sixel, which makes it look fairly unattractive to me, personally.
-
Terminal emulators that break from the traditional rendering approach?
contour - https://github.com/contour-terminal/contour. https://github.com/contour-terminal/contour/issues/100 and other modern unicode focused attempts to update the terminal world
- Contour Terminal – A Modern and Cross-Platform C++ Terminal Emulator
-
Name a program that doesn't get enough love!
contour : a terminal application
-
Is there a way to make Dolphin use a terminal app other than Konsole?
https://github.com/contour-terminal/contour Contour has a implementation for this. See this release: https://github.com/contour-terminal/contour/releases/tag/v0.3.6.240
-
Speeding up incremental Rust compilation with dylibs - Robert Krahn
Now that I'm well rested I decided to compile some similar terminal emulators with clang++ and rustc to see how big of a gap we're looking at. For the C++ terminal emulator I compiled contour with ~80k lines of C++ and over 200k lines when accounting for dependencies (not including dynamically linked dependencies), and then I'm using alacritty with ~35k lines of Rust and over 2 million (!) lines for the whole dependency tree when vendoring all dependencies. Because Rust tries to make most software cross platform with conditional compilation and many of these aren't Linux specific libraries I'm gonna assume it's compiling half or two thirds of the lines of dependencies for this experiment with the C++ compiling probably 3/4ths of the dependency tree considering I'm not on windows.
-
What terminal emulator do you use?
I have my eyes on this though.
terminal-unicode-core
-
Contour: Modern and Fast Terminal Emulator
> It would be nice if someone worked on actually improving the terminal experience.
Contour. Oh, sorry, I mean: To be honest? There are plenty of young terminals that work on that, it's not just Contour, but also WezTerm, foot, Ghostty, Warp, and Terminal.click (even though I am strongly against their architecture). Also Charm and Fig should earn an honorable mention.
> Selecting, copying and pasting text is still pretty awful
Use the vi-like normal mode in Contour and that should(tm) fix almost all of the above problems. At least I have almost never touched a mouse again on Contour since I've implemented modal input in Contour. Well, I use the mouse, casually for scrolling and procrastinating by randomly clicking around. :)
> (why is the cursor an entire block rather than a I bar?).
this is configurable in recent terminals
> Editing multiline inputs is awful.
this should be implemented by your shell or readline, in case you want to improve here. your TE has nothing to do with this except that it provides the tools to realize that on the screen :)
> Navigating history is so-so (even with McFly etc.).
This is the job of the shell/readline.
> Anything more complicated than left/right/up/down fails half the time and dumps control characters instead.
I really cannot related that claim to anything I am experiencing in my own life. Sadly.
> Why are terminals always stuck in the 70s? Can I get a modern terminal?
To be fair, they are not named "emulator" for fun and giggles. But I agree, not every VT sequence or semantic should be blindingly implemented. Especially the Unicode case on Terminals were always a fight against the historian terminal emulator developers. I asked myself why a lot on that matter. My theory? Because it potentially requires those existing terminals to fully re-write their core code base in order to be fully (as full as it gets) Unicode aware.
Have a look here for a baby-step forward: https://github.com/contour-terminal/terminal-unicode-core
This is implemented by 4 terminals (Ghostty, WezTerm, foot, Contour). One bite at a time I guess. Let's just stay positive, we can't break the world! (Terminal.Click? You listening?) But we should certainly break here and there when it makes sense and also not blindingly implement the 70s again. The GUI has also good moments and can live next to the TUI ;)
- Terminal Unicode Core Specification
-
Look into a terminal emulator's text stack
Some other terminal emulator developers and I have started to address at least some of the many Unicode problems that are up until now undefined behavior by creating a formal specification on how a terminal emulator should behave in a backward and forward compatible way so that app developers and users will benefit.
What are some alternatives?
kitty - Cross-platform, fast, feature-rich, GPU based terminal
wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
harfbuzz - HarfBuzz text shaping engine
guake - Drop-down terminal for GNOME
nchat - Terminal-based Telegram / WhatsApp client for Linux and macOS
contour - Contour is a Kubernetes ingress controller using Envoy proxy.
iTerm2 - iTerm2 is a terminal emulator for Mac OS X that does amazing things.
box-cli-maker - Make Highly Customized Boxes for CLI
terminalpp - A C++ library for interacting with ANSI terminal windows.
tmux - tmux source code
libsixel - A SIXEL encoder/decoder implementation derived from kmiya's sixel (https://github.com/saitoha/sixel).