1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-18 10:52:16 +03:00
Commit Graph

974 Commits

Author SHA1 Message Date
Jan Katins
ec31562b83 Fix update instruction for nightly macosx via brew
The update variant errored after rm the cask and I had to install the cask again.
2022-01-03 13:55:01 -08:00
Wez Furlong
0f3dcc2c2b docs: changelog for #1498 2022-01-03 12:54:50 -07:00
Wez Furlong
672187973b docs: changelog for #1483 2022-01-03 12:36:22 -07:00
Benoit de Chezelles
462a256e83 Add missing New in latest release's changelog 2022-01-03 07:04:01 -08:00
Wez Furlong
028026049d add window:dead_key_is_active window:leader_is_active
This commit adds a couple of helper methods that provide insight into
the state of the keyboard layer.

The intent is for users to add status information about the keyboard
state.

This commit also ensures that we schedule an update when the leader
key duration expires, and ensures that we close out the leader state
for an invalid key press.

refs: #686
closes: #688

```lua
local wezterm = require 'wezterm';

wezterm.on("update-right-status", function(window, pane)
  local leader = ""
  if window:leader_is_active() then
    leader = "LEADER"
  end
  local dead = ""
  if window:dead_key_active() then
    dead = "DEAD"
  end
  window:set_right_status(leader .. " " .. dead)
end);

return {
  leader = { key="a", mods="CTRL" },
  colors = {
    dead_key_cursor = "orange",
  },
}
```
2022-01-02 19:41:21 -07:00
Wez Furlong
c29212be49 add colors.dead_key_cursor to signal dead and leader key processing
When set, the cursor will change to this color during dead key
or leader key processing.

```lua
return {
  colors = {
    dead_key_cursor = "orange",
  },
}
```

refs: #686
refs: #688
2022-01-02 17:49:32 -07:00
Wez Furlong
2d62bffe41 window: fix CTRL+C with Russian keyboard on windows
Turns out that we had the same issue on Windows

refs: #678
2022-01-02 16:50:26 -07:00
Wez Furlong
43d9392c52 window: x11/wayland: extract utf8 version of key from key state
Previously, we'd take a couple of guesses at how to map the key
to a utf8 value, but! the keyboard state has a method that can tell
us what to use.

This is important in non-latin keymaps where, for example, the `c`
key generates cyrillic small letter es and we'd end up sending
CTRL + that through to the terminal when CTRL is held down.

If we get the utf8 string from the keyboard layer then we get
CTRL+c instead, and that is what we want.

refs: https://github.com/wez/wezterm/issues/678
2022-01-02 11:16:52 -07:00
Wez Furlong
c05491f831 fonts: fix fontconfig monospace alias resolution
This got broken by 58ece29f00
This commit structures things so that we're less likely to overlook
this in the future!

cc: @unrelentingtech

refs: #1250
2022-01-02 08:26:19 -07:00
Wez Furlong
cd8754ae6e docs: link to get_builtin_color_schemes from color scheme section 2022-01-01 18:11:59 -07:00
Wez Furlong
487ee976de docs: note about kitty image protocol on features page 2022-01-01 17:58:58 -07:00
Wez Furlong
4238488a9b docs: suggest that people use default_gui_startup_args
instead of connect_automatically
2022-01-01 17:41:52 -07:00
Wez Furlong
6502aa54d6 docs: more adjustments for fancy tabs 2022-01-01 17:35:27 -07:00
Wez Furlong
24840f7e13 docs: add some info about fancy tab bars 2022-01-01 17:14:33 -07:00
Wez Furlong
2d303ec54c docs: update for 20220101-133340-7edc5b5a release 2022-01-01 13:36:37 -07:00
Wez Furlong
f2c0407775 docs: fix typo in changelog 2022-01-01 12:49:05 -07:00
Wez Furlong
0bcd770102 docs: note about get_current_working_dir on windows 2022-01-01 09:18:22 -07:00
Wez Furlong
43dff29391 Sync with iTerm2-Color-Schemes
Sync with:
555db64e47

and update the screenshots for the docs
2021-12-31 10:43:30 -07:00
Wez Furlong
52c198ab8c x11: default use_ime=true, add xim_im_name option 2021-12-31 09:55:17 -07:00
Wez Furlong
143f7c9acc macos: detect when IME swallows a key press (eg: F8, F9)
Certain keys are "handled" by the IME through it generating a "noop"
command.

That's not super useful for us, so this commit detects the noop case
and then treats it as though the IME didn't handle the input event.

While implementing the above fix, I realized that the same technique
could be used more generally to return processing to our main input
handling for the various selectors that we do recognize: we were
essentially inferring the original key combinations based on the
selector which is not scalable and potentially lossy.

We can't capture CTRL-ESC this same way, as that key combination
is magical and is routed to the callback without generating any
key events.

refs: https://github.com/wez/wezterm/issues/615
refs: https://github.com/wez/wezterm/issues/975
refs: https://github.com/wez/wezterm/pull/1410
2021-12-30 22:50:26 -07:00
Wez Furlong
e3afdd7b8f macos: normalize Composed("p") -> Char('p') when use_ime=true
When the IME is enabled, pressing `CTRL-A P` would generate
`Composed("P")` for the second key press, which we couldn't
then match in the keymapping layer.

