1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-27 15:37:29 +03:00
Commit Graph

5488 Commits

Author SHA1 Message Date
Wez Furlong
77ecbe29b1 x11: set _NET_WM_NAME for clients like polywins/polybar 2022-04-18 08:05:20 -07:00
Wez Furlong
66e8ec1586 mux: implicitly attach the domain referenced in a SpawnCommand
refs: https://github.com/wez/wezterm/issues/1874
2022-04-17 23:02:39 -07:00
Wez Furlong
8dfee33ef4 docs: tweak AttachDomain DetachDomain docs 2022-04-17 22:02:23 -07:00
Wez Furlong
8fbb1d0c0b mux: add AttachDomain and DetachDomain key assignments
The launcher menu code to perform attaching has been generalized
into a key assignment action and reimplemented in terms of that
action.

A detach action has been added to disconnect and detach.

refs: https://github.com/wez/wezterm/issues/1874
2022-04-17 21:41:50 -07:00
Wez Furlong
b375886073 mux: spawn pane if needed when using launcher to attach
If we had previously killed all the panes in a remote mux,
and then reconnected to it using the launcher menu attach option,
we could end up in a confusing state where we connect but don't
show anything for the remote; it looks like nothing happened
even though it is legitimately showing the empty remote mux.

This commit checks for that case and spawns the default program
in the remote if there are no panes.
2022-04-17 18:24:46 -07:00
Wez Furlong
7afc9e4d56 mux: use --prefer-mux when spawning cli proxy for domain attach
It doesn't make sense to try to connect to a possibly stale gui instance
that might have been running on the same host.
2022-04-17 18:15:17 -07:00
Wez Furlong
03d8f10d11 mux: pass current window_id to Domain::attach
This commit allows the currently active window to:

* Spawn a new tab in the active window (rather than spawning
  a new window) to host the connection status
* Auto-close that connection UI tab (rather than the whole window)
  when the window is no longer needed
* Pass the current window through to use as the primary window when
  assigning remote window/tabs.

The net effect of this is that there are fewer transient windows,
and that it is easier to connect a set of domains to the active
workspace.

