1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-26 06:42:12 +03:00
Commit Graph

689 Commits

Author SHA1 Message Date
Wez Furlong
d113068fb0 add default_prog configuration option
@PedroHLC request this and it is easy enough to add, and gave me
the opportunity to clean up some code a little bit.
2019-02-22 18:48:38 -08:00
Wez Furlong
d35dd3721b fixup macos build on !wez's laptop
Refs: https://github.com/servo/rust-harfbuzz/pull/128
2019-02-22 17:59:48 -08:00
Wez Furlong
7277559abc fixup linux build for changes I made over on macOS 2019-02-22 15:58:19 -08:00
Wez Furlong
332b0faeaa CoreText renderer is now the default on macOS
I've added dingbats to the fallback list on macos as that is needed
for some symbols we use in tools at work.

With that, and some tweaks for allowing for missing letter glyphs
when loading a symbol font as a fallback, we can make that the
default for macOS

Closes https://github.com/wez/wezterm/issues/5
2019-02-22 15:51:36 -08:00
Wez Furlong
c818225a5d ctrl|cmd +/- to manipulate font size with glutin backend
Simliar code needs to be added to the x11 backend in a follow on
commit.

Refs: https://github.com/wez/wezterm/issues/2
2019-02-22 15:22:31 -08:00
Wez Furlong
89da009dce Adjust for high dpi displays with the glutin backend
This results in a less blurry display.
As a bonus, this lays down some plumbing for changing the font
size on the fly.

Refs: https://github.com/wez/wezterm/issues/2
2019-02-22 15:22:27 -08:00
Wez Furlong
7e2e48dadc add default metrics accessor to FontConfiguration struct 2019-02-22 15:21:07 -08:00
Wez Furlong
61801eba9c improve non-harfbuzz ft shaping performance 2019-02-22 15:21:07 -08:00
Wez Furlong
c4c7b65933 fixup shaping of emoji when not using harfbuzz 2019-02-22 15:21:07 -08:00
Wez Furlong
97096ffc5d implement coretext font rendering
This uses harfbuzz for shaping and thus can render both emoji and
ligatures

Refs: https://github.com/wez/wezterm/issues/5
2019-02-22 15:21:04 -08:00
Wez Furlong
a5b5f82c6c font fallback now also applies to italic, bold etc.
This means that emoji now render when the text is italic
2019-02-20 20:52:46 -08:00
Wez Furlong
7e2b4f006d rustfmt 2019-02-20 20:52:36 -08:00
Wez Furlong
42fb687759 more fun with keyboard input with glutin/winit
There isn't really any reliable consistency in the virtual_keycodes
being set for simple keys or shifted keys, so we need to go all in
and add our own scancode processing as a fall back.

This makes it even harder to process unicode input, particularly
because we have no idea whether a ReceivedCharacter event will
follow.
2019-02-20 20:30:19 -08:00
Wez Furlong
b0f7a9d797 inching towards sane emoji rendering with glutin frontend 2019-02-20 17:44:35 -08:00
Wez Furlong
e976f1872a ugh, unbreak shifted letters and numbers
Hopefully a happy medium in the short term.  Need a good story around
IME/international input.
2019-02-20 10:17:37 -08:00
Wez Furlong
b256884a8f revise config example in the readme 2019-02-20 09:06:26 -08:00
Wez Furlong
9fa376d2a3 Add command line override for font system 2019-02-20 09:01:36 -08:00
Wez Furlong
8c821bc9e6 Allow specifying the gui system via the cli 2019-02-20 08:53:59 -08:00
Wez Furlong
b0c2704118 clap -> structopt
This looks like it will help with some enum parsing
2019-02-20 07:54:31 -08:00
Wez Furlong
50a882874a ensure we're using a current context when querying surface dimenions
https://github.com/wez/wezterm/issues/19 is a case where a user
runs in this; it seems particular to their opengl implementation
so I can't reproduce it locally.

