Mitchell Hashimoto
079420730a
renderer/metal: address some todos
2024-07-29 10:55:50 -07:00
Mitchell Hashimoto
359458b96a
terminal/kitty: switch to new placement math
2024-07-29 10:52:10 -07:00
Mitchell Hashimoto
0ebf14fd44
terminal/kitty: working on moving placement math here for testing
2024-07-29 10:39:18 -07:00
Jeffrey C. Ollie
67efe7fe42
Additions to GTK context menu
...
Add "New Window", "New Tab", and "Reset" to GTK context menu.
2024-07-29 12:08:29 -05:00
Mitchell Hashimoto
4bf8d30b44
renderer/metal: rewrite kitty placeholder handling
2024-07-29 09:35:51 -07:00
Justin Su
32961d3e97
Use Surface.hasSelection()
2024-07-28 19:43:36 -04:00
Mitchell Hashimoto
874c4e13d2
Merge pull request #2008 from ghostty-org/hlpin
...
terminal: cursorChangePin needs to migrate hyperlink state
2024-07-28 14:20:45 -07:00
Mitchell Hashimoto
6d2e97a2f1
terminal: cursorChangePin needs to migrate hyperlink state
...
Fixes #2007
2024-07-28 14:17:38 -07:00
Mitchell Hashimoto
4bbb5d9c86
Merge pull request #2003 from injust/patch-1
...
Update docs for `window-padding-x/y`
2024-07-28 07:06:22 -07:00
Mitchell Hashimoto
cb9e7ab548
adjust_selection keybind should not be consumed if no selection
2024-07-27 21:32:52 -07:00
Justin Su
898bffb6e5
Update docs for window-padding-x/y
2024-07-26 16:23:03 -04:00
Mitchell Hashimoto
6668930b96
terminal: appendGrapheme should text for codepoint, not text
2024-07-26 12:24:35 -07:00
Mitchell Hashimoto
a5d39103c9
renderer/metal: calculate proper grid offsets for image
2024-07-26 12:21:37 -07:00
Mitchell Hashimoto
14e44fa2a8
Merge pull request #1999 from qwerasd205/multi-custom-shader
...
renderer/metal: use swap chain for custom shader passes
2024-07-26 09:37:32 -07:00
Mitchell Hashimoto
3d4dd5277e
renderer/metal: virtual placements are kind of rendering
2024-07-25 22:08:02 -07:00
Mitchell Hashimoto
d6d95209c6
renderer/metal: extract out some image placement logic
2024-07-25 21:35:38 -07:00
Mitchell Hashimoto
266033670d
terminal/kitty: support cells with no diacritics
2024-07-25 21:32:45 -07:00
Mitchell Hashimoto
3549619a64
terminal: introduce row bit for kitty virtual placeholders
2024-07-25 21:32:45 -07:00
Mitchell Hashimoto
91a6e70d1b
terminal/kitty: extra placement tests
2024-07-25 21:32:45 -07:00
Mitchell Hashimoto
1786502f15
terminal/kitty: working runs
2024-07-25 21:32:45 -07:00
Mitchell Hashimoto
cf6463fec0
terminal/kitty: preparing to build runs of placements
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
7c6ae90300
terminal/kitty: implement high bit image id parsing
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
578bfc8d23
terminal/kitty: parse image/placement id from style
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
13df93a1d0
temrinal/kitty: really basic row/col diacritic decoding
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
e656fe3b79
terminal/kitty: starting virtual placement iterator
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
deacb10fb1
terminal: print must use codepoint() now to work with placeholders
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
bb1a9bf532
terminal/kitty: rename diacritics to unicode
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
f71afcab95
terminal/kitty: diacritic small tests
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
358b4ca896
terminal/kitty: parse relative placement fields
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
2c0f9bfc28
terminal: cell returns empty for Kitty placeholder
...
So we don't render the replacement char
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
763e7fab8a
renderer: skip virtual placements
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
7d9e50353b
terminal/kitty: add virtual placeholders placements
2024-07-25 21:32:44 -07:00
Mitchell Hashimoto
a5c382633f
terminal/kitty: placements support location enum (only pin for now)
2024-07-25 21:32:43 -07:00
Mitchell Hashimoto
d29073d999
terminal/kitty: add graphics diacritics file
2024-07-25 21:32:43 -07:00
Mitchell Hashimoto
b103e31727
terminal: isBetween needs to fall through for matching y on top page
...
Regressed in 9198adcba3477ab521cf215f1f652813e32e1951
This was causing Kitty image intersection to break.
2024-07-25 21:32:28 -07:00
Qwerasd
f17c072637
renderer/metal: use swap chain for custom shader passes
2024-07-25 21:16:35 -04:00
Mitchell Hashimoto
16d0df0ba7
Merge pull request #1998 from edmundmiller/zsh-shebang
...
zsh: Generalize shebang
2024-07-25 07:04:59 -07:00
Edmund Miller
3829cc5def
zsh: Generalize shebang
...
Fails on NixOS
/nix/store/lkqjw3yazk7d3il8a0rp11pvjxdyq281-ghostty-0.1.0/share/ghostty/shell-integration/zsh/ghostty-integration: bad interpreter: /bin/zsh: no such file or directory
2024-07-25 08:56:06 -05:00
Mitchell Hashimoto
5620d3bf96
Merge pull request #1995 from ghostty-org/hyperlink
...
terminal: printing over a cell with the same hyperlink keeps flag
2024-07-23 16:04:37 -07:00
Mitchell Hashimoto
902913554b
terminal: printing over a cell with the same hyperlink keeps flag
...
Fixes #1990
This fixes and adds a unit test for an edge case where when printing
over the same cell with the same hyperlink ID, we were unsetting the
cell hyperlink state.
This commit also adds a number of integrity checks to verify hyperlinks
remain in a consistent state.
2024-07-23 16:00:09 -07:00
Mitchell Hashimoto
910ef97080
renderer/metal: zig fmt
2024-07-23 10:02:02 -07:00
Mitchell Hashimoto
2b73b3ab4f
Merge pull request #1993 from ghostty-org/hyperlinkcrash
...
terminal: page clone handles case where hyperlink can't dupe
2024-07-22 17:07:09 -07:00
Mitchell Hashimoto
3b889438aa
terminal: page clone handles case where hyperlink can't dupe
...
Fixes #1991
To check if a hyperlink from another page is already present in our
page's set, we need to dupe the hyperlink struct. If the hyperlink is
already present in our page, this dupe is a waste and is freed.
In the case where the hyperlink is present AND we don't have enough
memory to dupe the hyperlink to check if its present, we'd previous
simply crash out and fail rendering. Debug builds would crash with
integrity errors.
This commit resolves the issue by falling back to a slow path when our
string allocation table is full and iterating over the hyperlink map to
check one by one if we have the hyperlink. This O(N) is much slower than
allocating (in this case) but N is usually low on top of this case being
rare.
A better solution would probably be to ensure we always have some % of
available space free in our string allocation table. This would result
in some wasteful page reallocs but would speed up the render loop. We
can look into that later.
2024-07-22 17:01:25 -07:00
Mitchell Hashimoto
12f0108673
renderer/metal: fix custom shader animations with display link
2024-07-22 15:32:58 -07:00
Mitchell Hashimoto
d07e954933
Merge pull request #1979 from kareigu/gtk-context-menu
...
apprt/gtk: implement context menu
2024-07-22 15:20:11 -07:00
Gregory Anders
3e4a8644b5
renderer/opengl: implement cursor-invert-fg-bg
2024-07-22 16:23:06 -05:00
karei
5eb7925446
apprt/gtk: don't dim surface when opening context menu
2024-07-22 21:13:07 +03:00
Mitchell Hashimoto
53e942abae
apprt/gtk: some stylistic changes
2024-07-22 10:29:59 -07:00
Mitchell Hashimoto
cc3b040571
apprt/gtk: get rid of forcing context menu for now
...
We have escapes (shift) so lets see how that goes and compare to some
other GTK apps first.
2024-07-22 10:21:18 -07:00
Mitchell Hashimoto
ba2032c1f6
Merge branch 'bash-prompt-marks'
2024-07-22 10:15:37 -07:00