1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-18 19:01:36 +03:00
Commit Graph

1186 Commits

Author SHA1 Message Date
Wez Furlong
e98d8acb96 add spawn rpc 2019-06-09 08:15:37 -07:00
Wez Furlong
0a1dd49409 more dyn courtesy of cargo +nightly fix 2019-06-09 07:44:02 -07:00
Wez Furlong
b43c207167 remove defunkt write_all function
This was from a time when we were miusing non-blocking io
2019-06-09 07:36:30 -07:00
Wez Furlong
8055957406 clippy 2019-06-09 07:33:00 -07:00
Wez Furlong
92917a3a66 use PtySize in Tab::resize interface 2019-06-09 06:53:24 -07:00
Wez Furlong
c8ad858a29 connect domain id to spawn_tab
Even though we currently only have a single domain, we're now able
to spawn tabs in alternate domains.
2019-06-08 21:31:33 -07:00
Wez Furlong
87e7a7089c assign domains ids and associate tabs with them
The idea is that we can use this to spawn a tab in a
specific domain.  For example, "spawn tab in domain of current tab"
or "spawn tab in default domain".
2019-06-08 21:30:54 -07:00
Wez Furlong
5ebad9e63a dyn everywhere 2019-06-08 21:28:11 -07:00
Wez Furlong
f41c62c07b another linux build fix 2019-06-08 18:46:53 -07:00
Wez Furlong
68d5287acb fixup linux build 2019-06-08 18:25:12 -07:00
Wez Furlong
63b18c4951 couple of readme fixes 2019-06-08 16:26:34 -07:00
Wez Furlong
75a950328a tweak log level for ignored freetype error 2019-06-08 15:40:57 -07:00
Wez Furlong
5ccff722ef more log 2019-06-08 15:37:55 -07:00
Wez Furlong
5bf2268292 more log changes 2019-06-08 15:30:47 -07:00
Wez Furlong
34d6d95b6f adopt log and env_logger for logging 2019-06-08 15:17:41 -07:00
Wez Furlong
000c5eddac Add CloseCurrentTab key binding
Added CMD-W as a default binding for this action.

refs: https://github.com/wez/wezterm/pull/26
2019-06-08 10:27:45 -07:00
Wez Furlong
25da2ebbbf
fix stray ' in the readme 2019-06-08 10:04:18 -07:00
Wez Furlong
c143a4105b
fix quoting of modifiers in the readme 2019-06-08 10:03:37 -07:00
Wez Furlong
9552d3d5eb add some docs on keybindings 2019-06-08 10:01:41 -07:00
Wez Furlong
9d13429fc9 refactor default key assignment, add CMD-M to Hide
refs: https://github.com/wez/wezterm/issues/32
2019-06-08 09:16:59 -07:00
Wez Furlong
f10e59245e add Hide/Show key actions
Usage example is to put this in your `wezterm.toml` to get the
macOS CMD-M shortcut for minimizing a window:

```
[[keys]]
key = "m"
mods = "CMD"
action = "Hide"
```

Refs: https://github.com/wez/wezterm/issues/32
2019-06-08 08:37:50 -07:00
Wez Furlong
3b94cddf8e allow specifying key bindings in wezterm.toml
refs: https://github.com/wez/wezterm/issues/32
2019-06-08 08:28:34 -07:00
Wez Furlong
45596f44be refactor key handling; add KeyAssignment
This is a step towards having configurable key bindings
refs: https://github.com/wez/wezterm/issues/32
2019-06-07 21:53:44 -07:00
Wez Furlong
024e1afcda move CMD-N new window dispatch into guicommon
This was blocked by some awkwardness in figuring out which
gui frontend was in use and queueing up the spawn and then
more ugliness in glutin.

That has subsequently been sorted out with the newer executor
stuff, so cut this over.

