1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-19 11:21:39 +03:00
Commit Graph

2281 Commits

Author SHA1 Message Date
Wez Furlong
d58f1ff5dc Implement focus_change for macos
Refs: https://github.com/wez/wezterm/issues/93
2019-12-30 10:32:12 -08:00
Wez Furlong
f09145756c Add note about backspace handling to the changelog for nightly 2019-12-30 08:40:31 -08:00
Wez Furlong
a396a64550 Revert "wayland: implement focus_change callback"
This reverts commit bfa8d0c207,
which proved not to be needed because it was already covered
by the `KeyboardEvent::Enter` and `KeyboardEvent::Leave` handling.
2019-12-30 08:35:52 -08:00
Wez Furlong
f0e94084d1 change backspace/delete handling
Previously we would try to pass through the Backspace and Delete
code points without interference, but that behavior wasn't quite
right.

With this commit our behavior is now:

- At the window layer: Classify a `Backspace` key press as logically
  `BS` and a `Delete` key press as logically `DEL` unless the
  `swap_backspace_and_delete` is true (macOS is true by default), in
  which case `Backspace` is mapped to `Delete` and vice versa.

- At the terminal input layer: A `Backspace` input from the Window sends
  the `DEL` sequence to the pty as that matches the default `VERASE` stty
  configuration.  A `Delete` input from the Window emits `\033[3~`,
  which matches up to the `TERMINFO` for `xterm-256color` which we
  claim to be compatible with, and is our default `$TERM` value.

The net result of this is that `Backspace` will now start to emit `^?`
which should match folks stty verase.   Heads up to @fanzeyi!

I've tested this only on a linux system so far and will follow up on
a macOS system a little later today.

Refs: https://github.com/wez/wezterm/issues/88
Refs: https://github.com/wez/wezterm/issues/63
2019-12-30 08:14:20 -08:00
Wez Furlong
d3c4e8e8b6 docs: tweak download page and add source tarball info 2019-12-29 23:06:29 -08:00
Wez Furlong
e364191058 docs: Ensure that we fetch release info on each build 2019-12-29 22:37:06 -08:00
Wez Furlong
eb3588726c cache the mdbook binary itself 2019-12-29 22:35:13 -08:00
Wez Furlong
fdf4c4ca3f fix pages.yml syntax 2019-12-29 22:26:47 -08:00
Wez Furlong
dec2653373 Rebuild and deploy the docs hourly 2019-12-29 22:22:14 -08:00
Wez Furlong
028e928cb2 default to darker styling 2019-12-29 22:05:49 -08:00
Wez Furlong
8f5802bf7e Add workflow to build GH pages on pushes to master 2019-12-29 21:55:40 -08:00
Wez Furlong
13582adddf Remove azure GH page build 2019-12-29 21:40:54 -08:00
Wez Furlong
76c1dff6b3 style download buttons a bit better 2019-12-29 21:39:23 -08:00
Wez Furlong
4681436bd1 docs: code generation for release info 2019-12-29 21:24:08 -08:00
Wez Furlong
a11f036d87 Start migrating to mdbook for the docs
Build the docs by installing mdbook and then running:

`mdbook build docs`

or run them live with `mdbook serve docs`
2019-12-29 20:41:08 -08:00
Wez Furlong
e536c80987 Update changelog 2019-12-29 19:42:33 -08:00
Wez Furlong
e7aa2f3806 fix typo for source upload 2019-12-29 19:34:20 -08:00
Wez Furlong
6421be1b7a Add Fedora rpm to download page 2019-12-29 19:32:26 -08:00
Wez Furlong
c6a918922f Label the package as github for GitHub Actions 2019-12-29 19:12:00 -08:00
Wez Furlong
847214c0a8 Yet another different way to upload release assets 2019-12-29 19:00:46 -08:00
Wez Furlong
437ace7ef7 try a different strategy for building on release 2019-12-29 18:47:23 -08:00
Wez Furlong
23766f6825 remove release creation from tag_posix.yml
This isn't smart enough to avoid making a new release when
one with the same name already exists
2019-12-29 18:37:06 -08:00
Wez Furlong
9762b247e6 Explicitly set the tag for the release 2019-12-29 18:27:12 -08:00
Wez Furlong
f1b6c9d9a0 remove azure status from readme 2019-12-29 17:46:21 -08:00
Wez Furlong
92f5c14373 More CI grunt work
Hook up fedora rpms to the "nightly" nee hourly builds.

Maybe make it so that tags build a release.