This commit checks for that and normalizes it to `Char('P')`
instead.

refs: https://github.com/wez/wezterm/issues/1409
refs: https://github.com/wez/wezterm/issues/1410
2021-12-30 21:36:25 -07:00
Wez Furlong
99d73baba7 docs: changelog for https://github.com/wez/wezterm/issues/1474 2021-12-30 09:37:40 -07:00
Wez Furlong
f175c5f6c0 add wezterm.get_builtin_color_schemes() 2021-12-29 09:20:12 -07:00
Wez Furlong
494a0983ee gui: cache shaping and layout of fancy tab bar, allow placing at bottom
We only need to recompute when the tab content changes, or when
the window is resized, plus invalidations of the shape cache
of texture atlas filling up.

Hover events don't need to re-shape.

We can now also place the tab bar at the bottom of the screen again.
2021-12-28 12:29:54 -07:00
Wez Furlong
6ac6ac45b6 lua: add pane:get_logical_lines_as_text
refs: #1468
2021-12-28 08:04:41 -07:00
Wez Furlong
8c7072c5ef gui: flesh out test case for wsl -l -v
closes: https://github.com/wez/wezterm/issues/1462
2021-12-27 10:39:26 -07:00
Wez Furlong
790b515c21 gui: allow mouse wheel to route to hovered pane
refs: https://github.com/wez/wezterm/issues/798
2021-12-25 15:37:14 -07:00
Wez Furlong
c4257ab8d6 config: fix asymmetric serialization of keycode and modifiers
This adds string serialization for the keycode and modifiers as
used in the config.

We can't simply tell the base types to serialize in this form because
we may serialize and pass those via the mux protocol and the default
derived serializers are more efficient for that purpose.

This allows:

```lua
local wezterm = require 'wezterm'

return {
  keys = {
    {key="a", mods="ALT", action=wezterm.action{SendKey={key="b"}}}
  },
}
```

to parse: previously, wrapping `SendKey` in `wezterm.action` would fail
to round-trip the the `SendKey` and lead to an error loading the
config.
2021-12-25 12:11:59 -07:00
Wez Furlong
8eb7c3cff4 gui: fancy tab bars are now the default
Adjust the rendering and coloring a bit to make the defaults
look pretty reasonable.

refs: #1180
2021-12-24 16:23:01 -07:00
Wez Furlong
e3be779477 docs: add basename to get_foreground_process_name examples
refs: #1421
2021-12-24 13:09:31 -07:00
Wez Furlong
a38757ef3b mux: improve process leader heuristics on windows
refs: #1417
2021-12-24 07:21:00 -07:00
Wez Furlong
bd6072b320 avoid default_prog, default_cwd when spawning panes via ssh
refs: https://github.com/wez/wezterm/issues/1456
2021-12-23 23:24:42 -07:00
Wez Furlong
98ff4ff903 docs: note about kitty image protocol support 2021-12-23 21:29:12 -07:00
Wez Furlong
225d15c9aa ActivatePaneDirection now supports Next and Prev
This allows cycling through all the panes in a tab

refs: #976
2021-12-23 21:00:26 -07:00
Wez Furlong
c96c36fb6e docs: explain how to build without Wayland support
refs: https://github.com/wez/wezterm/discussions/1455
2021-12-23 20:30:46 -07:00
Wez Furlong
1d064e0913 Add get_foreground_process_name, expose it and cwd in PaneInformation
Add `get_foreground_process_name` to both Pane and the lua wrapper.

Add `foreground_process_name` and `current_working_dir` fields to
`PaneInformation`.  In order for those to be dynamically fetched,
switch the lua conversion for `PaneInformation` to be a UserData
with field access methods.  It's a little more verbose but allows
us to lazily compute these two new fields.

refs: https://github.com/wez/wezterm/discussions/1421
refs: https://github.com/wez/wezterm/issues/915
refs: https://github.com/wez/wezterm/issues/876
2021-12-23 18:49:17 -07:00
Wez Furlong
38087755e1 quickselect: allow changing label for custom actions 2021-12-23 16:32:20 -07:00
Wez Furlong
b1c58b9376 docs: changelog for #1422
closes: #1422
2021-12-23 14:03:39 -07:00
Wez Furlong
0e6c75c026 allow left-button-release to copy to selection when shift is held
This is really a timing issue: if shift-click extension of the mouse
selection is used, the user may release the mouse button slightly
after the SHIFT key (which is fine) or vice versa (which was not
previously matched)

refs: #1204
2021-12-23 12:33:51 -07:00
Wez Furlong
668d41ad5d quickselect: add QuickSelectArgs and helpers for opening urls
This commit expands quick select mode so that you can trigger it
with distinct sets of patterns (eg: urls on one key assignment,
hashes on a different key assignment), different alphabets,
and lastly, the option to perform a different action from
the default copy action.

You can pair this with `action_callback` to run lua code to
do something with the selected text.

This commit also adds `wezterm.open_with`, a helper function
for opening documents/URLs.

