Add themes (or palette/scheme pairs as they're referred to elsewhere)
commonly found and used in other terminals:
* Tango Palette (Dark and Light themes)
* XTerm Palette (Dark and Light themes)
* Rxvt Palette (Dark and Light themes)
* Solarized Palette (Dark and Light themes)
* Linux Console Palette & Theme
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
* Presumably, the TODO about window resizing interfering with scrolling
is not applicable anymore with the existence of padding from the pane
grid container. So, set `core.window.content_container` to false.
* Pane grid container didn't follow the selected theme. So, set style
on it to fix that.
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
Replace '\t' with a space in text buffers, as tab skip/stop is handled
by `alacritty_terminal`.
Also, sending a tab to the shaper causes issues, as fonts either have
no tab codepoint, or worse, some do, with the glyph produced being
anyone's guess. Some may render a tab to some random character like
'0'.
Fixes#73.
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
`ctrl`+`N` is a common shortcut to switch to a specific tab. 1-8
switches to the exact tab or the last tab. `ctrl`+`9` always switches to
the last tab.
Make use of the addition to cosmic-text that allows matching
the widths of fallback Monospace fonts to the default one.
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
* Add `Metadata` struct to pass bg, underline_color, and flags info via
metadata.
* Keep and `IndexSet` of `Metadata` info in Terminal.
* Use `Metadata` info to render STRIKEOUT, UNDERCURL, and all underline
styles via `BgRect`.
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
* Add a color deriver and derive dim colors for all themes.
* Derive actual bright colors for the OneHalfDark theme while at it.
* Use dim colors when the DIM flag is set.
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
This zero-width char will force the shaper to treat detected RTL
lines as LTR.
RTL text would still be rendered correctly. But this fixes the wrong
behavior of it being displayed aligned to the right.
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>