From 452a0cdab4add2b026baa4bfeba07c06f9ecc99b Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 22 Jun 2019 17:27:56 -0700 Subject: [PATCH] more docs stuff --- .gitignore | 1 + docs/Gemfile | 3 + docs/Gemfile.lock | 249 +++++++++++++++++++++++++++++ docs/_config.yml | 2 +- docs/_layouts/default.html | 39 +++++ docs/configuration.markdown | 310 ++++++++++++++++++++++++++++++++++++ docs/features.markdown | 24 +++ docs/index.markdown | 14 +- 8 files changed, 640 insertions(+), 2 deletions(-) create mode 100644 docs/Gemfile create mode 100644 docs/Gemfile.lock create mode 100644 docs/_layouts/default.html create mode 100644 docs/configuration.markdown create mode 100644 docs/features.markdown diff --git a/.gitignore b/.gitignore index 7f7e6728b..8092d63ae 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store +/docs/_site /WezTerm*.zip /wezterm*.deb /pkg diff --git a/docs/Gemfile b/docs/Gemfile new file mode 100644 index 000000000..bcd3be7d0 --- /dev/null +++ b/docs/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' +gem 'github-pages', group: :jekyll_plugins +gem 'jekyll-redirect-from' diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock new file mode 100644 index 000000000..6efb438bd --- /dev/null +++ b/docs/Gemfile.lock @@ -0,0 +1,249 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (4.2.11.1) + i18n (~> 0.7) + minitest (~> 5.1) + thread_safe (~> 0.3, >= 0.3.4) + tzinfo (~> 1.1) + addressable (2.6.0) + public_suffix (>= 2.0.2, < 4.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.11.1) + colorator (1.1.0) + commonmarker (0.17.13) + ruby-enum (~> 0.5) + concurrent-ruby (1.1.5) + dnsruby (1.61.2) + addressable (~> 2.5) + em-websocket (0.5.1) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0.6.0) + ethon (0.12.0) + ffi (>= 1.3.0) + eventmachine (1.2.7) + execjs (2.7.0) + faraday (0.15.4) + multipart-post (>= 1.2, < 3) + ffi (1.11.1) + forwardable-extended (2.6.0) + gemoji (3.0.1) + github-pages (198) + activesupport (= 4.2.11.1) + github-pages-health-check (= 1.16.1) + jekyll (= 3.8.5) + jekyll-avatar (= 0.6.0) + jekyll-coffeescript (= 1.1.1) + jekyll-commonmark-ghpages (= 0.1.5) + jekyll-default-layout (= 0.1.4) + jekyll-feed (= 0.11.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.12.1) + jekyll-mentions (= 1.4.1) + jekyll-optional-front-matter (= 0.3.0) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.2.0) + jekyll-redirect-from (= 0.14.0) + jekyll-relative-links (= 0.6.0) + jekyll-remote-theme (= 0.3.1) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.5.0) + jekyll-sitemap (= 1.2.0) + jekyll-swiss (= 0.4.0) + jekyll-theme-architect (= 0.1.1) + jekyll-theme-cayman (= 0.1.1) + jekyll-theme-dinky (= 0.1.1) + jekyll-theme-hacker (= 0.1.1) + jekyll-theme-leap-day (= 0.1.1) + jekyll-theme-merlot (= 0.1.1) + jekyll-theme-midnight (= 0.1.1) + jekyll-theme-minimal (= 0.1.1) + jekyll-theme-modernist (= 0.1.1) + jekyll-theme-primer (= 0.5.3) + jekyll-theme-slate (= 0.1.1) + jekyll-theme-tactile (= 0.1.1) + jekyll-theme-time-machine (= 0.1.1) + jekyll-titles-from-headings (= 0.5.1) + jemoji (= 0.10.2) + kramdown (= 1.17.0) + liquid (= 4.0.0) + listen (= 3.1.5) + mercenary (~> 0.3) + minima (= 2.5.0) + nokogiri (>= 1.8.5, < 2.0) + rouge (= 2.2.1) + terminal-table (~> 1.4) + github-pages-health-check (1.16.1) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (~> 4.0) + public_suffix (~> 3.0) + typhoeus (~> 1.3) + html-pipeline (2.11.0) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.6.0) + i18n (0.9.5) + concurrent-ruby (~> 1.0) + jekyll (3.8.5) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 0.7) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (~> 1.14) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + jekyll-avatar (0.6.0) + jekyll (~> 3.0) + jekyll-coffeescript (1.1.1) + coffee-script (~> 2.2) + coffee-script-source (~> 1.11.1) + jekyll-commonmark (1.3.1) + commonmarker (~> 0.14) + jekyll (>= 3.7, < 5.0) + jekyll-commonmark-ghpages (0.1.5) + commonmarker (~> 0.17.6) + jekyll-commonmark (~> 1) + rouge (~> 2) + jekyll-default-layout (0.1.4) + jekyll (~> 3.0) + jekyll-feed (0.11.0) + jekyll (~> 3.3) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.12.1) + jekyll (~> 3.4) + octokit (~> 4.0, != 4.4.0) + jekyll-mentions (1.4.1) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-optional-front-matter (0.3.0) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.2.0) + jekyll (~> 3.0) + jekyll-redirect-from (0.14.0) + jekyll (~> 3.3) + jekyll-relative-links (0.6.0) + jekyll (~> 3.3) + jekyll-remote-theme (0.3.1) + jekyll (~> 3.5) + rubyzip (>= 1.2.1, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.5.0) + jekyll (~> 3.3) + jekyll-sitemap (1.2.0) + jekyll (~> 3.3) + jekyll-swiss (0.4.0) + jekyll-theme-architect (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.5.3) + jekyll (~> 3.5) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.1.1) + jekyll (~> 3.5) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.1) + jekyll (~> 3.3) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.10.2) + gemoji (~> 3.0) + html-pipeline (~> 2.2) + jekyll (~> 3.0) + kramdown (1.17.0) + liquid (4.0.0) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + mercenary (0.3.6) + mini_portile2 (2.4.0) + minima (2.5.0) + jekyll (~> 3.5) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (5.11.3) + multipart-post (2.1.1) + nokogiri (1.10.3) + mini_portile2 (~> 2.4.0) + octokit (4.14.0) + sawyer (~> 0.8.0, >= 0.5.3) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + public_suffix (3.1.0) + rb-fsevent (0.10.3) + rb-inotify (0.10.0) + ffi (~> 1.0) + rouge (2.2.1) + ruby-enum (0.7.2) + i18n + ruby_dep (1.5.0) + rubyzip (1.2.3) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + thread_safe (0.3.6) + typhoeus (1.3.1) + ethon (>= 0.9.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + unicode-display_width (1.6.0) + +PLATFORMS + ruby + +DEPENDENCIES + github-pages + jekyll-redirect-from + +BUNDLED WITH + 1.17.2 diff --git a/docs/_config.yml b/docs/_config.yml index c4192631f..ee845eec8 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1 +1 @@ -theme: jekyll-theme-cayman \ No newline at end of file +theme: jekyll-theme-primer diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html new file mode 100644 index 000000000..df8bcabd3 --- /dev/null +++ b/docs/_layouts/default.html @@ -0,0 +1,39 @@ + + + + + + + +{% seo %} + + + +
+ {% if site.title and site.title != page.title %} +

