mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-24 12:46:10 +03:00

This actually doesn't implement reflow but I wanted to merge this because it has an important refactor and clarity around screen operations. It is now clearly defined in the API what portion of the screen you're accessing (active, viewport, etc.) and the terminal only operates on the active area (fixing TODO item in diff). This is all groundwork I found was necessary to even start thinking about reflow.
1.1 KiB
1.1 KiB
Bugs:
- Underline should use freetype underline thickness hint
Performance:
- libuv allocates on every read, we should use a read buffer pool
- update cells should only update the changed cells
- for scrollback, investigate using segmented list for sufficiently large scrollback scenarios.
- scrollback: dynamic growth rather than prealloc
Correctness:
exit
in the shell should close the window- scrollback: reflow on resize
- test wrap against wraptest: https://github.com/mattiase/wraptest
- automate this in some way
Improvements:
- scrollback: configurable
- selection on top/bottom should scroll up/down (while extending selection)
- double-click to select a word
- triple-click to select a line
- shift-click and drag to continue selection
- arrow keys do nothing, should send proper codes
- home/end should scroll to top/bottom of scrollback
Major Features:
- Strikethrough
- Emoji
- Ligatures
- Bell
- Mac:
- Enable retina framebuffer
- When retina, fonts need to be rendered 2x, they're blurry right now
- Switch to raw Cocoa and Metal instead of glfw and libuv (major!)