refs: #846
refs: #1362
2021-12-23 10:55:44 -07:00
Wez Furlong
6a265d9f72 new ActivateTabRelativeNoWrap key assignment
refs: #1414
2021-12-23 09:32:49 -07:00
Wez Furlong
4c04de551f docs: changelog for gamma issues
It's somewhat amusing that the both being too dark and too bright
were the same bug in different directions.

closes: https://github.com/wez/wezterm/issues/1373
closes: https://github.com/wez/wezterm/issues/1025
2021-12-22 22:42:16 -07:00
Wez Furlong
5a60bddba7 logo: switched to alternate logo
refs: https://github.com/wez/wezterm/pull/1454
refs: https://github.com/wez/wezterm/discussions/1142
2021-12-22 20:04:44 -07:00
Wez Furlong
1c9b9f69e0 gui: simplify some text cursor rendering
Remove special case for blocks where we switched it out for a blank
sprite and instead varied the cell background.

We now always render a matching cursor sprite as a separate layer
over the top of the text background color, but below the text
foreground layer.

This is preparing for https://github.com/wez/wezterm/issues/1432

Make bar/line cursors use the text foreground color when reverse
video cursors are enabled, per @VKondakoff:
https://github.com/wez/wezterm/issues/1076#issuecomment-978214136
2021-12-21 22:49:52 -07:00
Wez Furlong
b40f65c25e termwiz: s/Fuschia/Fuchsia/g
closes: #1407
2021-12-21 20:38:59 -07:00
Romain Heller
882bc0f0fc Typo : « miss symbol , » & « missed symbol } »
A quick fix for the config file :-)
Thanx for the work, it's inspiring !
2021-12-21 15:20:20 -08:00
Evgeny
123cb6dccb docs: add a keyword to help find an option
'tab index' doesn't find this due to the '_' characters, so I've added a phrase without them
2021-12-21 08:06:21 -08:00
Wez Furlong
a94c531303 docs: changelog for #1440 2021-12-21 07:57:25 -07:00
Wez Furlong
2406488168 docs: missing language type from code block 2021-12-20 22:01:53 -07:00
Wez Furlong
dd150131b7 fonts: allow setting harfbuzz and freetype options per-font
`wezterm.font` and `wezterm.font_with_fallback` can now specify
harfbuzz_features and freetype load/render target and flags as
options on a per-font basis.

This allows you to do things such as adjust shaping (eg: ligatures) or
rendering (eg: disable bitmaps, or adjust hinting) for a single font in
a fallback rather than globally for all fonts.
2021-12-20 21:56:59 -07:00
Wez Furlong
1203dff277 termwiz: fix 10bpc color bug. Allow hsl color specs
This commit teaches `RgbColor::from_rgb_str` to support
colors in the form `hsl:235 100 50`, an HSL colorspace
color specification.

While banging my head on why my test wasn't passing, I realized
that this was producing 10 bpc color and the code to convert
those to RGB was incorrectly multiplying conversion terms!

refs: https://github.com/wez/wezterm/issues/1436
2021-12-20 10:17:52 -07:00
Evgeny
acbb99f07d docs: fix a typo 2021-12-20 07:27:32 -08:00
Wez Furlong
baf879f4f8 upgrade freetype to 2.11.1
refs: #1419
2021-12-20 08:22:34 -07:00
Wez Furlong
e9f1297b45 mux: improve Window closing behavior
Finally getting around to fixing this usability wart: this commit
changes the behavior of Window closing so that you can close a window
containing multiplexer panes without prompting and without killing
off those panes.

This is achieved through some plumbing:

* The mux can now advise Domains about an impending window closure,
  giving them the opportunity to "do things" in readiness.
* The mux client domain informs the container ClientPane instances
  to ignore the next Pane::kill call, which would otherwise inform
  the mux server to kill the remote pane
* Pane:can_close_without_prompting now requires a CloseReason.
* ClientPane's can_close_without_prompting impl allows Window closing
  without prompting on the assumption that the ignore-next-kill hack
  above is working

refs: #848
refs: #917
refs: #1224
2021-12-19 09:07:11 -07:00
Wez Furlong
6b33b8cd8d docs: note about TLS domain SSH bootstrapping fixes 2021-12-18 22:49:25 -07:00
Wez Furlong
04af58f135 docs: changelog for #1402
closes: #1402
2021-12-18 22:43:07 -07:00
Wez Furlong
ea46967e2d mux: understand process tree, add mux-is-process-stateful event
This commit adds plumbing to support mapping the process tree to
lua objects which in turn allows a new `mux-is-process-stateful`
event to be defined by the user for finer control over closing
prompt behavior.

refs: #1412
2021-12-18 09:46:00 -07:00
Evgeny
d28d2ca98d docs: fix a typo 2021-12-17 08:07:26 -08:00
eugenesvk
e7ada56c48 docs: replace AltDrag with AltSnap
AltDrag is old (latest release in 2015) and unusable with WezTerm (too much lag), AltSnap is the maintained fork that works with only a little hiccup
2021-12-15 10:12:53 -08:00
eugenesvk
65250fbf38 docs: make 'borderless' searchable 2021-12-15 06:45:54 -08:00
Wez Furlong
1f958fa1de docs: fixup next/prev tab info on features page
closes: #1395
2021-12-13 09:16:02 -07:00
Wez Furlong
ada35ff3db gui: improve handling of dpi changes especially during window creation
This fixes up the Windows issue, but I wonder if it also helps with the
mac issue?

