Mitchell Hashimoto
29de3e80f1
config: yeet usingns
2024-08-16 10:49:37 -07:00
Mitchell Hashimoto
14e3f43db2
font: yeet usingns
2024-08-16 10:47:15 -07:00
Mitchell Hashimoto
b660380b01
renderer: yeet usingns
2024-08-16 10:43:32 -07:00
Mitchell Hashimoto
9f52a963f5
pty: remove usingns
2024-08-16 10:37:31 -07:00
Mitchell Hashimoto
3404f8e53a
termio: yeet usingns
2024-08-16 10:36:10 -07:00
Mitchell Hashimoto
d8f43b34ba
terminal: yeet usingnamespace
2024-08-16 10:32:43 -07:00
Mitchell Hashimoto
dbeb4c1a4a
apprt: yeet usingnamespace
2024-08-16 10:19:46 -07:00
Mitchell Hashimoto
6a44d3196d
input: yeet usingnamespace
2024-08-16 10:16:46 -07:00
Mitchell Hashimoto
caf0355b5c
Merge pull request #2105 from Uzaaft/patch-1
...
docs: Update how people should vouch for friend
2024-08-16 09:40:36 -07:00
Uzair Aftab
8cb1677ad9
docs: Update how to vouch for friends in README_TESTERS.md
2024-08-16 11:35:13 +02:00
Mitchell Hashimoto
bbc7070c9e
Merge pull request #2104 from qwerasd205/grayscale-kitty-images
...
kitty graphics: support loading 1 channel grayscale images
2024-08-15 19:50:48 -07:00
Qwerasd
37872afbce
kitty graphics: support loading 1 channel grayscale images
2024-08-15 21:38:46 -04:00
Mitchell Hashimoto
da8e4c7f95
Merge pull request #2102 from qwerasd205/misc-fix
...
Misc fixes
2024-08-15 16:48:27 -07:00
Qwerasd
c37ee6c428
fix(terminal): proper style cleanup in cursorCopy
...
Old implementation sometimes resulted in an attempt to free the style
from a different page than it originates. This way is also generally
cleaner.
2024-08-15 19:08:12 -04:00
Qwerasd
16284dbb3f
test(terminal/Screen): add failing unit test for cursorCopy
...
Detects issue with style reference counting when the cursor is moved
across pages during the copy.
2024-08-15 19:06:41 -04:00
Mitchell Hashimoto
78e9e9f93a
Merge pull request #2100 from qwerasd205/mac-opengl
...
macos/opengl: lock context while rendering to stop resize crashes
2024-08-15 14:25:20 -07:00
Mitchell Hashimoto
bc667714dd
renderer/opengl: add comment explaning ogl lock on darwin
2024-08-15 14:25:05 -07:00
Qwerasd
0c11d256c8
RefCountedSet: use usize for living count to avoid overflow
2024-08-15 16:28:27 -04:00
Mitchell Hashimoto
9cf6dd845c
Merge pull request #2101 from qwerasd205/shader-fix
...
Fix crash on launch with custom shaders in Metal renderer
2024-08-15 13:11:27 -07:00
Qwerasd
4c2fbe8f74
fix(renderer/Metal): bail out of drawFrame if we haven't sized screen yet
2024-08-15 15:12:49 -04:00
Mitchell Hashimoto
e2cde38ce3
Merge pull request #2097 from hauleth/chore/add-mailmap
...
chore: add mailmap to unify duplicated authors
2024-08-15 08:06:06 -07:00
Łukasz Niemier
0d089388ec
chore: add mailmap to unify duplicated authors
2024-08-15 16:22:00 +02:00
Mitchell Hashimoto
de351bf97c
Merge pull request #2095 from qwerasd205/flicker
...
Fix flickering when resizing surface.
2024-08-15 06:32:45 -07:00
Qwerasd
57d850822e
macos/opengl: lock context while rendering to stop resize crashes
2024-08-14 23:47:33 -04:00
Qwerasd
ff6a0bf9a2
termio: wake renderer outside of critical area in resize
2024-08-14 23:46:52 -04:00
Qwerasd
900aab10f2
renderer: don't update frame if renderer grid size != terminal size
2024-08-14 22:43:58 -04:00
Qwerasd
7929e0bc09
fix: prevent flicker while shrinking screen by eliminating thread race
...
Before this fix, if vsync was on the GPU cells buffer could be cleared
for a frame while resizing the terminal down. This was due to the fact
that the surface sent messages for the resize to both the renderer and
the IO thread. If the renderer thread was processed first then the GPU
cells buffer(s) would be cleared and not rebuilt, because the terminal
state would be larger than the GPU cell buffers causing updateFrame to
bail out early, leaving empty cell buffers.
This fixes the problem by changing the origin of the renderer's resize
message to be the IO thread, only after properly updating the terminal
state, to avoid clearing the GPU cells buffers at a time they can't be
successfully rebuilt.
2024-08-14 19:46:24 -04:00
Mitchell Hashimoto
93c377c6a1
Merge pull request #2094 from jcollie/gtk-url-overlay-pretty
...
gtk: prettify the url overlays
2024-08-14 11:12:37 -07:00
Jeffrey C. Ollie
414fdc0214
gtk: prettify the url overlays
2024-08-13 14:21:28 -05:00
Mitchell Hashimoto
3e0a5d3a73
Merge pull request #2091 from gpanders/patch-1
...
config: fix typo
2024-08-12 09:46:13 -07:00
Gregory Anders
59f259d7e4
config: fix typo
...
Disabling vsync reduces input latency, so this should say "minimize"
rather than "maximize".
2024-08-12 09:24:03 -05:00
Mitchell Hashimoto
60f6576770
Merge pull request #2088 from rockorager/main
...
fix(surface): account for padding in mouse pixel reports
2024-08-11 18:04:21 -07:00
Mitchell Hashimoto
59de7d8239
Merge pull request #2087 from qwerasd205/murica
...
spelling: normalize grey -> gray
2024-08-11 18:03:22 -07:00
Mitchell Hashimoto
23de1fb4ea
Merge pull request #2085 from Syphdias/option-to-limit-procs
...
Add Config Option to Limit Number of Processes
2024-08-11 15:57:13 -07:00
Tim Culverhouse
97db055b54
fix(surface): account for padding in mouse pixel reports
...
Padding was accounted for in cell reports, but not pixel reports. Update
inspector to report the pixel coordinates the terminal reports.
2024-08-11 17:47:21 -05:00
Mitchell Hashimoto
ed49670d2f
font: remove broken test (on purpose) due to improvements in shaping
2024-08-11 15:46:08 -07:00
Mitchell Hashimoto
468a8e9ed4
Merge pull request #2086 from ghostty-org/split
...
font/shaper: split text runs on common bad ligature pairs
2024-08-11 15:40:22 -07:00
Mitchell Hashimoto
a158a1d45f
os: unify memory/processes cgroup limiting func
2024-08-11 15:37:54 -07:00
Qwerasd
10b8ca3c69
spelling: normalize grey -> gray
2024-08-11 18:31:01 -04:00
Mitchell Hashimoto
e385e0f9d0
font/shaper: split text runs on common bad ligature pairs
...
Fixes #2081
Many fonts have a bad ligature for "fl", "fi", or "st". We previously
maintained a list of such fonts in quirks.zig. However, these are so
common that it was suggested we do something more systematic and this
commit is that.
This commit changes our text run splitting algorithm to always split on
`fl`, `fi`, and `st`. This will cause some more runs for well behaved
fonts but the combination of those characters is rare enough and our
caching algorithm is good enough that it should be minimal overhead.
This commit renders our existing quirks fonts obsolete but I kept that
logic around so we can add to it if/when we find other quirky font
behaviors.
2024-08-11 15:26:36 -07:00
Mitchell Hashimoto
de9ea2d735
font: add test for fl lig
2024-08-11 15:04:56 -07:00
Christian Kugler
ba41f142ed
Add Config Option to Limit Number of Processes
...
To protect your system and ghostty from misbehaving programs that launch
too many processes for the system to handle (e.g. like a fork bomb),
this implements an option to limit the number of processes that can be
started in a surface.
A fork bomb for example or other misbehaving program would then only
take down one surface and not the entire system.
Side node:
If I am right in issue #2084 , this feature does not actually work on a
per surface basis but on all surfaces. If this is the case, it could
probably be fixed together. Chances are, that I am wrong though 😉
Further improvements that could be done:
- unify way to set cgroup attributes
- set sane default: 10% of system max?
2024-08-11 23:37:57 +02:00
Mitchell Hashimoto
956b097786
Merge pull request #2083 from ghostty-org/macos-resize
...
macOS: resize overlay improvements
2024-08-11 11:41:56 -07:00
Mitchell Hashimoto
affe12d68c
ios: add focusInstant field to surface
2024-08-11 11:10:35 -07:00
Mitchell Hashimoto
2e0e8897e7
macos: avoid showing overlay if gained focus recently
2024-08-11 11:07:07 -07:00
Mitchell Hashimoto
975fc86866
Merge pull request #2076 from cryptocode/cc-pagelist-arrayhashmap
...
Improve resize performance by switching to AutoArrayHashMapUnmanaged
2024-08-11 10:36:19 -07:00
Mitchell Hashimoto
087b663787
Merge pull request #2082 from jcollie/gtk-resize-overlay-improvements
...
gtk: resize overlay improvements
2024-08-11 10:36:07 -07:00
Mitchell Hashimoto
4680c87c8b
macos: pause resize overlay until 500ms passes
2024-08-11 10:34:53 -07:00
Jeffrey C. Ollie
f4bdf8d3a1
gtk: resize overlay improvements
...
* runtime changing of `resize-overlay` now works on GTK
* shorten function names in ResizeOverlay
* improve documentation
2024-08-11 12:23:43 -05:00
Mitchell Hashimoto
1cbeb264c9
Merge pull request #2077 from ghostty-org/resize-mac
...
macos: implement resize overlay
2024-08-10 21:23:25 -07:00