refs: https://github.com/wez/wezterm/issues/1874
2022-04-17 18:07:58 -07:00
Wez Furlong
19db4228f0 docs: changelog for https://github.com/wez/wezterm/pull/1883 2022-04-17 11:06:09 -07:00
xpufx
cadc5f7d1c
add update-alternatives hooks for deb packages (#1883)
* add update-alternatives hooks for deb packages

Tested on ubuntu 20.04/21.10 and Linux Mint 20.3

* Apply suggestions from code review

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2022-04-17 11:02:50 -07:00
Wez Furlong
e3bc607c51 docs: we do support window_decorations on Wayland 2022-04-17 08:38:26 -07:00
Wez Furlong
813ad3b34d docs: changelog for #1866 #1882 2022-04-17 08:15:27 -07:00
David Rios
fddf4f1fee fix: broken scroll bar after screen is cleared/reset
When the screen is cleared/reset, the physical top is not reset with it,
instead the scrollback_top variable gets set with the point at which the
screen was reset / you are allowed to scroll back to. The scroll bar
code wasn't aware of that.

refs: https://github.com/wez/wezterm/issues/1866
2022-04-17 08:12:03 -07:00
Wez Furlong
83e0f97ce3 docs: changelog for https://github.com/wez/wezterm/pull/1880 2022-04-16 11:04:39 -07:00
Ye Sijun
3ca45cf269 lanucher support CTRL-N and CTRL-P to move up and down
Signed-off-by: Ye Sijun <junnplus@gmail.com>
2022-04-16 11:02:54 -07:00
Wez Furlong
756a9789c8 Add PaneInformation.domain_name and pane:get_domain_name()
refs: https://github.com/wez/wezterm/issues/1881
2022-04-16 10:53:23 -07:00
Wez Furlong
47addfa53c Ctrl-[ and Ctrl-Esc didn't send key_down until key_up
Looking closer, I think I'd misread the key event generated by
perform_key_equivalent for the ctrl-escape case as a key down.

Fixing this is fairly straightforward: when we return YES from
perform_key_equivalent we synthesize a key_down event.
macos will follow up with the key up.

We can fold two cases together in there and remove the horrible
hack style fix I just added in a4b68247bb

refs: https://github.com/wez/wezterm/issues/1877
2022-04-15 21:28:26 -07:00
Wez Furlong
325c1a9e91 window: macos: suppress UNHANDLED logging for Shift-Tab 2022-04-15 21:23:24 -07:00
Wez Furlong
3688055ced macos: remove .normalize_ctrl from key processing
We don't want/need this any longer.

refs: https://github.com/wez/wezterm/issues/1851#issuecomment-1099501144
2022-04-15 21:04:12 -07:00
Wez Furlong
8002f770a0 docs: changelog for https://github.com/wez/wezterm/pull/1875 2022-04-15 20:55:11 -07:00
Gregory Anders
68bd4f3a6b ssh: improve error message contexts 2022-04-15 20:53:07 -07:00
Gregory Anders
c636a4d7a0 ssh: support BindAddress for libssh2 2022-04-15 20:53:07 -07:00
Gregory Anders
8560dbd2bb ssh: support BindAddress
This is already supported by libssh_rs.
2022-04-15 20:53:07 -07:00
Wez Furlong
a4b68247bb window: fix CTRL-[ on macos
This is another key combination that doesn't generate a key-down
event.

refs: https://github.com/wez/wezterm/issues/1877
2022-04-15 20:51:01 -07:00
Wez Furlong
fdb3471017 xkeyboard: resolve ambiguous CTRL-i / CTRL-Tab
We want to avoid normalizing control key presses; there were
two places where it was happening; one in our own code and
the other was in the xkeyboard mapping stuff itself.

refs: https://github.com/wez/wezterm/issues/1851
2022-04-15 07:27:01 -07:00
Wez Furlong
88601f6841 docs: fixup regex for raw linux binary downloads 2022-04-14 10:59:36 -07:00
Nikita Govorov
a8597c72dd fix(default-keys): aligned Scroll Down One Page command's key binding with the docs
PageUp -> PageDown, apparently it was a copy/paste issue.
2022-04-13 05:22:38 -07:00
Wez Furlong
20e019d2ed fix ctrl-shift-x copypasta from recent commands refactor
refs: https://github.com/wez/wezterm/issues/1863
2022-04-12 20:42:05 -07:00
Wez Furlong
ba99c92cbd docs: changelog for https://github.com/wez/wezterm/issues/1864 2022-04-12 20:22:48 -07:00
Wez Furlong
8235736ac0 ci: take a stab at working around https://github.com/actions/checkout/issues/760 2022-04-12 20:11:18 -07:00
Wez Furlong
4cf74e3d77 ci: revert b95f453ede
checkout seems to be failing for ubuntu 20 recently:

```
Deleting the contents of '/__w/wezterm/wezterm'
Initializing the repository
  /usr/bin/git init /__w/wezterm/wezterm
  Initialized empty Git repository in /__w/wezterm/wezterm/.git/
  /usr/bin/git remote add origin https://github.com/wez/wezterm
  Error: fatal: unsafe repository ('/__w/wezterm/wezterm' is owned by someone else)
  To add an exception for this directory, call:

  	git config --global --add safe.directory /__w/wezterm/wezterm
  Error: The process '/usr/bin/git' failed with exit code 128
```

Try reverting this as a workaround.
2022-04-12 18:14:41 -07:00
Wez Furlong
fb6658aac2 docs for https://github.com/wez/wezterm/issues/1867 2022-04-12 17:46:00 -07:00
Wez Furlong
e680cc848a macos: workaround weird CMD-. behavior
There are certain key combinations that macOS prefers to handle
without giving the application much opportunity to process them.

CTRL-ESC and CMD-. both cause doCommandBySelector(cancel:) to be
called.  The former we had already special cased but since we
can't disambiguate the two things, we need a better way.

performKeyEquivalent: is a method we can implement to have an
opportunity to "do something" and prevent the default macOS behavior.

So we implement that. What's interesting is that saying that we handled
CMD-. results in no further processing at all by macOS, whereas saying
that we handled CTRL-ESC results in macOS doing the normal key event
dispatch.  So we need to route that event for ourselves in that one
case.

Doesn't feel great!

refs: https://github.com/wez/wezterm/issues/1867
2022-04-12 17:41:37 -07:00
Wez Furlong
e615720444 really fix cmd-q on macos
copypasta!

cc: @gegoune
2022-04-12 16:25:28 -07:00
Wez Furlong
fa22a6cd41 fix cmd-q on macos
copypasta!

cc: @gegoune
2022-04-12 16:24:39 -07:00
Wez Furlong
132377cc33 termwiz: treat graphemes in Unassigned range as width=1 rather than 0
Otherwise we filter them out of the terminal model and they effectively
vanish.

refs: #1864
2022-04-12 09:52:03 -07:00
Wez Furlong
c1d7ca96db fonts: include glyph names in ls-fonts --text output 2022-04-12 08:34:32 -07:00
Wez Furlong
6b67ae842c mux: try to detect invalid data on stdout during connection
Use some heuristics to verify the data that is about to be parsed;
this can help to detect eg: data being output to stdout prior
to us sending any encoded data to the remote mux.

In addition, add a timeout to help avoid waiting forever in
the case that we didn't detect a problem.

refs: https://github.com/wez/wezterm/issues/1860
2022-04-11 21:08:57 -07:00
Wez Furlong
1d908457ae ci: (up|down)load-artifact v2 -> v3 2022-04-10 18:36:34 -07:00
Wez Furlong
b95f453ede ci: actions/checkout 2.4 -> 3
closes: #1855
2022-04-10 18:34:51 -07:00
Wez Furlong
48152d3e80 cargo update 2022-04-10 18:32:03 -07:00
Wez Furlong
2b34587379 docs: changelog for https://github.com/wez/wezterm/issues/1850 2022-04-10 11:53:45 -07:00
Wez Furlong
4753df96f6 term: flush after sending XTGETCAP response
I'm not totally sure this is all there is to it, but in #1850
the response is showing up after vim was exited, so it seems like
it didn't fully receive these responses.

refs: #1850
2022-04-10 08:40:53 -07:00
Wez Furlong
d8e93215e8 wezterm record: add --explain option
This will parse the input and output and show the semantic meaning of
the escape sequences.

refs: #1850
2022-04-10 08:40:10 -07:00
Wez Furlong
2e8b5f5e7b Add command defs to default launcher menu view 2022-04-10 06:52:12 -07:00
Wez Furlong
b83c3272f6 Add some more entries to command defs
These don't have any default key assignments.

refs: https://github.com/wez/wezterm/issues/1485
2022-04-09 22:19:22 -07:00
Wez Furlong
b162f6f1e2 reduce log level of some diagnostics printed on startup 2022-04-09 22:19:22 -07:00
Wez Furlong
bbb842c3e9 macos: suppress IME UNHANDLED warning for shift up/down 2022-04-09 22:19:22 -07:00
Wez Furlong
1956054e6f Move default key assignments to gui layer, add more metadata
Create a list of command definitions to hold the default key
assignments.

That list has more metadata, such as a brief and longer human
readable description of the purpose, and allows for (in the
future) reasoning about the context where the command is valid,
as well as providing more information when rendering in the
launcher menu.

refs: https://github.com/wez/wezterm/issues/1485
2022-04-09 22:19:22 -07:00
TANIGUCHI Masaya
ae78c7d6c4
get-deps for Gentoo (#1843)
Support Gentoo
2022-04-09 14:03:50 -07:00
Wez Furlong
096259a2d4 docs: clarify shell exit behavior 2022-04-09 07:45:19 -07:00