refs: https://github.com/wez/wezterm/issues/1039
refs: https://github.com/wez/wezterm/issues/1381
2021-12-12 09:27:37 -07:00
Wez Furlong
0a3c557845 docs: redirect people from GH docs dir to website
refs: #1390
2021-12-12 07:54:01 -07:00
Wez Furlong
20e424f54b add default_gui_startup_args config
closes: https://github.com/wez/wezterm/issues/1030
2021-12-11 23:18:22 -07:00
Wez Furlong
e352c40905 ssh domains now support ssh_config overrides
closes: https://github.com/wez/wezterm/issues/1149
2021-12-11 22:30:54 -07:00
Wez Furlong
66908eabb4 add ScrollToTop and ScrollToBottom key assignments
refs: https://github.com/wez/wezterm/issues/1360
2021-12-11 22:02:31 -07:00
Wez Furlong
88688e32c7 update harfbuzz to 3.2.0 2021-12-11 20:36:53 -07:00
Wez Furlong
1ce261f7a9 mux: add proxy_command to unix_domains
Potentially enables using the mux with WSL 2 on Windows,
although this commit was authored and tested on a mac.
2021-12-11 17:29:37 -07:00
Wez Furlong
fa70a50af4 docs: changelog for #1310 and #1140 2021-12-11 15:45:36 -07:00
Wez Furlong
b30d735341 docs: changelog for https://github.com/wez/wezterm/issues/1197 2021-12-11 15:42:26 -07:00
Wez Furlong
9002bb241f docs: changelog for #1270, #1300 2021-12-11 10:54:18 -07:00
Wez Furlong
7b402678e4 gui: fix initial pixel geometry on hidpi displays
refs: #1387
2021-12-10 09:20:41 -07:00
Wez Furlong
f11f2c72a3 fix: wezterm cli --no_auto_start switch had no effect
I upgraded Rust and it told me this field of the args
was never read; this commit plumbs that through!
2021-12-10 08:14:05 -07:00
Wez Furlong
852e88a3cc docs: show how to install via winget
refs: #1384
2021-12-09 22:29:20 -07:00
Wez Furlong
348ddcb122 quickselect: de-dup labels
refs: #1271
2021-12-09 09:50:32 -07:00
Wez Furlong
b9aec2fcad tabbar: fix double wide characters in tab titles
refs: #1371
2021-12-09 08:34:19 -07:00
Wez Furlong
4dd014b14e macos: enable rounded corners when title is disabled
refs: https://github.com/wez/wezterm/issues/1034
2021-12-08 21:44:21 -07:00
Wez Furlong
8d3b9e55c9 docs: update macos homebrew instructions
closes: #1374
2021-12-08 08:50:04 -07:00
Wez Furlong
66c3b05f53 docs: changelog for #1376 2021-12-08 08:31:22 -07:00
Wez Furlong
89d94e1a07 docs: changelog for https://github.com/wez/wezterm/pull/1377 2021-12-08 08:28:33 -07:00
Wez Furlong
5fe24666fa docs: revise brew cask instructions
Thanks to @StreakInTheSky for figuring out how to disambiguate
this from the lagging brew cask.

refs: https://github.com/wez/wezterm/issues/1374
2021-12-06 17:05:35 -07:00
Wez Furlong
15dcfa4c48 docs: changelog for https://github.com/wez/wezterm/issues/1365 2021-12-05 20:21:18 -07:00
Wez Furlong
54f1914cce docs: changelog for windows/mux fixes 2021-12-05 19:24:59 -07:00
Wez Furlong
2457eeea18 Windows: fix spawning wezterm-gui
The attach-parent-console should go before any other arguments.

refs: #1278
2021-12-05 07:03:52 -08:00
Wez Furlong
889fbf0899 docs: remove ubuntu16 from downloads (EOL) 2021-12-04 18:37:44 -07:00
Wez Furlong
3e672d7152 docs: fixup some more appimage links 2021-12-04 18:36:48 -07:00
Wez Furlong
f413ce4801 docs: fix stable appimage download link 2021-12-04 18:34:10 -07:00
Wez Furlong
0ada2d7fc3 docs: fix typo 2021-12-04 10:22:03 -07:00
Wez Furlong
56c2b823ab docs: update changelog for release 2021-12-04 10:21:25 -07:00
Wez Furlong
56c3a56f46 docs: update nightly refs to new release tag 2021-12-04 08:34:58 -07:00
Wez Furlong
a66c61ee99 docs: changelog for https://github.com/wez/wezterm/issues/1279
closes: https://github.com/wez/wezterm/issues/1279
2021-12-04 08:22:13 -07:00
Wez Furlong
4b71d41c5a docs: changelog for #1256 2021-12-04 08:19:03 -07:00
Wez Furlong
2509e7bd67 docs: minor adjustments to ssh docs
Link to the new ssh backend config option and adjust the wording
slightly around libssh2.
2021-12-03 09:01:13 -07:00
Wez Furlong
20475ab32e docs: fix typo in changelog 2021-12-03 08:56:09 -07:00
Wez Furlong
6c26b9e524 docs: changelog for code signing on macos
closes: https://github.com/wez/wezterm/issues/482
2021-12-02 21:33:04 -07:00
Wez Furlong
d8864696c7 docs: changelog for https://github.com/wez/wezterm/pull/1338 2021-12-02 21:25:55 -07:00
Rashil Gandhi
9ef77ab2d8 Update Clink hyperlink to newer version 2021-11-27 08:11:40 -07:00
Wez Furlong
8e864c16e1 docs: changelog for #1278
closes: #1278
2021-11-25 12:30:41 -07:00
Wez Furlong
d69df605cd Add escape sequence to control unicode version
As promised in the previous commit, this one implements an escape
sequence to control the unicode version.

