Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Alacritty | 48,734 | 3 | a day ago | 6 | March 24, 2023 | 309 | apache-2.0 | Rust | ||
A cross-platform, OpenGL terminal emulator. | ||||||||||
Kitty | 19,943 | a day ago | 19 | August 17, 2021 | 26 | gpl-3.0 | Python | |||
Cross-platform, fast, feature-rich, GPU based terminal | ||||||||||
Darktile | 2,947 | 6 months ago | 11 | May 10, 2022 | 28 | mit | Go | |||
:waning_crescent_moon: Darktile is a GPU rendered terminal emulator designed for tiling window managers. | ||||||||||
Glrnvim | 259 | 8 months ago | 4 | gpl-3.0 | Rust | |||||
glrnvim wraps nvim with your favourite terminal into a standalone, non-fancy but daily-usable neovim GUI. | ||||||||||
Galacritty | 145 | 5 years ago | n,ull | unlicense | Rust | |||||
[Abandoned experiment] GTK terminal emulator based on Alacritty [USE WEZTERM!] | ||||||||||
Swift_opengl_example | 66 | 2 months ago | mit | Swift | ||||||
:star: Swift OpenGL Example written with swift (for Ubuntu, macOS, iOS and Android) | ||||||||||
Terminal Recall | 49 | 2 months ago | 49 | epl-1.0 | Java | |||||
Engine remake for Terminal Velocity and Fury3 | ||||||||||
Glkitty | 43 | 2 years ago | 1 | C | ||||||
port of the OpenGL gears demo to kitty terminal graphics protocol | ||||||||||
Glerminal | 24 | 4 years ago | 12 | January 20, 2019 | 12 | other | Rust | |||
A lightweight terminal made with OpenGL | ||||||||||
Opengl Ttf Terminal | 15 | 8 years ago | 1 | C | ||||||
A terminal window for Linux implemented using libtsm, libsdl, stb_truetype, fontstash |
Read our Code of Conduct and join our Discord server if you want to chat!
A lightweight terminal made with OpenGL from the ground-up.
With this terminal, you're able to make the terminal applications or games you've always wanted, but with a terminal that looks the same for everyone, because it's made with OpenGL and doesn't use the computer's native terminal!
Currently supported features include:
"Hello, [fg=red]this is red[/fg] and [shake=1.0]this is shaking[/shake]."
menu_systems
optional feature to be enabledNote: Requires OpenGL 3.3+ support
Extensive documentation can be found at: docs.rs.
Just add the following line to your Cargo.toml
:
[dependencies]
glerminal = "0.3"
And then using this crate is quite simple:
extern crate glerminal; // Not required if running 2018 edition
use glerminal::terminal::TerminalBuilder;
use glerminal::text_buffer::TextBuffer;
fn main() {
let terminal = TerminalBuilder::new()
.with_title("Hello GLerminal!")
.with_dimensions((1280, 720))
.build();
let mut text_buffer;
match TextBuffer::create(&terminal, (80, 24)) {
Ok(buffer) => text_buffer = buffer,
Err(error) => panic!(format!("Failed to initialize text buffer: {}", error)),
}
text_buffer.write("Hello, GLerminal!");
terminal.flush(&mut text_buffer);
while terminal.refresh() {
terminal.draw(&text_buffer);
}
}
The default font that comes with GLerminal is a render of Source Code Pro and only includes a few more popular unicode blocks, to save space on the end product (the default font is compiled into the library).
The following blocks are included in the default font:
To make a custom font, you have to use either the BMFont standard / .fnt
, or .sfl
,
and software that can produce such files are BMFont (can produce only .fnt
), or Fontbuilder (can produce both).
The font image needs to be RGBA PNG.
It is advised to use Fontbuilder, as (at least after some testing) the png font images generated by BMFont (and their antialiasing) are sub-par compared to Fontbuilder, though Fontbuilder might be difficult to build on windows devices (It is possible with MinGW though).
Note If using Fontbuilder, it is highly recommended to use this fork as it contains a critical fix for .sfl font exporting.
After that it is advisable to look at glerminal font documentation on how a custom font is then loaded to use.
You are welcome to contribute to this project, but before do review the Contributing guidelines.
A Code of Conduct can also be found in the repository as CODE_OF_CONDUCT.md, please review it before interacting with the community.
This crate is distributed under the terms of the MIT License.
This crate also uses a font as a default font, called Source Code Pro, which is distributed under the terms of SIL OFL Version 1.1.