1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-25 14:22:37 +03:00
Commit Graph

3310 Commits

Author SHA1 Message Date
Wez Furlong
82c53c2b7f Add changelog for default_cwd and another link to the neat flow chart
refs: #428
2021-01-26 12:05:18 -08:00
Dylan Frankland
3793ff2587
Add config option to specify default current working directory (#438)
* Add config option to specify default current working directory

* Make `cwd` of CLI take precedence over `default_cwd`

* Update docs for `default_cwd` and Launching Programs

Explains the `default_cwd` property more succinctly on the `Config` struct.

Adds documentation on the various ways to set the working directory and the logic used to decide the working directory.
2021-01-26 10:40:22 -08:00
Wez Furlong
f076e716b2 I'll make my own freetype2 mirror... </bender> 2021-01-25 21:59:54 -08:00
Wez Furlong
851afd28a8 bleh, let's use what now claims to be the official github mirror of freetype2 2021-01-25 21:51:31 -08:00
Wez Furlong
f7d29e5fb4 Ungh, I hate git submodules
See if this makes things happier
2021-01-25 21:48:13 -08:00
Wez Furlong
98220f49c8 cargo update 2021-01-25 21:35:47 -08:00
Wez Furlong
32cb44c225 bump freetype dep to VER-2-10-4 2021-01-25 21:35:47 -08:00
Wez Furlong
63abfd4bef docs: changelog and tweak ClearScrollback docs
... to show that they were introduced in the nightly builds.

refs: #439
2021-01-25 21:33:28 -08:00
Dylan Frankland
88f44f5b5f
Add erase mode to ClearScrollback action (#439)
* Add ClearBuffer action

Clears all lines, both visible and those scrolled off the top of the viewport, making the prompt line the new first line and resetting the scrollbar thumb to the full height of the window.

This is the behavior that Hyper / xterm has for clearing the terminal.

* Combine ClearBuffer into ClearScrollback as enum with associated erase mode

Makes it easier to manage the different options of clearing the terminal.
2021-01-25 21:26:23 -08:00
Olivier Raginel
914c10c507 Fix typo: Fedora33 not 32 2021-01-25 18:42:37 -08:00
Dániel Buga
8a1bf9697c Use const fn instead of recursive macro 2021-01-22 12:09:07 -08:00
Wez Furlong
a5ae7cef69 cargo update to pick up mlua 5.0.1 and the cross compilation fixes 2021-01-20 20:16:30 -08:00
Wez Furlong
6c08f463f3 docs: add unix_domains entry 2021-01-19 21:01:14 -08:00
Wez Furlong
fc6f529ee5 docs: start adding a reference section for Config 2021-01-18 17:31:39 -08:00
Wez Furlong
dc1f64ad39 docs: fix rendering for selection_word_boundary 2021-01-18 16:36:57 -08:00
Wez Furlong
7885c375b2 docs: adjust escape sequence page wording a bit 2021-01-18 16:34:52 -08:00
Wez Furlong
0e2fc6ea4c docs: add changelog for paste behavior on Windows
refs: https://github.com/wez/wezterm/issues/411
2021-01-18 16:29:04 -08:00
Wez Furlong
3256a949d8 wezterm: tidy up the "update available" banner
Change the underline color so it looks a bit less crowded on hover
2021-01-18 16:21:56 -08:00
Wez Furlong
2b29c7dcbd docs: fix padding on logo 2021-01-18 14:57:18 -08:00
Wez Furlong
85e8a54076 docs: put logo on the index page too 2021-01-18 14:54:41 -08:00
Wez Furlong
6cce9cb1cd docs: changelog entry about metalangle no longer being shipped 2021-01-18 14:49:14 -08:00
Wez Furlong
89c1ac5b4c wezterm: add adjust_window_size_when_changing_font_size option
The default is true, which means that adjusting the font size will
cause the window to resize to preserve the number of rows/cols in
the terminal.

When set to false, the window size is preserved and the number of
terminal rows/cols is adjusted instead.

refs: https://github.com/wez/wezterm/issues/431
2021-01-18 13:23:02 -08:00
Wez Furlong
b60e83b22b docs: start documenting supporting escape sequences
I started this a while ago; it's pretty time consuming to produce
accessible and usable documentation for this sort of stuff, so
this isn't yet complete, but in the interest of avoiding additional
bit-rot, let's get this up.

refs: https://github.com/wez/wezterm/issues/257
2021-01-18 11:16:18 -08:00
Wez Furlong
aee37784e5 Windows: fix initial window size when display scaling != 100%
The heart of this issue was that the resize callbacks have two
layers of state; one in the low level window and one in the application
level window.

On Windows, the system triggers the low level callback prior to
opengl being initialized.  Since the application level depends on
the opengl state, there are some code paths where it NOPs and
returns early if opengl isn't yet initialized.

When the system-wide display scaling is set to say 200%, the application
layer can't know the effective DPI of the window it is creating because
it doesn't know which monitor will be used or what its DPI will be.

New windows are created at the default DPI of 96, and we rely on the
resize events to detect the actual DPI and adjust the scaling in
the window.

The early call of the resize callback meant that the low level and
application level size/dpi state was out of sync and the result was
that the window had half as many pixels as it should, but that the
terminal model was still sized as though it had the correct amount
(twice as many as visible).  This resulted in the window being too
small for the viewport.

The resolution is simple: we now suppress emitting the resize processing
until opengl has been initialized.

The test scenario for this is:

* Set system scaling to 100%
* Launch wezterm
* Set system scaling to 200%
* Observe that wezterm scales to match
* Press CTRL-SHIFT-N to spawn a new window
* Observe that the new window size matches the other window (previously
  this one would be half the size)

While I was looking at this, I noticed that the manifest didn't
match the DPI awareness that we have in the code, so update that.

refs: https://github.com/wez/wezterm/issues/427
2021-01-18 09:27:04 -08:00
Wez Furlong
83dbf03db8 docs: note about fullscreen mode support
refs: https://github.com/wez/wezterm/issues/177
2021-01-17 23:49:46 -08:00
Wez Furlong
d108af980f docs: fix link to undercurl 2021-01-17 23:41:17 -08:00
Wez Furlong
f99d9762cb cargo update 2021-01-17 23:38:11 -08:00
Wez Furlong
175fc0d6dd docs: add a note on undercurl 2021-01-17 23:21:26 -08:00
Wez Furlong
28e527b649 fix tests
refs: #429
2021-01-17 22:01:21 -08:00
Wez Furlong
da3a41e018 wezterm: fix mapping scroll wheel to cursor up/down in alt screen
This appears to have been broken since the introduction of mouse
assignments :-/

This commit adds Pane::is_alt_screen_active so that the gui layer
can tell whether the alt screen is active, and allow passing down
the event.

refs: #429
2021-01-17 21:44:02 -08:00
Wez Furlong
2cb1fb9751 docs: changelog entry for #428
refs: #428
2021-01-17 11:54:43 -08:00
Wez Furlong
b7b72646e3 term: when pasting on windows prefer CRLF line endings
TL;DR: on unix, or if bracketed paste is on, then we paste with
unix newlines.  If on windows && !bracketed paste then with CRLF.

See explanation in the code for more context.

refs: https://github.com/wez/wezterm/issues/411
2021-01-17 10:59:29 -08:00
Wez Furlong
0ef89f3de0 window: remove some dead code on Windows
Since removing non-GL usage, this code is dead.
2021-01-17 10:29:49 -08:00
Wez Furlong
957ad6af90 windows: avoid panic on startup
In 30b262c1c0 I introduced an unwrap
here.  On Windows, this code can be called before we've set up opengl.
Allow for that!
2021-01-17 10:24:58 -08:00
Wez Furlong
fa4bbbd077 ugh, fix stupid formatting syntax error
refs: https://github.com/wez/wezterm/issues/428
2021-01-16 08:47:36 -08:00
Wez Furlong
4bbe67aac3 gui: refuse to scale to sizes where cell height would be < 2 pixels
refs: https://github.com/wez/wezterm/issues/428
2021-01-16 08:45:38 -08:00
Wez Furlong
db964a91a0 gui: handle a failure to compute font metrics at very small scales
https://github.com/wez/wezterm/issues/428
2021-01-16 08:27:32 -08:00
Wez Furlong
42f3a729a8 gui: fix OutOfTextureSpace error when scaling to large font sizes
refs: https://github.com/wez/wezterm/issues/428
2021-01-16 08:12:45 -08:00
Wez Furlong
30b262c1c0 gui: tidy up RenderState enum
Since we no longer have our fallback Software renderer (only mesa),
remove what has become an empty variant and hoist the GL state up
into RenderState, holding Option<RenderState> in the window.
2021-01-16 08:00:17 -08:00
Wez Furlong
42b95cd413 ci: generate universal binaries for macOS
This persuades the CI to install both the arm and intel flavors
of the rust toolchain on macOS, and the deploy script to generate
a universal binary.

* need big sur to build for M1
* Use cross-compilation compatible mlua from my fork for now
2021-01-13 20:11:58 -08:00
Wez Furlong
f39c4f9d6e deps: update to mlua 0.5 2021-01-13 10:06:35 -08:00
Wez Furlong
bd614b5e02 cargo update 2021-01-11 08:43:32 -08:00
Brad Alfirevic
6439435178 Fix get-deps on arch 2021-01-09 15:23:38 -08:00
Wez Furlong
dcce17b895 vtparse: add doc for CsiParam 2021-01-09 09:42:29 -08:00
Wez Furlong
d2e31148a0 wezterm: workaround appimage startup issue
AppImage passes fd 1023 opened on the mount point directory.
If we close this prior to exec, some magic in appimage decides
to unmount the fuse mount right before we're about to exec
the wezterm-gui binary from the appimage.

So, don't close stray fds when the cli spawns the gui when
we're an appimage.

See also: e831032c72

closes: #419
2021-01-09 08:22:17 -08:00
Wez Furlong
ce6ecc1f38 termwiz: really fixup windows build 2021-01-08 09:33:08 -08:00
Wez Furlong
3a9ab729db termwiz: fixup win32 build 2021-01-08 08:55:43 -08:00
Wez Furlong
5d360ae365 termwiz: Remove anyhow::Result from public API
It's been replaced with an opaque termwiz error type instead.

This is a bit of a more conservative approach than that in (refs: #407)
and has less of an impact on the surrounding code, which appeals to
me from a maintenance perspective.

refs: #406
refs: #407
2021-01-08 00:32:30 -08:00
Wez Furlong
713da95a02 fix build on windows
refs: #416
2021-01-07 09:38:45 -08:00
Wez Furlong
5fb0c05541 Add changelog entry for umask issue
refs: #416
2021-01-07 09:37:27 -08:00