{{ site.title }}

+ {% endif %} + + {{ content }} + + +
+ + + {% if site.google_analytics %} + + {% endif %} + + + diff --git a/docs/configuration.markdown b/docs/configuration.markdown new file mode 100644 index 000000000..65fe5788f --- /dev/null +++ b/docs/configuration.markdown @@ -0,0 +1,310 @@ +--- +title: Configuration | Wez's Terminal +--- + +## Configuration + +`wezterm` will look for a TOML configuration file in `$HOME/.config/wezterm/wezterm.toml`, +and then in `$HOME/.wezterm.toml`, stopping at the first file it finds. + +Configuration is currently very simple and the format is considered unstable and subject +to change. The code for configuration can be found in [`src/config.rs`](https://github.com/wez/wezterm/blob/master/src/config.rs). + +### Font Related Configuration + +The following options impact how text is rendered: + +```toml +# The font size, measured in points +font_size = 11 + +# The DPI to assume, measured in dots-per-inch +# This is not automatically probed! If you experience blurry text +# or notice slight differences when comparing with other terminal +# emulators, you may wish to tune this value! +dpi = 96 +``` + +The baseline font is configured via the `[[font.font]]` section: + +```toml +[[font.font]] +# The font family name. The default is "Menlo" on macOS, +# "Consolas" on Windows and "monospace" on X11 based systems. +# "Fira Code" to enjoy ligatures without buying an expensive font! +family = "Operator Mono SSm Lig Medium" +# Whether the font should be a bold variant +# bold = false +# Whether the font should be an italic variant +# italic = false +``` + +You may specify rules that apply different font styling based on +the attributes of the text rendered in the terminal. Rules are +applied in the order that they are specified in the configuration +file, stopping with the first matching rule. + +``` +# Define a rule that matches when italic text is shown +[[font_rules]] +# If specified, this rule matches when a cell's italic value exactly +# matches this. If unspecified, the attribute value is irrelevant +# with respect to matching. +italic = true + +# Match based on intensity: "Bold", "Normal" and "Half" are supported +# intensity = "Normal" + +# Match based on underline: "None", "Single", and "Double" are supported +# underline = "None" + +# Match based on the blink attribute: "None", "Slow", "Rapid" +# blink = "None" + +# Match based on reverse video +# reverse = false + +# Match based on strikethrough +# strikethrough = false + +# Match based on the invisible attribute +# invisible = false + + # When the above attributes match, apply this font styling + [font_rules.font] + font = [{family = "Operator Mono SSm Lig Medium", italic=true}] + +``` + +Here's an example from my configuration file: + +``` +# Select a fancy italic font for italic text +[[font_rules]] +italic = true + [font_rules.font] + font = [{family = "Operator Mono SSm Lig Medium", italic=true}] + +# Similarly, a fancy bold+italic font +[[font_rules]] +italic = true +intensity = "Bold" + [font_rules.font] + font = [{family = "Operator Mono SSm Lig", italic=true, bold=true}] + +# Make regular bold text a different color to make it stand out even more +[[font_rules]] +intensity = "Bold" + [font_rules.font] + font = [{family = "Operator Mono SSm", bold=true}] + foreground="tomato" + +# For half-intensity text, use a lighter weight font +[[font_rules]] +intensity = "Half" + [font_rules.font] + font=[{family = "Operator Mono SSm Lig Light" }] +``` + +### Misc configuration + +```toml +# How many lines of scrollback you want to retain per tab +scrollback_lines = 3500 + +# If no `prog` is specified on the command line, use this +# instead of running the user's shell. +# The value is the argument array, with the 0th element being +# the executable to run. The path will be searched to locate +# this if needed. +# For example, to have `wezterm` always run `top` by default, +# you'd use this: +default_prog = ["top"] + +# What to set the TERM variable to +term = "xterm-256color" + +# Constrains the rate at which output from a child command is +# processed and applied to the terminal model. +# This acts as a brake in the case of a command spewing a +# ton of output and allows for the UI to remain responsive +# so that you can hit CTRL-C to interrupt it if desired. +# The default value is 2MB/s. +ratelimit_output_bytes_per_second = 2097152 + +# Constrains the rate at which the multiplexer server will +# unilaterally push data to the client. +# This helps to avoid saturating the link between the client +# and server. +# Each time the screen is updated as a result of the child +# command outputting data (rather than in response to input +# from the client), the server considers whether to push +# the result to the client. +# That decision is throttled by this configuration value +# which has a default value of 10/s +ratelimit_mux_output_pushes_per_second = 10 + +# Constrain how often the mux server scans the terminal +# model to compute a diff to send to the mux client. +# The default value is 100/s +ratelimit_mux_output_scans_per_second = 100 +``` + +### Shortcut / Key Binding Assignments + +The default key bindings are: + +| Modifiers | Key | Action | +| --------- | --- | ------ | +| `SUPER` | `v` | `Paste` | +| `SHIFT` | `Insert` | `Paste` | +| `SUPER` | `m` | `Hide` | +| `SUPER` | `n` | `SpawnWindow` | +| `ALT` | `Enter` | `ToggleFullScreen` | +| `SUPER` | `-` | `DecreaseFontSize` | +| `CTRL` | `-` | `DecreaseFontSize` | +| `SUPER` | `=` | `IncreaseFontSize` | +| `CTRL` | `=` | `IncreaseFontSize` | +| `SUPER` | `0` | `ResetFontSize` | +| `CTRL` | `0` | `ResetFontSize` | +| `SUPER` | `t` | `SpawnTabInCurrentTabDomain` | +| `SUPER|SHIFT` | `T` | `SpawnTab` | +| `SUPER` | `w` | `CloseCurrentTab` | +| `SUPER` | `1` | `ActivateTab(0)` | +| `SUPER` | `2` | `ActivateTab(1)` | +| `SUPER` | `3` | `ActivateTab(2)` | +| `SUPER` | `4` | `ActivateTab(3)` | +| `SUPER` | `5` | `ActivateTab(4)` | +| `SUPER` | `6` | `ActivateTab(5)` | +| `SUPER` | `7` | `ActivateTab(6)` | +| `SUPER` | `8` | `ActivateTab(7)` | +| `SUPER` | `9` | `ActivateTab(8)` | +| `SUPER\|SHIFT` | `[` | `ActivateTabRelative(-1)` | +| `SUPER\|SHIFT` | `]` | `ActivateTabRelative(1)` | + +These can be overridden using the `keys` section in your `~/.wezterm.toml` config file. +For example, you can disable a default assignment like this: + +``` +# Turn off the default CMD-m Hide action +[[keys]] +key = "m" +mods = "CMD" +action = "Nop" +``` + +The `key` value can be one of the following keycode identifiers. Note that not +all of these are meaningful on all platforms: + +`Hyper`, `Super`, `Meta`, `Cancel`, `Backspace`, `Tab`, `Clear`, `Enter`, +`Shift`, `Escape`, `LeftShift`, `RightShift`, `Control`, `LeftControl`, +`RightControl`, `Alt`, `LeftAlt`, `RightAlt`, `Menu`, `LeftMenu`, `RightMenu`, +`Pause`, `CapsLock`, `PageUp`, `PageDown`, `End`, `Home`, `LeftArrow`, +`RightArrow`, `UpArrow`, `DownArrow`, `Select`, `Print`, `Execute`, +`PrintScreen`, `Insert`, `Delete`, `Help`, `LeftWindows`, `RightWindows`, +`Applications`, `Sleep`, `Numpad0`, `Numpad1`, `Numpad2`, `Numpad3`, +`Numpad4`, `Numpad5`, `Numpad6`, `Numpad7`, `Numpad8`, `Numpad9`, `Multiply`, +`Add`, `Separator`, `Subtract`, `Decimal`, `Divide`, `NumLock`, `ScrollLock`, +`BrowserBack`, `BrowserForward`, `BrowserRefresh`, `BrowserStop`, +`BrowserSearch`, `BrowserFavorites`, `BrowserHome`, `VolumeMute`, +`VolumeDown`, `VolumeUp`, `MediaNextTrack`, `MediaPrevTrack`, `MediaStop`, +`MediaPlayPause`, `ApplicationLeftArrow`, `ApplicationRightArrow`, +`ApplicationUpArrow`, `ApplicationDownArrow`. + +Alternatively, a single unicode character can be specified to indicate +pressing the corresponding key. + +Possible Modifier labels are: + + * `SUPER`, `CMD`, `WIN` - these are all equivalent: on macOS the `Command` key, + on Windows the `Windows` key, on Linux this can also be the `Super` or `Hyper` + key. Left and right are equivalent. + * `SHIFT` - The shift key. Left and right are equivalent. + * `ALT`, `OPT`, `META` - these are all equivalent: on macOS the `Option` key, + on other systems the `Alt` or `Meta` key. Left and right are equivalent. + +You can combine modifiers using the `|` symbol (eg: `"CMD|CTRL"`). + +Possible actions are listed below. Some actions require a parameter that is +specified via the `arg` key; see examples below. + +| Name | Effect | +| ------------------ | ------------------ | +| `SpawnTab` | Create a new local tab in the current window | +| `SpawnTabInCurrentTabDomain` | Create a new tab in the current window. The tab will be spawned in the same domain as the currently active tab | +| `SpawnTabInDomain` | Create a new tab in the current window. The tab will be spawned in the domain specified by the `arg` value | +| `SpawnWindow` | Create a new window | +| `ToggleFullScreen` | Toggles full screen mode for current window | +| `Paste` | Paste the clipboard to the current tab | +| `ActivateTabRelative` | Activate a tab relative to the current tab. The `arg` value specifies an offset. eg: `-1` activates the tab to the left of the current tab, while `1` activates the tab to the right. | +| `ActivateTab` | Activate the tab specified by the `arg` value. eg: `0` activates the leftmost tab, while `1` activates the second tab from the left, and so on. | +| `IncreaseFontSize` | Increases the font size of the current window by 10% | +| `DecreaseFontSize` | Decreases the font size of the current window by 10% | +| `ResetFontSize` | Reset the font size for the current window to the value in your configuration | +| `SendString` | Sends the string specified by the `arg` value to the terminal in the current tab, as though that text were literally typed into the terminal. | +| `Nop` | Does nothing. This is useful to disable a default key assignment. | +| `Hide` | Hides the current window | +| `Show` | Shows the current window | +| `CloseCurrentTab` | Equivalent to clicking the `x` on the window title bar to close it: Closes the current tab. If that was the last tab, closes that window. If that was the last window, wezterm terminates. | + +Example: + +```toml +# Turn off the default CMD-m Hide action +[[keys]] +key = "m" +mods = "CMD" +action = "Nop" + +# Macro for sending in some boiler plate. This types `wtf!?` each +# time CMD+SHIFT+W is pressed +[[keys]] +key = "W" +mods = "CMD|SHIFT" +action = "SendString" +arg = "wtf!?" + +# CTRL+ALT+0 activates the leftmost tab +[[keys]] +key = "0" +mods = "CTRL|ALT" +action = "ActivateTab" +# the tab number +arg = "0" + +# CMD+y spawns a new tab in Domain 1 +[[keys]] +key = "y" +mods = "CMD" +action = "SpawnTabInDomain" +# the domain ID +arg = "1" +``` + +### Colors + +You can configure colors with a section like this. In addition to specifying +SVG/CSS3 color names, you can use `#RRGGBB` to specify a color code using the +usual hex notation; eg: `#000000` is equivalent to `black`: + +```toml +[colors] +foreground = "silver" +background = "black" +cursor_bg = "springgreen" +ansi = ["black", "maroon", "green", "olive", "navy", "purple", "teal", "silver"] +brights = ["grey", "red", "lime", "yellow", "blue", "fuchsia", "aqua", "white"] +``` + +You can find a variety of color schemes [here](https://github.com/mbadolato/iTerm2-Color-Schemes). +There are two ways to use them with wezterm: + +* [The wezterm directory](https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/wezterm) contains + configuration snippets that you can copy and paste into your `wezterm.toml` file + to set the default configuration. +* [The dynamic-colors directory](https://github.com/mbadolato/iTerm2-Color-Schemes/tree/master/dynamic-colors) + contains shell scripts that can change the color scheme immediately on the fly. + This is super convenient for trying out color schemes, and can be used in + your own scripts to alter the terminal appearance programmatically. + + diff --git a/docs/features.markdown b/docs/features.markdown new file mode 100644 index 000000000..3e37b57ab --- /dev/null +++ b/docs/features.markdown @@ -0,0 +1,24 @@ +--- +title: Feature list | Wez's Terminal +--- + +## Available Features + +* Runs on Linux, macOS and Windows 10 +* Multiplex terminal tabs and windows on local and remote hosts, with native mouse and scrollback +* Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes. +* Hyperlinks +* Scrollback (use mouse wheel and `Shift-PageUp` and `Shift PageDown`) +* xterm style selection of text with mouse; paste selection via `Shift-Insert` (bracketed paste is supported!) +* SGR style mouse reporting (works in vim and tmux) +* Render underline, double-underline, italic, bold, strikethrough (most other terminal emulators do not support as many render attributes) +* Configuration via a configuration file +* Multiple Windows (Hotkey: `Super-N`) +* Tabs (Hotkey: `Super-T`, next/prev: `Super-[` and `Super-]`, go-to: `Super-[1-9]`) +* Connect to a local multiplexer server over unix domain sockets +* Conenct to a remote multiplexer using TLS over TCP/IP + +## Features for the Future + +* iTerm2 compatible image support +* Sixel graphics support diff --git a/docs/index.markdown b/docs/index.markdown index b42f7e024..b439b5a7d 100644 --- a/docs/index.markdown +++ b/docs/index.markdown @@ -2,7 +2,19 @@ title: Wez's Terminal --- -# Wez's Terminal +*A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust* + +Download + + +## Features + +* Runs on Linux, macOS and Windows 10 +* Multiplex terminal tabs and windows on local and remote hosts, with native mouse and scrollback +* Ligatures, Color Emoji and font fallback, with true color and dynamic color schemes. +* Hyperlinks +* a full list of features can be found here ![Screenshot](screenshots/one.png)