@Lompik suggests that this resolves the issue, and it doesn't seem
to hurt, so let's apply it!
2019-02-20 07:05:35 -08:00
Wez Furlong
36be587bb9 fixup glutin keypress dispatching
on macos we were receiving unicode text in addition to the scan codes.
This is mostly undesirable, except when it's not
(see https://github.com/wez/wezterm/issues/18)

This diff ignores the unicode input stream and manually decodes
the keys from an english keyboard.
2019-02-20 01:03:08 -08:00
Wez Furlong
6a617aefbb remove coverage bits from travis build
I don't find them valuable and they make it harder for travis
to run on multiple operating systems.
2019-02-19 23:59:02 -08:00
Wez Furlong
99ff395a9a restore spawning windows on x11
compiled but untested
2019-02-19 23:55:29 -08:00
Wez Furlong
314f7cc103 Allow runtime selection of gui system
This allows choosing between X11 and Glutin, which simplifies some
conditional code and allows some short term flexibility on unix
systems.  However, what it really opens up is running a future
headless server mode (think: tmux).

This change comes with the cost of temporarily breaking creating
a new window on x11.
2019-02-19 23:39:13 -08:00
Wez Furlong
feb0af7ca8 traitify bits of futurecore 2019-02-19 22:57:39 -08:00
Wez Furlong
ee06d34b18 extract some gui running code
This breaks the x11 flavor of the build for the moment.
2019-02-19 21:57:12 -08:00
Wez Furlong
4ab73ebb2c start to allow runtime gui frontend changes 2019-02-19 21:09:55 -08:00
Wez Furlong
98275e78e1 update various crate versions 2019-02-19 20:59:14 -08:00
Wez Furlong
c04c3fdbac move pty code into its own deeper module 2019-02-19 20:43:28 -08:00
Wez Furlong
3dcd001a5a suppress annoying unicode after arrow presses on macos 2019-02-19 13:57:45 -08:00
Wez Furlong
11b22f8407 skip building harfbuz on macos 2019-02-19 08:59:39 -08:00
Wez Furlong
1477231ac4 see if travis will build rust on all the platforms 2019-02-19 08:50:48 -08:00
Wez Furlong
2fc62bbf1b fixup compilation for x11 2019-02-19 07:53:54 -08:00
Wez Furlong
b905c112e2 add plumbing for spawning windows+tabs in glutin 2019-02-19 07:51:49 -08:00
Wez Furlong
28cba72472 improve throughput and responsiveness of glutin based loop 2019-02-19 07:04:00 -08:00
Wez Furlong
ad77709506 fix fault on shutdown when using fontloader+freetype 2019-02-19 06:38:21 -08:00
Wez Furlong
6ffe4a3044 prefer freetype over rusttype 2019-02-18 23:31:22 -08:00
Wez Furlong
f21bc5aa01 fixup macos for 2018 edition 2019-02-18 23:29:11 -08:00
Wez Furlong
7e38628486 update termwiz to 2018 edition 2019-02-18 23:26:41 -08:00
Wez Furlong
9f6b21f0db update term to 2018 edition 2019-02-18 23:20:59 -08:00
Wez Furlong
571562351d migrate wezterm to 2018 edition 2019-02-18 23:17:33 -08:00
Wez Furlong
4c39faffbe use the open crate for url clicking 2019-02-18 22:57:40 -08:00
Wez Furlong
3812ec55b1 tweak readme 2019-02-18 22:23:13 -08:00
Wez Furlong
03f6f1272b fixup macos compilation 2019-02-18 22:22:43 -08:00
Wez Furlong
9009daa1db adjust shape for non-harfbuzz freetype
This looks better on windows
2019-02-18 22:11:43 -08:00
Wez Furlong
3dfaf7111f allow runtime selection of font loader/renderer
This cleans up the rats nest of conditional build bits
and allows easier testing and comparison of the systems.
2019-02-18 22:02:31 -08:00
Wez Furlong
79fb3e206b use fontload + freetype on windows 2019-02-18 21:09:54 -08:00
Wez Furlong
1039e013c1 extract fontloader loader from fontloader_and_rusttype 2019-02-18 13:28:25 -08:00
Wez Furlong
9de24a75ed split rusttype font from fontloader 2019-02-18 13:13:36 -08:00
Wez Furlong
e3b3fa58fc add ft memory face loader 2019-02-18 12:56:41 -08:00