1
1
mirror of https://github.com/wez/wezterm.git synced 2025-01-02 02:35:32 +03:00
Commit Graph

66 Commits

Author SHA1 Message Date
Wez Furlong
d06c08e0f3 config: expose configuration generation number 2019-11-24 09:19:14 -08:00
Wez Furlong
8996f897b9 remove Mux::config in favor of config::configuration()
The idea is to centralize accessing the config to that
function so that we can implement config reloading.
2019-11-24 09:07:46 -08:00
Wez Furlong
819faa3f85 remove unused get_dpi_scale method 2019-11-03 22:01:35 -08:00
Wez Furlong
047a58a6e9 improve error messages when shaping 2019-11-02 16:43:09 -07:00
Wez Furlong
5ebad9e63a dyn everywhere 2019-06-08 21:28:11 -07:00
Wez Furlong
34d6d95b6f adopt log and env_logger for logging 2019-06-08 15:17:41 -07:00
Wez Furlong
f87901c484 tidy up some failure usage 2019-05-26 08:58:59 -07:00
Wez Furlong
45c1f5b4f3 cleanup travis config, re-enable cargo test --all
Streamline the travis deploy builds; when TRAVIS_TAG is set
we'll run `--release` builds.

Don't error out in fontconfig/build.rs if fontconfig is not
installed.  This makes it possible to `cargo test --all` again
on the mac at the cost of potentially making it harder to troubleshoot
problems with not having fontconfig installed on linux.
However: the get-deps script is responsible for installing that.
2019-03-24 08:45:28 -07:00
Wez Furlong
10b3460c49 remove rusttype 2019-03-23 13:45:26 -07:00
Wez Furlong
ed2e407df1 enable harfbuzz on windows 2019-03-23 11:53:45 -07:00
Wez Furlong
27cb18f8ae Build our own freetype, harfbuzz
This is primarily for macos where the default freetype
installation is unable to render color emoji, but should also
help make things more consistent across the various platforms.

It's a little bit awkward on linux because the font-loader crate
pulls in the now-conflicting servo-font* crates.  I've disabled
font-loader on linux systems; it's just calling fontconfig under
the covers anyway.
2019-03-23 09:28:40 -07:00
Wez Furlong
5533eaeba2 disable coretext by default on macos
freetype renders better for now
2019-03-22 21:14:37 -07:00
Wez Furlong
7cdd1876d1 Enable serializing various Line and Cell related structs 2019-03-22 20:41:50 -07: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
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
Wez Furlong
dba88d2102 clippy 2019-02-24 12:01:08 -08:00
Wez Furlong
3026d0fa16 refactor scaling changed 2019-02-23 23:10:40 -08:00
Wez Furlong
aa9942e6d4 spawned windows no longer inherit scaling
On hidpi displays we'd end up with a window twice the size; whoops!
2019-02-23 17:11:23 -08:00
Wez Furlong
9bc54da406 use Rc<FontSystem> rather than Box
This will help with an upcoming change
2019-02-23 17:05:46 -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
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
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
9fa376d2a3 Add command line override for font system 2019-02-20 09:01:36 -08:00
Wez Furlong
6ffe4a3044 prefer freetype over rusttype 2019-02-18 23:31:22 -08:00
Wez Furlong
03f6f1272b fixup macos compilation 2019-02-18 22:22: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
ad55946f07 extract freetype font impl to its own module 2019-02-18 12:52:31 -08:00
Wez Furlong
ad41cecd6e make harfbuzz dep optional 2019-02-17 12:55:02 -08:00
Wez Furlong
f976ca6e23 add rusttype rasterizer 2019-02-16 21:29:04 -08:00
Wez Furlong
12e2dcd181 add incomplete shaping plumbing 2019-02-16 17:12:54 -08:00
Wez Furlong
a4e1bd827e start integrating rusttype and font_loader for windows 2019-02-16 16:15:39 -08:00
Wez Furlong
434c1a1664 wezterm.exe now links, but is missing lots of impl 2019-02-16 15:21:28 -08:00
Wez Furlong
ada197f94e don't panic if we get confused by text char boundaries
This triggered for me when grepping a file containing various
foreign language translations (non UTF-8).
2018-10-21 14:45:26 -07:00
Wez Furlong
efb9acdc84 don't error out if we can't find a glyph
Could repro the issue with this little python script:

```
print(u"\ua123HELLO")
```
2018-08-04 15:06:16 -07:00
Wez Furlong
d73892a4fd update for recent rustfmt changes
No functional changes
2018-04-11 13:15:12 -07:00
Wez Furlong
f7a567b847 share a reference to the config 2018-03-03 16:42:46 -08:00
Wez Furlong
f1db5dac40 clippy 2018-03-03 13:00:56 -08:00
Wez Furlong
9673c8c1b7 roll back bundling of harfbuzz
This will likely break travis; I'll follow up with something to help with that.

Refs: https://github.com/wez/wezterm/issues/1
2018-02-22 21:07:17 -08:00
Wez Furlong
c39dbdc356 stubs for macos font loading 2018-02-20 22:33:09 -08:00
Wez Furlong
a7f2757452 rustfmt update 2018-02-20 22:08:19 -08:00
Wez Furlong
e9e3e47b94 make fontconfig/freetype conditional 2018-02-20 20:55:03 -08:00
Wez Furlong
999396bc45 separate out the fontconfig/freetype code 2018-02-20 20:20:37 -08:00
Wez Furlong
dd4c9d6683 refactor the font loading code
This is the first step towards making this code more system independent.
2018-02-20 19:53:50 -08:00
Wez Furlong
5a99dd143c move hbwrap into harfbuzz crate 2018-02-20 14:32:28 -08:00
Wez Furlong
4818cdb838 improve font rendering by reducing hinting level
and using a more robust color multiplication function.
2018-02-18 20:30:53 -08:00