mirror of
https://github.com/wez/wezterm.git
synced 2024-12-22 21:01:36 +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?
|
||||
|
||||
Here's what I'm shooting for:
|
||||
|
||||
* A terminal escape sequence parser
|
||||
* A differential screen protocol
|
||||
* Textual and GUI rendering of the screen protocol
|
||||
* A model of a terminal screen + scrollback that is OS independent
|
||||
* 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
|
||||
terminal multiplexer and a gui terminal emulator, where the GUI part
|
||||
could automatically provide a native UI around the remotely multiplexed
|
||||
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