This is a tiny baby step towards a bigger key binding config
and thus refs: https://github.com/wez/wezterm/issues/32
2019-06-07 20:43:13 -07:00
Wez Furlong
12d49980c8 speculative fix for linux build 2019-06-04 21:34:09 -07:00
Wez Furlong
0c8cba99af centralize calling Mux::add_tab to Domain::spawn 2019-06-04 08:11:55 -07:00
Wez Furlong
95d2479ea6 gui_executor is intended to be obtainable from any thread 2019-06-04 08:11:55 -07:00
Wez Furlong
d4bc053493 Add Mux::default_domain and use it
This tidies up the various spawning call sites and
reduces some code duplication too!
2019-06-04 08:11:55 -07:00
Wez Furlong
f642bd56d6 introduce mux Domain concept
All locations that were setting up ptys now do so via the
Domain concept.  We still need a way to set up a persistent
global domain.
2019-06-04 08:11:55 -07:00
Wez Furlong
7b8a989e10 point to upstream color schemes repo now that my pr is merged 2019-06-03 20:51:20 -07:00
Wez Furlong
94760653cd
add filetype to code blocks in the readme 2019-06-03 20:49:04 -07:00
Wez Furlong
e9780d6a34 termwiz: bump version for crates.io/streampager 2019-06-02 21:00:26 -07:00
Wez Furlong
43fcca6343 termwiz: ensure that the tty is in blocking mode
Refs: https://github.com/markbt/streampager/issues/1
Refs: https://github.com/markbt/streampager/issues/3
2019-06-02 20:36:01 -07:00
Wez Furlong
c0e3bdfb70 termwiz: avoid emitting a wake event on a spurious pipe wakeup 2019-06-02 18:27:15 -07:00
Wez Furlong
ae303fea56 termwiz: avoid emitting a resize event on a spurious sigwinch read 2019-06-02 18:11:07 -07:00
Wez Furlong
d000938fef emulate poll(2) on macos using select(2)
Refs: https://github.com/wez/wezterm/issues/31
2019-06-02 16:15:17 -07:00
Wez Furlong
090c24554f introduce our own poll function
This is just a minor refactoring at this stage

Refs https://github.com/wez/wezterm/issues/31
2019-06-02 14:53:07 -07:00
Wez Furlong
00c1000caa bump termwiz version for crates.io 2019-06-02 13:55:25 -07:00
Mark Thomas
70741d4f80 set underline and blink in fallback path
pull/29 inadvertently removed the fallback path for setting single
underline and slow blink.  Restore it.
2019-06-02 13:55:07 -07:00
Wez Furlong
74bbf01014 fix 'already borrowed' panic with large pastes 2019-06-02 13:00:30 -07:00
Mark Thomas
3f16979067 clean up flush_pending_attr
The `flush_pending_attr` method does lots of unnecessary comparisons.
If the attributes have changed, then it works by resetting the
attributes and then setting new values.  There's no need to emit the
codes for exiting modes.

It also doesn't support double underscore or rapid blink in the cases
where the terminfo capabilities are used, as these capabilities can't
express these attributes.  Fall back to CSI sequences when these
attributes are requested.
2019-06-02 12:41:46 -07:00
Mark Thomas
90689d4406 set colors after resetting attributes
Changing the terminal attributes (bold, underline, etc.) involves
emitting the `exit_attribute_mode` or SGR reset sequence.  This also
resets the colors back to their defaults.  If this happens when the
foreground or background colors haven't changed, set the colors again.
2019-06-02 12:41:46 -07:00
Wez Furlong
99919dc807 implement answerback for osc 4, 10-18
These codes are used to change the color palette, but if the `?`
string is used in place of a color spec, then we must respond with
the current color value string for that palette entry, so lets
implement that!
2019-06-02 12:19:58 -07:00
Wez Furlong
bf719caaf3 allow using cmd-v to paste on linux
This is useful in a vmware vm on macos
2019-06-02 07:44:22 -07:00
Wez Furlong
daac79fe41 Add info about ready-to-use color schemes to the readme 2019-06-01 23:31:17 -07:00
Wez Furlong
8f8d03fc05 support osc 10-19 dynamic color changing 2019-06-01 21:47:25 -07:00
Wez Furlong
276e9aef91 osc 4 accepts multiple parameters 2019-06-01 19:59:44 -07:00
Wez Furlong
4193442ec8 make OSC 4 actually change the palette 2019-06-01 16:15:37 -07:00
Wez Furlong
71fd9c3ed7 thread palette through on each render call
This is slightly inefficient in that it copies the palette
for each call, so may want to revisit this if things feel
sluggish.
2019-06-01 16:07:08 -07:00
Wez Furlong
2ec436a4b9 make the frontends get the palette from the terminalstate
This isn't complete because it only copies it at startup
into the renderer.
2019-06-01 16:01:00 -07:00