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