Nerf more of the old azure pipelines config
2019-12-29 17:45:00 -08:00
Wez Furlong
bfa8d0c207 wayland: implement focus_change callback
Refs: https://github.com/wez/wezterm/issues/93
2019-12-29 17:17:46 -08:00
Jeremy Fitzhardinge
fce215f10f Enable focus for Windows.
Untested; passes a `cargo check`, but I'm not sure whether I've got the right
event for focus.
2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
887991f464 Remove BlockOutline cursor style
Not really needed, since its something we can handle at rendering time.
2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
999ba79436 Use non-focused cursor shape for unfocused windows 2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
a499eedb86 Make sure cursor gets refreshed properly on focus change 2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
6d5fbf93ff Define outline cursor for unfocused use 2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
0bc0972f75 Track focus state and disable cursor blinking when not focused
Issue https://github.com/wez/wezterm/issues/93
2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
71acd7d2a9 Add focus tracking for Wayland 2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
6558230c9f Implment focus_change for X11 2019-12-29 16:58:15 -08:00
Jeremy Fitzhardinge
69ed1e7aed Add focus_change to WindowCallbacks 2019-12-29 16:58:15 -08:00
Wez Furlong
9596dfd97f Add CI for Fedora 2019-12-29 16:41:28 -08:00
Wez Furlong
b75d6ae62b Schedule rather than "Schedule" on windows 2019-12-29 16:39:51 -08:00
Wez Furlong
30910918f4 Update Cargo.lock 2019-12-29 13:43:59 -08:00
Wez Furlong
033ce1f565 Take a stab at migrating release upload from azure to GHA 2019-12-29 13:36:22 -08:00
Wez Furlong
8964ebd795 Add ability to build an rpm on Fedora
ci/deploy.sh can now emit an rpm to your `~/rpmbuild/RPMS` dir.
2019-12-29 13:09:53 -08:00
Wez Furlong
a251c3722b Enable GH actions build caching
We need to build in release mode so targets are cacheable.
GH has a limit of 400MB per cache blob and we're at 750MB with
the debug build.  Slim it down a bit.

The cache wants to hash the Cargo.lock file so I've removed that
from the ignore file and added it to the repo.  This might cause
an error for users checking out the repo after this change is
pushed; removing the local Cargo.lock should resolve that.
2019-12-29 13:09:18 -08:00
Jeremy Fitzhardinge
962b74c458 Only blink cursor when it's not moving
The cursor should only start blinking when its been sitting in once place;
a moving cursor should always be visible. Rather than making the cursor blink
relative to the creation time of the window, track its position, and use the
last time it moved as the blinking timebase.

Fixes https://github.com/wez/wezterm/issues/83
2019-12-29 09:38:59 -08:00
Wez Furlong
5d55b8bc2e Ensure that the scrollbar defines more vertex fields
This is a bit of a speculative change to see if it helps with
refs: https://github.com/wez/wezterm/issues/82

I have sometimes seen my scrollbar have a color that I didn't
choose and ISTR having some issues in the past when updating
the quads if I didn't set all of the fields of the vertex
to a better defined value.
2019-12-28 12:15:48 -08:00
Wez Furlong
bd0859bef6 Make it possible to more easily tweak atlas padding 2019-12-28 11:55:42 -08:00
Wez Furlong
afc96688ae Use $WEZTERM_CONFIG_FILE for config path if set
This makes it easier for me to test other configurations when
troubleshooting issues!
2019-12-28 11:30:32 -08:00
Wez Furlong
a42342ce0c Recognize C1 codes encoded as UTF-8
These are used in the default Fedora 31 bash profile, so it seems
worth handling even if they are a bit amgiguously defined.

Closes: https://github.com/wez/wezterm/issues/86
2019-12-28 10:33:24 -08:00
Wez Furlong
fa7a007a9f Don't hang when using middle mouse button to paste
A while back I moved the clipboard related processing mostly out
of the term processing code, but since I mostly use the keyboard
for pasting, I'd overlooked the middle mouse button paste flow.

This is problematic because fetching the clipboard requires a
degree of inter process communication and needs the event loop
to be pumped.  Since the terminal callbacks are dispatched from
an event loop callback, attempting to block on the clipboard
future causes a deadlock.

This commit resolves that issue by anticipating that we'll need
the clipboard contents for the majority of middle mouse button
clicks and scheduling a fetch and cache ahead of passing that
event down to the terminal layer.

Why don't we simply use the same technique as the Paste key
assignment?  If the terminal is currently using SGR mouse
tracking mode then the application on the other end of the
pty will want the raw button press.   Our layering doesn't
allow for passing up the concept of whether a middle button
does paste or sends the raw event.

tricksy!

Refs: https://github.com/wez/wezterm/issues/87
2019-12-28 09:15:24 -08:00
Wez Furlong
682bb0d3fd add missing comment 2019-12-28 08:37:19 -08:00
Wez Furlong
d9a9d75a83 Update issue templates 2019-12-27 20:52:10 -08:00
Wez Furlong
9a85109c4e
Delete ISSUE_TEMPLATE.md 2019-12-27 20:36:58 -08:00