Commit graph

54 commits

Author SHA1 Message Date
Jeremy Soller
68a0a21f3a Calculate damage (not used yet) 2024-02-05 21:01:16 -07:00
Mattias Eriksson
05ee3dca4a Clippy fixes 2024-02-05 09:09:23 -07:00
Jeremy Soller
d043f45b0f
Fix selection when using window background as terminal background 2024-01-31 15:05:21 -07:00
Jeremy Soller
c0d7fed185
Use window background for cosmic color schemes (#102) 2024-01-31 11:20:15 -07:00
Mattias Eriksson
e91bf807ec Improve SGR Scroll Wheel support 2024-01-31 09:33:18 -07:00
Mattias Eriksson
8d7d074933 Add support for Mouse Events 2024-01-31 06:34:55 -07:00
Jeremy Soller
a249d7d0e1
Set MSRV to 1.71 2024-01-29 09:47:06 -07:00
Mohammad AlSaleh
d6946d40bd Fix tab skip rendering
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>
2024-01-21 16:08:44 -07:00
Mattias Eriksson
71af9b7f9b Merge branch 'master_jammy' into split 2024-01-18 08:00:02 +01:00
Mohammad AlSaleh
f5cf7e0040 Set monospace width on text buffers
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>
2024-01-17 17:40:30 -07:00
Jeremy Soller
d656254282
Update cosmic-text 2024-01-17 13:41:17 -07:00
Mattias Eriksson
d3afe3f6bc Merge branch 'master_jammy' into split 2024-01-17 16:41:35 +01:00
Mattias Eriksson
1940f2c056 Support splitting of terminals using a Pane Grid 2024-01-17 16:09:56 +01:00
Mohammad AlSaleh
60b55a076d Support STRIKEOUT, UNDERCURL, and all underline styles
* 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>
2024-01-16 11:36:05 -07:00
Jeremy Soller
7f37ede453
Allow specifying startup command with -e, --command, or -- 2024-01-14 12:33:28 -07:00
Mohammad AlSaleh
e56e582f90 Add option for setting dim font weight
Allows users to set this to a value lower than default font weight.

Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-12 10:40:10 -07:00
Mohammad AlSaleh
f34116f3f7 Support DIM
* 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>
2024-01-12 10:40:10 -07:00
Jeremy Soller
679e7ee4f5
Fix searching for a single character 2024-01-11 16:20:15 -07:00
Jeremy Soller
ac4472e45e
Fix warnings 2024-01-11 14:32:11 -07:00
Jeremy Soller
9b2ab1202a
Implement search 2024-01-11 14:31:20 -07:00
Jeremy Soller
3f09e17156
Normalize scrollbar style with figma designs 2024-01-11 11:33:39 -07:00
Mohammad AlSaleh
0eea366410 Add LEFT‑TO‑RIGHT ISOLATE character to the beginning of lines
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>
2024-01-11 10:00:04 -07:00
Mohammad AlSaleh
b161db94d1 Add a disabled-by-default toggle for using bright colors for bold text
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-11 09:58:18 -07:00
Mohammad AlSaleh
fc6e2de78b Hide cursor if TermMode::SHOW_CURSOR is not set
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-11 09:58:18 -07:00
Mohammad AlSaleh
bb95e28899 Support HIDDEN cells
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-11 09:58:18 -07:00
Mohammad AlSaleh
7f5736f56a Use bright colors if bold
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-11 09:58:18 -07:00
Mohammad AlSaleh
5eba6eb4d6 Configurable font stretch, font weight, and bold font weight
* Store a font name => font faces map

 * Only list font names that have `NORMAL` and `BOLD` faces with
   `Normal` stretch. This will give us defaults and fall-backs that are
   guaranteed to always exist.

 * Filter by stretch first, with `Normal` chosen as the always existing
   default.

 * Then only list font weights supported by the font name stretch
   selected, for the normal and bold cases.

 * When changing the font name selected, the stretch/weight options
   will stay the same if supported by the new font name, or revert to
   the always existing fall-backs.

Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-09 17:18:04 -07:00
Jeremy Soller
db738371ac
Add menu 2024-01-09 10:16:32 -07:00
Jeremy Soller
556c32e33f
Use flag to determine when terminal needs update, only update once before draw 2024-01-04 14:25:31 -07:00
Mohammad AlSaleh
ff5c46cd19 Move zoom_adj to App so it doesn't persist between runs
Addresses comments from #22.

Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-03 11:29:49 -07:00
Jeremy Soller
5ac267d228
Use linear colors in buffer to avoid patching glyphon 2024-01-02 12:43:17 -07:00
Jeremy Soller
f901c17e70
Join together background rectangles of the same color 2024-01-02 12:21:46 -07:00
Jeremy Soller
04d00836eb
Use fake italic to ensure consistent fonts 2024-01-02 11:47:31 -07:00
Mohammad AlSaleh
faa03fd376 Support color inversion
`htop` with *Monochromatic* colors is rendered correctly now.

Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-02 10:29:35 -07:00
Mohammad AlSaleh
fb2b251a33 Update to alacritty_terminal v0.20
Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
2024-01-02 10:29:11 -07:00
Jeremy Soller
ccd507594b
Improve look of context menu checkbox 2023-12-22 16:08:43 -07:00
Jeremy Soller
898e3add26
Fix off by one in terminal select all 2023-12-22 15:47:59 -07:00
Jeremy Soller
2a4d9f0d28
Implement select all 2023-12-22 15:08:24 -07:00
Jeremy Soller
40c871bcf3
Add context menu 2023-12-22 15:00:50 -07:00
Jeremy Soller
44a5d80740
Add config, translations, settings UI 2023-12-22 14:31:01 -07:00
Jeremy Soller
94dd278f53 Fix selection when scrolling 2023-12-21 22:21:01 -07:00
Jeremy Soller
4ffad110b6 Add copy/paste 2023-12-21 22:13:17 -07:00
Jeremy Soller
c2fb3573d5 Show selection 2023-12-21 21:37:39 -07:00
Jeremy Soller
968955230c Add code to set selection 2023-12-21 15:09:18 -07:00
Jeremy Soller
49149c3e17
Do not draw scrollbar when not needed, draw background behind scrollbar 2023-12-21 10:26:17 -07:00
Jeremy Soller
1cbcc1e795
Share terminal config between tabs 2023-12-21 10:14:57 -07:00
Jeremy Soller
8008d0d2b0
Fix warnings 2023-12-21 09:53:31 -07:00
Jeremy Soller
a83c593a24
Add OneHalfDark theme and script for testing theme 2023-12-21 09:44:44 -07:00
Jeremy Soller
d2515e9653 Add gruvbox colors and use by default 2023-12-20 20:13:12 -07:00
Jeremy Soller
07942c6f86 Remove all reference to scale factor 2023-12-20 19:54:18 -07:00