Wez Furlong
c1e605aedf
register client tab with mux, add reader that never reads
2019-06-09 15:58:06 -07:00
Wez Furlong
46fb1fe40c
we can now see the remote tab rendered via the muxed domain
2019-06-09 13:38:19 -07:00
Wez Furlong
ee54864d6a
allow writing to a muxed tab
2019-06-09 13:00:36 -07:00
Wez Furlong
661daa4f77
add stub renderable for muxed tab
2019-06-09 12:44:22 -07:00
Wez Furlong
e55233aa3d
add option to use mux domain
2019-06-09 11:41:47 -07:00
Wez Furlong
18d5814b4f
add stub for muxed tab
2019-06-09 11:35:17 -07:00
Wez Furlong
a89373be63
make mux traits Downcast-able
2019-06-09 11:14:43 -07:00
Wez Furlong
7197ee6277
add Downcast trait to FrontEnd
...
This removes some awkwardness in the impl by allowing casting
to a concrete implementation. This is a pattern I want to use
more widely and this diff proves the concept.
2019-06-09 11:13:05 -07:00
Wez Furlong
bfdeca4b79
start building out the muxed client Domain
2019-06-09 10:58:52 -07:00
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