Wez Furlong
4f9532f9d8
window: plumb font config to underlying window impl
2021-06-26 22:58:42 -07:00
Wez Furlong
edbb446183
deps: cargo update
2021-06-26 22:58:42 -07:00
Wez Furlong
e69869efa7
refactor deps so that window can depend on wezterm-font
...
I want to use this to render the font in the title bar
2021-06-26 22:58:42 -07:00
Wez Furlong
d04486f30a
wayland: replace andrew with tiny_skia
...
This has the consequence of removing the title bar text when
client side decorations are in use.
2021-06-26 22:58:42 -07:00
Wez Furlong
d1177a29c2
wayland: update to SCTK 0.14
2021-06-26 22:58:42 -07:00
Wez Furlong
355b2f5b5a
wayland: import ConceptFrame impl from SCTK
...
This has been removed in a later version, so pull it in ahead
of updating that dependency to verify that it builds.
2021-06-26 22:58:42 -07:00
Wez Furlong
8ab025b7fc
Allow building without wayland support
...
You can run `cargo build --release --no-default-features` to build
without wayland support.
This is useful for systems that do not have wayland (eg: the `slint`
distro).
2021-06-26 22:58:42 -07:00
Wez Furlong
e78bcfce2a
add some test data files
2021-06-26 22:58:42 -07:00
Wez Furlong
2fc143e6dd
click to focus window now focuses the pane under the mouse cursor
...
refs: https://github.com/wez/wezterm/issues/881
2021-06-26 15:24:17 -07:00
Wez Furlong
e786968578
adjust hinting for box drawing
...
This looks better at more sizes
refs: #584
2021-06-26 13:56:16 -07:00
Wez Furlong
b7f504b15e
complete box drawing glyphs
...
refs: #584
2021-06-26 13:45:45 -07:00
Wez Furlong
24fbba66c2
even more box drawing glyphs
2021-06-26 12:28:11 -07:00
Wez Furlong
29f28885fa
box drawing: cell arcs
2021-06-26 10:37:09 -07:00
Wez Furlong
4e7f73fab7
box drawing: half lines and mixed lines
2021-06-26 10:16:12 -07:00
Wez Furlong
08fb4eb858
more dashes, and the diagonals
2021-06-26 09:55:45 -07:00
Wez Furlong
0b5444ccfd
always use own box glyphs for pane splits
...
This section of the code wasn't looking up the custom glyphs
and would always use the font. We can make rendering a little
more efficient if we skip the font resolution for this case,
and the code is much simpler if we just use our own box drawing
glyphs, so that's what we're doing here.
refs: #584
2021-06-26 09:26:10 -07:00
Wez Furlong
843dd88bb5
improve box drawing rendering at smaller font sizes
2021-06-26 08:54:01 -07:00
Wez Furlong
4c0d789ac3
zeno -> tiny_skia
...
Mostly so that we can turn off anti-aliasing for smaller sizes,
but it also happens to be more complete anyway.
2021-06-25 22:55:42 -07:00
Wez Furlong
fad09eddda
even more box drawing glyphs
2021-06-25 21:56:24 -07:00
Wez Furlong
f846f0c9e8
missed the chonky 4 vertical dash
2021-06-25 10:04:49 -07:00
Wez Furlong
8a3fb11598
more box drawing glyphs
2021-06-25 09:58:51 -07:00
Wez Furlong
d7975b15c5
more box glyphs
2021-06-25 09:23:01 -07:00
Wez Furlong
afe63357d3
top left line box glyphs
...
refs: #584
2021-06-25 00:23:42 -07:00
Wez Furlong
e0ea161673
Custom glyphs for box drawings solid and dashed lines
...
closes : #588
refs: #584
2021-06-24 23:19:09 -07:00
Wez Furlong
1e8b9ec0bb
block glyphs: adjust poly to allow per-path stroke/weight
2021-06-23 10:03:29 -07:00
Wez Furlong
8f676bda36
remove dead code
2021-06-23 09:48:36 -07:00
Wez Furlong
709f33561b
ls-fonts: indicate when we're using a custom glyph
...
```
; ./target/debug/wezterm ls-fonts --text '├─░'
├ \u{251c} glyph=915 wezterm.font("Terminus", weight="Bold", stretch="Normal", italic=false)
/home/wez/.fonts/terminus-bold.otb, FontDirs
─ \u{2500} glyph=891 wezterm.font("Terminus", weight="Bold", stretch="Normal", italic=false)
/home/wez/.fonts/terminus-bold.otb, FontDirs
░ \u{2591} drawn by wezterm: Full(Light)
```
2021-06-23 09:20:35 -07:00
Wez Furlong
ea95f3f735
don't round mouse coords when mouse is grabbed
...
refs: https://github.com/wez/wezterm/issues/898
2021-06-22 20:39:51 -07:00
Wez Furlong
07799d0ab3
cargo update
2021-06-20 19:06:54 -07:00
Wez Furlong
9b6fa8d6af
remove extraneous log::warn
2021-06-20 17:24:12 -07:00
Wez Furlong
ea58c2311a
docs: changelog for https://github.com/wez/wezterm/pull/891
2021-06-20 09:08:26 -07:00
Autumn Lamonte
39535bbd77
#891 Fix tests
2021-06-20 08:29:31 -07:00
Autumn Lamonte
ab1cad0cbf
#891 VT100 character set support
2021-06-20 08:29:31 -07:00
Autumn Lamonte
317d8d9725
#891 Fix format for CI
2021-06-20 08:29:31 -07:00
Autumn Lamonte
0b7f48256f
Use black diamond U+25C6, not black diamond suit U+2666
2021-06-20 08:29:31 -07:00
Autumn Lamonte
6f680dc481
Flesh out DEC Special Graphics character set
2021-06-20 08:29:31 -07:00
Wez Furlong
ccd66c01a9
sixel: respect Dec Private Mode 8452
...
This adjusts the cursor position after emitting a sixel.
@dankamongmen: I don't have much of a sixel test suite to speak
of (cat snake.six :-p); I'd appreciate it if you could run
notcurses against this and confirm that it is doing something
sane!
At the very least, we shouldn't be warning about the unhandled
mode any more!
refs: https://github.com/wez/wezterm/issues/863
refs: https://github.com/dankamongmen/notcurses/issues/1743
2021-06-19 21:07:44 -07:00
Wez Furlong
ae4bfae5c4
mouse cursor -> Arrow when app grabs mouse
...
closes: https://github.com/wez/wezterm/issues/859
2021-06-19 17:35:16 -07:00
Wez Furlong
fdf871c3cb
fonts: add wezterm ls-fonts --text "hello"
to explain per-glyph font
...
```
; ./target/debug/wezterm ls-fonts --text "␉ ␌ ␍ ␊ ␋"
␉ \u{2409} glyph=885 wezterm.font("Terminus", weight="Bold", stretch="Normal", italic=false)
/home/wez/.fonts/terminus-bold.otb, FontDirs
\u{20} glyph=2 wezterm.font("Operator Mono SSm Lig", weight="DemiLight", stretch="Normal", italic=false)
/home/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs
␌ \u{240c} glyph=888 wezterm.font("Terminus", weight="Bold", stretch="Normal", italic=false)
/home/wez/.fonts/terminus-bold.otb, FontDirs
\u{20} glyph=2 wezterm.font("Operator Mono SSm Lig", weight="DemiLight", stretch="Normal", italic=false)
/home/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs
␍ \u{240d} glyph=889 wezterm.font("Terminus", weight="Bold", stretch="Normal", italic=false)
/home/wez/.fonts/terminus-bold.otb, FontDirs
\u{20} glyph=2 wezterm.font("Operator Mono SSm Lig", weight="DemiLight", stretch="Normal", italic=false)
/home/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs
␊ \u{240a} glyph=886 wezterm.font("Terminus", weight="Bold", stretch="Normal", italic=false)
/home/wez/.fonts/terminus-bold.otb, FontDirs
\u{20} glyph=2 wezterm.font("Operator Mono SSm Lig", weight="DemiLight", stretch="Normal", italic=false)
/home/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs
␋ \u{240b} glyph=887 wezterm.font("Terminus", weight="Bold", stretch="Normal", italic=false)
/home/wez/.fonts/terminus-bold.otb, FontDirs
```
2021-06-19 16:55:45 -07:00
Wez Furlong
d317f0f312
Don't abort for overlay large sixel payloads
...
Rust hasn't stabilized fallible allocation, so when we are presented
with an implausibly large sixel, Rust terminates the program; it's not
even a panick that we could potentially catch -> direct to termination.
This commit introduces an arbitrary constraint so that we can
avoid unconditionally terminating for this bad input case.
Thanks to @klamonte for sharing this test case!
2021-06-19 13:01:17 -07:00
Wez Furlong
d57bc9b3dc
CloseCurrentPane on last pane in a tab results in window closing
...
The issue is that the pane was only removed from the tab when explicitly
closed, leaving it to be later detected and flushed.
However, in the meantime, when performing eg: cursor blink maintenance,
if the set of panes in the tab is empty then the window would close.
The resolution is to ask the mux (rather than the tab) to kill the pane,
so that the cascading closure of the tab causes the window's active
tab to reference the correct remaining tab.
refs: #890
2021-06-19 11:06:14 -07:00
Wez Furlong
e3fdef7fb4
add wezterm cli spawn --new-window
flag
...
refs: https://github.com/wez/wezterm/issues/887
2021-06-18 22:12:25 -07:00
Wez Furlong
618f77f2c6
macos: improve core text font matching
...
Change the loader so that it has better matching weight and stretch
characteristics, and ask core text to return all possible candidates
so that we can then apply our CSS-style font matching rules.
Previously, the font descriptor we created would only match the
family name and return the normal/regular variant only.
refs: https://github.com/wez/wezterm/issues/873
2021-06-17 23:33:05 -07:00
Wez Furlong
7afe539b0c
ls-fonts: implement for macos
...
this also improves the PartialOrd impl for ParsedFont so that we can
dedup results from core text correctly.
refs: https://github.com/wez/wezterm/issues/347
2021-06-17 17:58:00 -07:00
Wez Furlong
e0b62d07ca
ls-fonts: add --list-system flag to list system fonts
...
heads up @bew!
This is implemented on windows and font-config systems;
needs to be fleshed out for macos.
refs: https://github.com/wez/wezterm/issues/347
2021-06-17 09:11:54 -07:00
Wez Furlong
8ca0024bfb
termwiz: erase_cell could panic if erasing beyond EOL
...
A relatively recent commit made it possible for the cell storage
to be smaller than the viewport width.
Avoid panicking when erasing beyond the end of the cell storage.
We can simply NOP as that cell is already implictly erased.
closes : #847
2021-06-16 08:35:09 -07:00
Wez Furlong
1be3d016b1
deps: windows 0.9 -> 0.11
...
closes : #872
2021-06-16 08:29:09 -07:00
Wez Furlong
f752d0e7ac
set COLORTERM=truecolor in the environment
...
closes: https://github.com/wez/wezterm/issues/875
2021-06-15 19:34:31 -07:00
Wez Furlong
35b267677b
cargo update
2021-06-13 23:36:22 -07:00
Wez Furlong
a4550385fc
adjust zeno paths to allow for curves, add rounded powerline
...
refs: #584
2021-06-13 23:21:55 -07:00