Unknown to me in the previous commit, iTerm2 already defines such
an escape sequence, so we simply implement it here with the same
semantics.

refs: #1231
refs: #997
2021-11-25 12:12:52 -07:00
Wez Furlong
bf9a95ea1b remove our incomplete allsorts shaper implementation
We rely on using freetype in order to support more fonts in more
situations, and we have a deeper existing integration with harfbuzz.

I'm unlikely to come back to allsorts to complete our integration,
and in the meantime, it just adds overhead to build/test and those
builds are taking longer and longer.

I loved the idea of using pure rust for all the font stuff, but
its time is not now.

closes: #587
closes: #66
2021-11-23 05:43:13 -07:00
Wez Furlong
a006f9a119 docs: changelog for #1330 2021-11-21 08:51:53 -07:00
Manpreet Singh
e7b8c7e8b8
Fedora 35 builds (#1323)
* Fedora 35

* Update docs/install/linux.markdown

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2021-11-15 17:33:38 -08:00
Wez Furlong
f3a2e841ca allow using relative cwd for wezterm cli subcommands
refs: #1243
2021-11-13 21:00:09 -07:00
Wez Furlong
da3296892e docs: changelog for #1301 2021-11-13 12:44:51 -07:00
Jonathan
e9ed2b4d3e
Unzoom when switching panes (#1301)
* mux: unzoom when switching panes

Add `unzoom_on_switch_pane` config option:

When switching to another pane with ActivatePaneDirection, if the
current pane is zoomed, unzoom and then switch instead of doing nothing.

* Apply suggestions from code review

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2021-11-13 11:43:15 -08:00
Wez Furlong
30ab6f2026 docs: changelog for #1311 2021-11-13 09:34:58 -07:00
Wez Furlong
4225610c09 add config option to enable resize increments, disable by default
refs: #1254
refs: #1289
2021-11-09 08:30:58 -07:00
Wez Furlong
1ec7e10c19 fonts: ls-fonts now handles system fallback lists, adds Menlo on macos
It appears as though Menlo is the only font on macos to contain the
heavy ballot cross symbol, which is commonly used on macos (eg: in
`brew` output).

Our fallback list, despite starting with Menlo, didn't include menlo
itself in the candidates.

Furthermore, `ls-fonts` wouldn never see the result of the system
fallback resolution because it didn't know to try again, and was
using the list of handles from before the fallback.

This commit resolves all of these concerns.

refs: #849
2021-11-08 22:49:52 -07:00
Wez Furlong
2dc3db7648 docs: changelog for #1249 2021-11-03 07:01:27 -07:00
Andrew V. Jones
81aaab2c1f Add an FAQ entry documenting wezterm's use font shaping/ligatures #1264
Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2021-10-25 14:34:46 -07:00
Wez Furlong
c1a766404c config: add ssh_backend config, and default to libssh
refs: #1014
2021-10-21 07:16:42 -07:00
Wez Furlong
24875004f6 add canonicalize_pasted_newlines config option
refs: #1213
2021-10-17 13:14:16 -07:00
Wez Furlong
3b12aa1038 mux: mux_env_remove config to control which env var are removed
closes: #1225
2021-10-17 12:46:16 -07:00
Wez Furlong
32d18905cc Add wezterm.background_child_process 2021-10-17 10:37:47 -07:00
Wez Furlong
cf58d5b696 docs: add categories to changelog
Just a quick first-pass for @bew :-)
2021-10-17 10:14:25 -07:00
Wez Furlong
c3c7ac3a58 docs: changelog for #1222 2021-10-17 10:05:05 -07:00
Wez Furlong
e7fc5f0e9e fix: whole tab terminated when only zoomed pane exited
closes: https://github.com/wez/wezterm/issues/1235
2021-10-17 08:34:35 -07:00
Wez Furlong
52d18d4564 docs: changelog for *BSD toast notifications
https://github.com/wez/wezterm/issues/489
2021-10-10 17:20:36 -07:00
Wez Furlong
854ea8f2d1 change default window padding
This makes the default terminal config look a little nicer.
2021-10-08 20:38:28 -07:00
Wez Furlong
8c3477006f Allow using unit like "1cell" or "5%" for window_padding
This commit introduces the `Dimension` type which allows specifying
a value in a variety of units; pixels, points, cells, percent.

`Dimension` needs contextual information to be evaluated as pixel
values, which makes resolving the value from the config slightly
more of a chore.

However, this type allows more flexible configurations that scale
with the font size and display dpi.

refs: #1124, #291, #195
2021-10-07 19:26:22 -07:00
Wez Furlong
e25deaaed1 fonts: align emoji fonts with the primary font baseline
refs: #1203
2021-10-05 22:01:21 -07:00
Wez Furlong
4eef20320d search: auto-update when the pane content changes
refs: https://github.com/wez/wezterm/issues/1205
2021-10-05 20:17:45 -07:00
Wez Furlong
87ea33f2f8 partially revert ligature cursor fix
refs: #478
2021-10-05 19:46:36 -07:00
follower
6d26a84cf1 Typo fix: "boudaries" -> "boundaries" 2021-10-05 07:02:41 -07:00
Wez Furlong
fae5435824 fix incorrect fg color when cursoring over ligatured glyph
More of a "fix"; we use some heuristics based on the bearing
and glyph width to figure out if a sequence looks like a funky
ligature that moves left to render the glyph.

This may be prone to false positives, but the consequences are low:
when we think a glyph is part of a ligature, then rather than using
the cursor_fg color (which is typically black, or close to invisible),
we retain the normal text fg color.

This way the portion of the glyph outside of the cursor retains its
foreground color, and just the cell containing the cursor may have
a slightly funky fg color in the case where the heuristic was bad.

closes: #478
2021-10-04 17:35:54 -07:00
Wez Furlong
3ab08107cf docs: fix typo in changelog 2021-10-03 10:46:25 -07:00
Wez Furlong
c21c1e2857 docs: fixup Nop example
The description of Nop was incorrect; it was describing
DisableDefaultAssignment.  Just make this bit use the same
example from DisableDefaultAssignment's docs.
2021-10-03 09:18:41 -07:00
Wez Furlong
fc3f6cb9ce docs: slightly clarify key assignment docs
refs: #1190
2021-10-03 09:10:04 -07:00
Wez Furlong
6eb6fd6088 docs: flesh out use_ime docs
closes: #1188
2021-10-03 08:46:13 -07:00
Wez Furlong
8da9196491 ssh: Host is space delimited, not comma delimited
closes: #1196
2021-10-03 08:09:04 -07:00
Wez Furlong
401719fb01 fonts: improve cap-height and use_cap_height_to_scale_fallback_fonts
We now compute the cap-height from the rasterized glyph data.

Moved the scaling action of use_cap_height_to_scale_fallback_fonts from
glyphcache into the font resolver: when enabled, and we have data
about the baseline font and the font being resolved, then the resolving
font will be scaled such that the cap-height of both fonts has the same
pixel size.

The effect of this is that `I` glyphs from both fonts should appear to
have the same height.

Added a row of `I`'s in differing styles at the bottom of styles.txt
to make this easier to visualize.

refs: #1189
2021-10-02 18:23:51 -07:00
follower
c51c282ad8 Typo fix: "overriden" -> "overridden" 2021-10-02 14:33:06 -07:00
follower
4296775e63 Fix copypasta error: "slow"->"rapid". 2021-10-02 14:32:31 -07:00
Wez Furlong
d3c748e18f fonts: enable matching against bitmap strike sizes
This is to handle situations such as some versions of the Terminus
bitmap font, where the individual bitmap strike sizes are broken
out across multiple individual files.

Font matching now passes down the nominal pixel height based on
the current DPI and font scale factor, and will use that to select
the font file that has the closest pixel size.

Previously, it would be potentially undefined which of the Terminus
font files would be selected.

refs: https://github.com/wez/wezterm/issues/1189
2021-10-02 09:33:55 -07:00
Wez Furlong
ca89181098 bell: allow changing the cursor color when the bell is rung
I find this less distracting than both the audible and the default
background color flashing.
2021-09-29 08:02:34 -07:00
Wez Furlong
3566b82458 add wezterm connect --class option 2021-09-29 07:15:25 -07:00
Wez Furlong
14fb432529 docs: cross link the bell related configs
refs: #3
2021-09-26 19:01:58 -07:00
Wez Furlong
70ab5e7712 implement beeps for Windows
refs: #3
2021-09-26 13:50:57 -07:00
Wez Furlong
72cb110b65 add audible_bell config option
This allows using the system beep sound, currently only on macos.

refs: #3
2021-09-26 12:55:19 -07:00
Wez Furlong
7efb6e8df9 ci: remove fedora 31 and 32, which are EOL 2021-09-25 17:56:49 -07:00
Wez Furlong
5c978ab9bc docs: tweak choco install instructions 2021-09-25 17:32:54 -07:00
Cory Knox
1f73f80607 Add Chocolatey as an install option 2021-09-25 17:32:16 -07:00
Wez Furlong
90dab9723f docs: changelog for #1151 2021-09-25 15:44:09 -07:00
Benoit de Chezelles
1f9a213e2c Update docs/config/lua/wezterm/action_callback.md
Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2021-09-25 15:42:08 -07:00
Benoit de Chezelles
317772fe8f lua: Add wezterm.action_callback to help define key callbacks 2021-09-25 15:42:08 -07:00
Wez Furlong
0c1ad718d0 add visual bell
refs: #3
2021-09-25 12:40:22 -07:00
Wez Furlong
e287474973 fonts: fix a spacing issue for Goho OTB font
This font is a bit funky; the bitmap strikes are only 4px wide:

```
; ftdump gohufont.otb
There is 1 face in this file.

----- Face number: 0 -----

font name entries
   family:              Gohu GohuFont
   style:               Regular
   postscript:          UNAVAILABLE
   created:             1904-01-01
   modified:            1904-01-01
   revision:            1.00
   glyph count:         1694

font type entries
   FreeType driver:     truetype
   sfnt wrapped:        yes
   type:                fixed size
   direction:           horizontal
   fixed width:         no
   glyph names:         no

fixed size
     0: height 11, width 3
        size 11.000, x_ppem 11.000, y_ppem 11.000
     1: height 14, width 4
        size 14.000, x_ppem 14.000, y_ppem 14.000

charmaps (1)
   0: format  4, platform 3, encoding  1   language 0 (active)
```

but using that the cell size isn't right.

We draw from the metrics we compute via cell_metrics to get more
information; we don't get a valid height from that (just 0!), but
we do get the much more plausible width of 8 pixels.

So we take the max of the two techniques for figuring the metrics.

That appears to work out, and also doesn't appear to break emoji
fonts.

refs: #1165
2021-09-25 08:57:26 -07:00
Wez Furlong
f648d8a6a5 deps: Upgrade to freetype 2.11 2021-09-25 00:43:23 -07:00
Wez Furlong
2337c06c0f gui: new bell event for running lua when the bell is rung
This commit adjusts the the window event routing/queuing so that
a queued event can capture a pane_id other than the focused pane.

Since we only allow one queued instance of a given named event in a
window, a consequence of this is that multiple bell events coming
from different panes at the same time may race and the loser's
event will be dropped. We log a warning in that case.

refs: #3
2021-09-23 08:22:01 -07:00
Wez Furlong
b19162b995 docs: changelog for https://github.com/wez/wezterm/issues/1162
closes: #1162
2021-09-22 21:54:54 -07:00
Wez Furlong
e76e79c104 docs: update for Ubuntu16 no longer being available 2021-09-22 21:40:07 -07:00
Wez Furlong
0ee1f7529b fonts: Fix shaping metrics
This was a bit of a PITA to run down; the essence of the problem
was that the shaper was returning an x_advance of 0 for U+3000,
which caused wezterm's shaping layer to elide that glyph.

I eventually tracked down the x_advance to be the result of
scaling by an x_scale of 0, which in turn is the result of
harfbuzz not knowing the font size.

The critical portion of this diff is the line that advises
harfbuzz that the font has changed after we've applied the
font size.

The rest is just stuff to make it easier to debug and verify.

This:

```
printf "x\u3000x."
```

Now correctly renders on screen as "x  x".

fixes: #1161
2021-09-22 08:34:40 -07:00
Wez Furlong
1ec7c3843d docs: update incremental resize for #1133 wayland 2021-09-21 08:20:53 -07:00
Wez Furlong
c15f17b36b docs: add zle combining chars issue to FAQ
refs: #1157
2021-09-21 07:54:03 -07:00
Wez Furlong
2e12d3bf60 docs: changelog for #1144 2021-09-19 16:01:28 -07:00
Wez Furlong
b16f584866 deps: harfbuzz -> 3.0.0 2021-09-18 09:04:23 -07:00
Benoit de Chezelles
6949430cb1 docs: Ensure Ctrl-Shift-Space binding is readable 2021-09-15 16:47:35 -07:00
Wez Furlong
82cf33e0ab .debs now provide x-terminal-emulator
refs: #1139
2021-09-13 08:36:58 -07:00
Wez Furlong
140d9fd345 fix font matching issue with .ttcs holding multiple families
refs: #1137
2021-09-12 13:31:21 -07:00
Wez Furlong
53eea54fed docs: changelog for #1132 2021-09-12 09:55:07 -07:00
Frieder Bluemle
3f4ea691af Add additional tab activation key assignments 2021-09-12 09:52:11 -07:00
Wez Furlong
c870c73dbe deps: update harfbuzz to 2.9.1 2021-09-09 09:01:42 -07:00
Wez Furlong
8282faf31f window: allow specifying window resize increments on macos and x11
This commit introduces a mechanism for specifying resize increments
for a window, and then arranges for the termwindow to set those
to match the current font cell metrics.

This should help to avoid cases where there is excess padding pixels
resulting from the window being slightly larger than computed number
of cells and the font metrics.
2021-09-08 22:57:42 -07:00
Wez Furlong
3e8e0aa7f4 docs: changelog for https://github.com/wez/wezterm/pull/1127 2021-09-08 17:47:20 -07:00
Wez Furlong
bd9b964106 docs: changelog for #1126 2021-09-08 17:40:25 -07:00
Wez Furlong
8eefe7a764 docs: changelog for #1074
closes: #1074
2021-09-08 09:43:19 -07:00
Wez Furlong
9fe11669fd docs: changelog for #1120 2021-09-08 09:34:49 -07:00
Wez Furlong
27153e1cea docs: changelog for #1122, #1123 2021-09-08 09:28:36 -07:00
Wez Furlong
95638e0864 docs: explain why we need Windows 10+ 2021-09-07 09:18:11 -07:00
Wez Furlong
aa61a6b065 gui: force cursor to be visible in copy mode
It appears as though kakoune hides the terminal cursor and renders
its own version of the cursor.

The hidden state was being picked up by the copymode overlay,
making it awkward to use.

This commit forces the cursor to be visible (and a block) when
copy mode is active.

closes: #1113
2021-09-06 19:51:20 -07:00
Wez Furlong
7da1971bad docs: changelog for #1111, #1112 2021-09-06 19:27:51 -07:00
Wez Furlong
86f0bae1db fonts: tidy up fontconfig charset acceleration
and add a changelog entry!

refs: #250
2021-09-06 11:05:16 -07:00
Wez Furlong
4d5a923cb4 docs: changelog for #947 2021-09-06 10:13:28 -07:00
Wez Furlong
311bd78902 Fix SU (scroll up) using default-blank cells
closes: https://github.com/wez/wezterm/issues/1102#
2021-09-04 17:35:33 -07:00
Wez Furlong
fea3a527dd Fixed invisible I-beam/underline cursor w/force_reverse_video_cursor
closes: https://github.com/wez/wezterm/issues/1076
2021-09-04 14:24:58 -07:00
Wez Furlong
4c8ccf8efc Add Multiple key assignment
refs: https://github.com/wez/wezterm/pull/1091
2021-09-04 13:01:34 -07:00
Wez Furlong
67e8bdc5c2 term: fix DCH removing cells instead of setting to current bg color
refs: #789
2021-09-03 16:21:15 -07:00
Wez Furlong
e9f1c319e7 docs: changelog for 1031
closes: https://github.com/wez/wezterm/issues/1031
2021-09-03 12:19:44 -07:00
Wez Furlong
bc4ed3735d Add SendKey key assignment
refs: https://github.com/wez/wezterm/pull/1091
2021-09-03 12:07:17 -07:00
Wez Furlong
8da1f676a8 ALT+ "function" keys incorrectly sent ESC prefixed sequences
closes: #892
2021-09-03 11:35:01 -07:00
Wez Furlong
aaa9e3562d docs: tweak get_appearance docs a little 2021-09-03 09:11:00 -07:00
Daniel Poulin
0acda5852d Simply GNOME Wayland appearance documentation and implementation 2021-09-03 09:04:16 -07:00
Daniel Poulin
343727f4df Document workaround for get_appearance on GNOME Wayland 2021-09-03 09:04:16 -07:00
Wez Furlong
da455cafa1 window: plumb get_appearance on x11/wayland systems
Not sure what happened here: presumably a borked merge or something
similar, but this commit allows `window:get_appearance` to return
the actual appearance value on X11.

Even though this plumbs the call through to Wayland, Wayland doesn't
provide an equivalent concept so still always return Light, as is
mentioned on our docs.

closes: #1098
2021-09-02 09:08:21 -07:00
Wez Furlong
f3e5c337fd docs: changelog for https://github.com/wez/wezterm/issues/1051
closes: #1051
2021-09-02 08:53:31 -07:00
Wez Furlong
3d227d27cc docs: changelog for https://github.com/wez/wezterm/pull/1096 2021-09-01 21:13:14 -07:00
Wez Furlong
af23d64e97 docs: changelog for #1083 2021-08-27 07:51:27 -07:00
Sandro Jäckel
6ed16441c0 Revert "docs: changelog for https://github.com/wez/wezterm/pull/1081"
This reverts commit 14e6f9c4a8.
2021-08-25 13:37:00 -07:00
Wez Furlong
14e6f9c4a8 docs: changelog for https://github.com/wez/wezterm/pull/1081 2021-08-25 09:42:31 -07:00
Wez Furlong
fc441e9879 Upgrade bundled harfbuzz library to 2.9.0 2021-08-23 21:59:16 -07:00
Wez Furlong
006fa6caac docs: changelog for https://github.com/wez/wezterm/issues/1027
closes: #1027
2021-08-23 21:19:34 -07:00
Wez Furlong
0f6d2bc565 docs: changelog for #841 #1056 2021-08-23 16:37:42 -07:00
Jonas Belouadi
57036d70d3 Add indexed table to color example in documentation. 2021-08-23 16:32:43 -07:00
karl
1e52016359 docs: Added Debain 11 download link for nightly 2021-08-20 14:01:34 -07:00
Wez Furlong
ab9291b6c6 docs: changelog for #250
refs: #250
refs: #1043
2021-08-19 21:00:56 -07:00
Wez Furlong
4a809b4077 docs: changelog updates
closes: https://github.com/wez/wezterm/issues/1042
2021-08-18 09:19:43 -07:00
Wez Furlong
2a39e8ad88 docs: changelog for https://github.com/wez/wezterm/issues/1029 2021-08-16 09:38:36 -07:00
Wez Furlong
8f030522f7 docs: update custom_block_glyphs since version for latest release
refs: https://github.com/wez/wezterm/issues/1025
2021-08-16 07:54:26 -07:00
Wez Furlong
befdc7ac3a Fixed: text_background_opacity was not respected 2021-08-15 08:33:09 -07:00
Wez Furlong
10812c936d docs: update for new 20210814-124438-54e29167 release 2021-08-14 14:15:05 -07:00