1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-02 23:55:11 +03:00
Commit Graph

188 Commits

Author SHA1 Message Date
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
74bbf01014 fix 'already borrowed' panic with large pastes 2019-06-02 13:00:30 -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
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
Wez Furlong
038100922a clippy 2019-05-26 12:49:10 -07:00
Wez Furlong
e1a1530d22 remove boxfnonce: now require rust 1.35+
Rust can now naturally deal with with these constructs, so drop the
external crate.
2019-05-26 09:14:20 -07:00
Wez Furlong
f87901c484 tidy up some failure usage 2019-05-26 08:58:59 -07:00
Wez Furlong
7bf1d99d77 move pty to its own crate in preparation for publishing
Refs: https://github.com/wez/wezterm/issues/27
2019-05-19 18:40:26 -07:00
Wez Furlong
c207142bcf Improve performance on windows
I noticed that things were feeling laggy in general and when I
added some debugging prints I noticed that we were getting a
continuous stream of CursorMoved events with the same coordinates
while the window had focus.

This diff short circuits mouse processing in that situation and
makes things feel a bit more snappy.
2019-05-18 19:15:04 -07:00
Wez Furlong
70593c215f Prevent resizing smalling than 1x1
Fixes https://github.com/wez/wezterm/issues/25
2019-05-04 09:18:43 -07:00
Wez Furlong
9646e035df don't self deadlock when processing a lot of eg: resize events
This is fixed by allowing the gui thread to use an unbounded queue
of spawned functions, and keeping non-gui-threads bounded.
2019-05-04 09:07:43 -07:00
Wez Furlong
736f617f13 make the window close button kill the current tab 2019-03-25 22:14:19 -07:00
Wez Furlong
cac06e5506 rename pty traits, make selectable via enum 2019-03-25 12:06:49 -07:00
Wez Furlong
10165fac32 traitify the pty module 2019-03-25 11:45:52 -07:00
Wez Furlong
a56f37598c Embed icon into windows executable and titlebar
This also applies to X11 when using the glutin frontend
2019-03-24 19:08:07 -07:00
Wez Furlong
acc895f1cd avoid deadlock while pasting large chunks of text
A big paste could saturate the input/output of the pty and
lead to an effective deadlock; the application wants to send
output to us but we are busy trying to write the paste to it.

Break up large pastes into chunks and send them piece by piece.
This does mean that a large bracketed paste is not an atomic
unit any longer, but it seems to work out ok when pasting into
vim.
2019-03-23 15:25:49 -07:00
Wez Furlong
93020c7553 bump glutin sync channel size
This is a workaround; need to remove the sync restriction when
queuing up work from the gui thread as I occasionally deadlock
myself.
2019-03-22 20:41:50 -07:00
Wez Furlong
6cbb3ba432 impl IRM insert mode and improve esctest conformance
I've had mixed results with esctest; the IRM and cursor save/restore
tests fail for me in terminal.app, iterm2 and xterm, and fail in the
same way on wezterm, so I'm not sure if I'm not running those tests
correctly.  However, they did encourage the discovery of some other
real issues in the wezterm emulation.
2019-03-22 20:41:50 -07:00
Wez Furlong
ff64ba727b fix Executor names copypasta 2019-03-22 20:41:50 -07:00
Wez Furlong
1c06430b3a Add Null frontend; intended for testing purposes 2019-03-22 20:41:50 -07:00
Wez Furlong
fe7502fc0b implement coarse tab data rpc PoC
This required switching away from Rc to Arc so that the data in the
client can transit between threads.

This isn't useful yet.
2019-03-22 20:41:50 -07:00
Wez Furlong
7cdd1876d1 Enable serializing various Line and Cell related structs 2019-03-22 20:41:50 -07:00
Wez Furlong
2b4b27c9c0 start a unix listener when running the mux server 2019-03-22 20:41:50 -07:00
Wez Furlong
05c14e5bc7 add MuxExecutor 2019-03-22 20:41:50 -07:00
Wez Furlong
0eb7f05eff GuiSender doesn't need to be pub 2019-03-22 20:41:50 -07:00
Wez Furlong
3c7eeac2da stub out muxserver frontend 2019-03-22 20:41:50 -07:00
Wez Furlong
c6acc36ee5 GuiSystem -> FrontEnd 2019-03-22 20:41:50 -07:00
Wez Furlong
943fd74d5e rename GuiSelection -> FrontEndSelection 2019-03-22 20:41:50 -07:00
Wez Furlong
6d82ee89a4 move SessionTerminated to mux module 2019-03-22 20:41:50 -07:00
Wez Furlong
bc313522a8 restructure to put gui loop and window impls closer together 2019-03-22 20:41:50 -07:00