mirror of
https://github.com/wez/wezterm.git
synced 2024-12-23 05:12:40 +03:00
flesh out some details prior to pushing to github
This commit is contained in:
parent
532cf28782
commit
38bfd8bdc9
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Wez Furlong
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
50
README.md
50
README.md
@ -1,15 +1,59 @@
|
|||||||
# Wez's Term
|
# Wez's Terminal
|
||||||
|
|
||||||
|
A terminal emulator implemented in Rust.
|
||||||
|
|
||||||
|
## Quickstart
|
||||||
|
|
||||||
|
* Install `rustup` to get the `rust` compiler installed on your system.
|
||||||
|
https://www.rust-lang.org/en-US/install.html
|
||||||
|
* Build in release mode: `cargo build --release`
|
||||||
|
* Run it via either `cargo run --release` or `target/release/wezterm`
|
||||||
|
|
||||||
|
You will need a collection of support libraries; I built this incrementally
|
||||||
|
so far so I don't have a complete list. Please open an issue if you work
|
||||||
|
through and discover the full and proper list of packages for ubuntu:
|
||||||
|
|
||||||
|
* xcb and xcb-util development packages
|
||||||
|
* fontconfig
|
||||||
|
* harfbuzz
|
||||||
|
* freetype
|
||||||
|
|
||||||
## What?
|
## What?
|
||||||
|
|
||||||
Here's what I'm shooting for:
|
Here's what I'm shooting for:
|
||||||
|
|
||||||
* A terminal escape sequence parser
|
* A terminal escape sequence parser
|
||||||
* A differential screen protocol
|
* A model of a terminal screen + scrollback that is OS independent
|
||||||
* Textual and GUI rendering of the screen protocol
|
* Textual and GUI rendering of the model
|
||||||
|
* A differential protocol for the model
|
||||||
|
|
||||||
This would manifest as a common core that could run as both a textual
|
This would manifest as a common core that could run as both a textual
|
||||||
terminal multiplexer and a gui terminal emulator, where the GUI part
|
terminal multiplexer and a gui terminal emulator, where the GUI part
|
||||||
could automatically provide a native UI around the remotely multiplexed
|
could automatically provide a native UI around the remotely multiplexed
|
||||||
terminal session.
|
terminal session.
|
||||||
|
|
||||||
|
## Status / Features
|
||||||
|
|
||||||
|
These are in the done/doing soon category:
|
||||||
|
|
||||||
|
- [x] Runs on Linux with XCB
|
||||||
|
- [x] Scrollback (use mouse wheel and Shift Page{Up|Down})
|
||||||
|
- [x] True Color support
|
||||||
|
- [x] Color Emoji and font fallback (Note: currently assumes you have the Operator font!)
|
||||||
|
- [x] Paste selection via Shift-Insert
|
||||||
|
- [ ] xterm style selection of text with mouse
|
||||||
|
- [ ] Configuration file to specify fonts and colors
|
||||||
|
- [ ] Render underline, italic, bold, strikethrough
|
||||||
|
- [ ] Command line argument parsing / launching of user shell (currently runs only `zsh`!)
|
||||||
|
|
||||||
|
There's a good number of terminal escape sequences that are not yet implemented
|
||||||
|
and that will get fleshed out as the applications I use uncover them.
|
||||||
|
Similarly for key mappings.
|
||||||
|
|
||||||
|
Things that I'd like to see happen and that have no immediate priority
|
||||||
|
(contributions to get closer to these are welcomed!)
|
||||||
|
|
||||||
|
- [ ] Runs on macOS
|
||||||
|
- [ ] Tabs
|
||||||
|
- [ ] Textual renderer. Think `tmux` or `screen`.
|
||||||
|
- [ ] Runs on Windows
|
||||||
|
Loading…
Reference in New Issue
Block a user