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

746 Commits

Author SHA1 Message Date
Wez Furlong
75be9d31cc maybe remove futurecore stuff from x11 2019-03-04 22:42:22 +00:00
Wez Furlong
4b4be6ac21 remove futurecore 2019-03-04 22:32:59 +00:00
Wez Furlong
12e93fce57 register mux as a gui thread local variable 2019-03-04 20:44:52 +00:00
Wez Furlong
aa6cfb00dd thread executor through to mux code 2019-03-04 20:19:08 +00:00
Wez Furlong
ac016c0494 maybe remove a couple of poll_fn uses from x11
(I can't compile it locally atm)
2019-03-04 20:00:08 +00:00
Wez Furlong
152300ef5a remove another use of futures from glutinloop 2019-03-04 19:47:35 +00:00
Wez Furlong
2fc8615fcf remove awkward Rc<Self> from some spawning funcs in glutin windows 2019-03-04 19:41:49 +00:00
Wez Furlong
7afd586ad0 allow looking up the font system from the gui thread
This helps remove the Rc<events> thing from a couple of places
2019-03-04 16:05:42 +00:00
Wez Furlong
2ece60b45c Rc<Config> -> Arc<Config> 2019-03-04 15:49:03 +00:00
Wez Furlong
1d37e44b62 move promise to its own crate 2019-03-04 15:38:56 +00:00
Wez Furlong
3ae0f7d110 prove concept with promise/future stuff + with_window 2019-03-04 15:32:52 +00:00
Wez Furlong
47f27fed13 add executor to the gui systems 2019-03-04 11:30:03 +00:00
Wez Furlong
e8a4f8f94c add executor for promise/future library 2019-03-04 10:48:15 +00:00
Wez Furlong
ee60688966 expand map/chain helpers 2019-03-04 01:46:30 -08:00
Wez Furlong
7ef388e607 add promise library 2019-03-03 15:22:22 -08:00
Wez Furlong
5dfa5bca6b allow spawning a future from another thread
The future will be polled by the gui thread.
I'm not totally convinced that this model is best.
2019-03-03 08:29:34 -08:00
Wez Furlong
d71ac26b93 add very bare bones skeleton for unix domain socket bits 2019-03-03 05:08:58 -08:00
Wez Furlong
8fa619d23f fix transposed rows/cols
whoops; the inital impl and consumer didn't follow the doc comment,
so they were internally consistent, but when the windows started
to use this for sizing things looked weird!
2019-03-02 14:26:51 -08:00
Wez Furlong
f6fe029a4c remove Tab::terminal 2019-03-02 14:17:21 -08:00
Wez Furlong
d45a1de63e move xwin away from Terminal 2019-03-02 14:12:26 -08:00
Wez Furlong
d6cb4f3ff2 move most of gliumwindows away from directly accessing Terminal 2019-03-02 14:09:16 -08:00
Wez Furlong
fa0ea270f4 Tab::process -> Tab::is_dead 2019-03-02 13:36:28 -08:00
Wez Furlong
9520970b66 fixup linux/x11 build 2019-03-02 13:22:17 -08:00
Wez Furlong
20dcced8f7 fixup windows build 2019-03-02 13:16:25 -08:00
Wez Furlong
bb8c2c7876 adjust windows font fallback
I still can't get the emoji to render on windows, but these font names
are more appropriate choices.
2019-03-02 13:09:29 -08:00
Wez Furlong
e773cff24e adjust tests for pty -> Write changes 2019-03-02 12:29:17 -08:00
Wez Furlong
ec2c270a38 remove non-blocking bit, allow dead_code attrs for helpers 2019-03-02 12:25:47 -08:00
Wez Furlong
871ce9a6c2 fix into_raw_fd impl 2019-03-02 12:22:42 -08:00
Wez Furlong
ce44746a9e move conpty Read impl to OwnedHandle 2019-03-02 12:15:48 -08:00
Wez Furlong
8bef8987af remove MasterPty Read impl 2019-03-02 12:13:17 -08:00
Wez Furlong
07420f5034 simplify dup impl 2019-03-02 12:11:46 -08:00
Wez Furlong
69afdda8ea split reader out of pty() portion of Tab interface 2019-03-02 12:08:42 -08:00
Wez Furlong
a1f4f47141 tease writer and resize out of pty() usage 2019-03-02 11:36:00 -08:00
Wez Furlong
6c8a9e999e splitting writer out of Tab::pty() 2019-03-02 11:27:11 -08:00
Wez Furlong
0c3410fb6a factor out more of the mouse processing 2019-03-02 09:45:10 -08:00
Wez Furlong
61e7f2d0fe slightly refine some mouse processing code 2019-03-02 09:40:05 -08:00
Wez Furlong
150225dd22 clippy 2019-03-02 09:33:58 -08:00
Wez Furlong
bc15fc4665 split mouse event processing into separate functions 2019-03-02 09:33:58 -08:00
Wez Furlong
5565ccd30e remove host from key_down signature 2019-03-02 09:33:58 -08:00
Wez Furlong
8f13e53ac8 move gui keyboard shortcut processing to guicommon 2019-03-02 09:33:58 -08:00
Wez Furlong
f261f079f7 lift clipboard hotkeys up to gui layer
My original idea was that I would centralize of the key binding
logic in the terminalstate, but this places a bit of a burden on
the TerminalHost portion of the interface.

In particular: when running a multiplexer server we may be headless
or have multiple heads.  In that scenario we want the terminal
to be backed by a virtualized screen, and that means removing
the direct callback to access eg: the host clipboard.  This
diff is the first of a couple that have the goal of removing
those sorts of dependencies.
2019-03-02 09:33:58 -08:00
Wez Furlong
3ceb71026e introduce a Renderable trait 2019-03-02 09:33:58 -08:00
Stephane Fontaine
a833cf29b4 X11: update readme to require OpenGl ES3
The story as I understand it:
The current shaders requires GLSL 3.30 but OpenGL ES 2.0 is bound to GLSL
1.20.
The confusion arise when creating EGL context. We ask for ES2 because crate egli
doesn't provide a ES3 one "yet". On a recent system, the driver will probably return
a ES3 conformant context anyway .. lucky for us because because the shaders won't
compile on ES2 (which does not even have a `out` keyword).
2019-03-01 22:53:21 -08:00
Wez Furlong
3d959e0f40 batch resize events in x11 backend
Similar to the previous commit for glium, this diff avoids
resize and render for every resize event coming in from xwindows.
Instead we buffer up the most recent window size, scheduling
a later call to assess and apply that data.

This improves resize performance.
2019-02-27 00:09:59 -08:00
Wez Furlong
699bd7aac1 batch resize/dpi changes in glium windows
This is recommended in the docs and allows deferring of the size
and scale to happen at the same time.
2019-02-26 21:39:18 -08:00
Wez Furlong
6aae40ac21 add hex print of the freetype error code
It makes it easier to look up the error codes from the fterrdef.h
header file.
2019-02-26 08:38:51 -08:00
Wez Furlong
bfeca4e724 skip hidpi synthesis on macos, as it breaks manual window resizing(!) 2019-02-25 07:59:32 -08:00
Wez Furlong
74b015a6d8 fontloader: fall back to next font if loading a codepoint fails 2019-02-25 07:48:53 -08:00
Wez Furlong
b02a6e076c rustfmt 2019-02-25 07:33:36 -08:00
Wez Furlong
d7b55382b4 big initial mux change
This is an unfortunately large diff that:

* Separates Tab ownership from TerminalWindow
* Introduces a Mux container for all of the tabs in the application,
  across all windows
* Moves ownership of processing pty responses to the mux; it sets
  up and has logic to process data for the ptys and apply to the
  tabs

I've moved the logic for processing new tab and new window hotkeys
to the TerminalWindow's themselves as we need some context to
associate the tab with the right window and to create a new window.

I think that will simplify and allow unifying more code.
2019-02-25 00:03:35 -08:00