mirror of
https://github.com/wez/wezterm.git
synced 2024-12-23 05:12:40 +03:00
more docs stuff
This commit is contained in:
parent
82f70a2579
commit
452a0cdab4
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
.DS_Store
|
||||
/docs/_site
|
||||
/WezTerm*.zip
|
||||
/wezterm*.deb
|
||||
/pkg
|
||||
|
3
docs/Gemfile
Normal file
3
docs/Gemfile
Normal file
@ -0,0 +1,3 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'github-pages', group: :jekyll_plugins
|
||||
gem 'jekyll-redirect-from'
|
249
docs/Gemfile.lock
Normal file
249
docs/Gemfile.lock
Normal file
@ -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
|
@ -1 +1 @@
|
||||
theme: jekyll-theme-cayman
|
||||
theme: jekyll-theme-primer
|
||||
|
39
docs/_layouts/default.html
Normal file
39
docs/_layouts/default.html
Normal file
@ -0,0 +1,39 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ site.lang | default: "en-US" }}">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
{% seo %}
|
||||
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-lg px-3 my-5 markdown-body">
|
||||
{% if site.title and site.title != page.title %}
|
||||
<h1><a href="{{ "/" | absolute_url }}">{{ site.title }}</a></h1>
|
||||
{% endif %}
|
||||
|
||||
{{ content }}
|
||||
|
||||
<div class="footer border-top border-gray-light mt-5 pt-3 text-right text-gray">
|
||||
<a href="{{ site.github.repository_url }}">{{ site.github.repository_name }}</a> is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a>.
|
||||
</div>
|
||||
</div>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js"
|
||||
integrity="sha256-lZaRhKri35AyJSypXXs4o6OPFTbTmUoltBbDCbdzegg="
|
||||
crossorigin="anonymous"></script>
|
||||
<script>anchors.add();</script>
|
||||
{% if site.google_analytics %}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', '{{ site.google_analytics }}', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
{% endif %}
|
||||
</body>
|
||||
</html>
|
||||
|
310
docs/configuration.markdown
Normal file
310
docs/configuration.markdown
Normal file
@ -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.
|
||||
|
||||
|
24
docs/features.markdown
Normal file
24
docs/features.markdown
Normal file
@ -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
|
||||
* <a href="https://github.com/tonsky/FiraCode#fira-code-monospaced-font-with-programming-ligatures">Ligatures</a>, Color Emoji and font fallback, with true color and dynamic color schemes.
|
||||
* <a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda">Hyperlinks</a>
|
||||
* 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 <a href="configuration.html">configuration file</a>
|
||||
* 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
|
@ -2,7 +2,19 @@
|
||||
title: Wez's Terminal
|
||||
---
|
||||
|
||||
# Wez's Terminal
|
||||
*A GPU-accelerated cross-platform terminal emulator and multiplexer written by <a href="https://github.com/wez/">@wez</a> and implemented in <a href="https://www.rust-lang.org/">Rust</a>*
|
||||
|
||||
<a href="https://github.com/wez/wezterm/releases/latest" class="github-button"
|
||||
data-icon="octicon-cloud-download" data-size="large" aria-label="Download wez/wezterm on GitHub">Download</a>
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
## Features
|
||||
|
||||
* Runs on Linux, macOS and Windows 10
|
||||
* Multiplex terminal tabs and windows on local and remote hosts, with native mouse and scrollback
|
||||
* <a href="https://github.com/tonsky/FiraCode#fira-code-monospaced-font-with-programming-ligatures">Ligatures</a>, Color Emoji and font fallback, with true color and dynamic color schemes.
|
||||
* <a href="https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda">Hyperlinks</a>
|
||||
* <a href="features.html">a full list of features can be found here</a>
|
||||
|
||||
![Screenshot](screenshots/one.png)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user