Kovid Goyal
06b5eff6e6
Add support for in-band window resize notifications
...
Fixes #7642
2024-07-18 20:32:33 +05:30
Kovid Goyal
b17c2dd06b
Update docs of remote control commands to note that they support more image formats than just PNG
2024-07-17 04:38:11 +05:30
Kovid Goyal
065f216c6f
ensure options object is freed at shutdown
2024-07-16 21:49:33 +05:30
Kovid Goyal
30023d9d9c
DRYer
2024-07-16 10:57:00 +05:30
Kovid Goyal
2ba28171ab
DRYer
2024-07-16 10:45:46 +05:30
Kovid Goyal
c056df223e
Nicer way to prevent defrag
2024-07-16 07:43:50 +05:30
Kovid Goyal
15dd95d420
kitten @ resize-window: Fix --increment=0 treated as --increment=2
2024-07-15 22:32:29 +05:30
Kovid Goyal
04735eb072
...
2024-07-15 22:21:21 +05:30
Kovid Goyal
56bd1f59dd
cleanup must be called with lock held
2024-07-15 22:07:50 +05:30
Kovid Goyal
4c5ec4a018
Silence spurious warning from Clang ASAN
2024-07-15 22:05:48 +05:30
Kovid Goyal
24e6dda0bc
disk-cache: Improve hole management
...
Make coalescing of neighboring holes robust. Speed up hole finding.
Cost is we replace a single array tracking holes with three hashmaps
tracking size->[pos] pos->size and endpos->size.
2024-07-15 21:13:59 +05:30
Kovid Goyal
aaf7808328
Add explicit check for holes in test
2024-07-15 09:05:44 +05:30
Kovid Goyal
7a35cb2d8f
Use an array for id-to-hyperlink mapping
...
Faster, less memory and less code.
2024-07-14 18:43:57 +05:30
Kovid Goyal
35d73410f8
Restore hyperlink garbage collection
2024-07-14 14:57:56 +05:30
Kovid Goyal
5d9c27d3a7
...
2024-07-13 14:08:22 +05:30
Kovid Goyal
f7d81409ae
...
2024-07-13 14:04:21 +05:30
Kovid Goyal
e0a7d25dda
Splits layout: Fix the move_to_screen_edge action breaking when only a single window is present
...
Fixes #7621
2024-07-12 12:13:31 +05:30
Kovid Goyal
870607aa38
remove the no longer used uthash
2024-07-12 11:45:48 +05:30
Kovid Goyal
50ad685ed9
move font fallback hashmap to verstable
2024-07-12 11:45:48 +05:30
Kovid Goyal
bc8c4ac3d6
migrate graphics code to verstable
2024-07-12 11:45:48 +05:30
Kovid Goyal
7d685fc98b
Getting size of cache file should not change its position
2024-07-12 11:45:48 +05:30
Kovid Goyal
6958803fec
Add some locking to python disk cache test API
2024-07-12 11:45:48 +05:30
Kovid Goyal
c410ab8a8f
Hide graphics internal APIs
2024-07-12 11:45:48 +05:30
Kovid Goyal
53eff7927a
Migrate disk cache to verstable
2024-07-12 11:45:45 +05:30
Kovid Goyal
b53264c099
Discard hyperlinks in scrollback if there are too many
2024-07-12 09:11:01 +05:30
Kovid Goyal
2955c3f7a7
Move hyperlink hashmap to verstable
...
Also speedup getting url for hyperlink id by using a second hash map for
it. Change behavior when there are too many hyperlinks to discard new
hyperlinks instead of remapping old hyperlink id and making some old
hyperlink wrong.
2024-07-12 09:11:00 +05:30
Kovid Goyal
9727ea1cac
Migrate glyph properties hash table to verstable
2024-07-12 09:11:00 +05:30
Kovid Goyal
94ebc972ce
move sprite position map to verstable
2024-07-12 09:11:00 +05:30
Kovid Goyal
c9a07f2406
Start move to newer hash table implementation
...
The new implementation is type safe. Also supposedly faster with less
memory overhead, but havent tested since no hash table is a performance
bottleneck.
New hash table is from: https://github.com/JacksonAllan/Verstable
2024-07-12 09:11:00 +05:30
Kovid Goyal
ee7afeea5a
Remove workaround for kwin sending out of order events press/focus events on Wayland as it is not needed with up-to-date kwin and causes issues with multiple OS windows.
...
The code wasnt correct anyway as active_draw_in_window was a window id
and it was being compared to an OS window id.
Fixes #7381
2024-07-09 08:02:10 +05:30
Kovid Goyal
d6e24d4af7
...
2024-07-08 06:43:37 +05:30
Kovid Goyal
3f0604c45f
kitty @ -> kitten @
2024-07-08 06:01:42 +05:30
Kovid Goyal
8327222146
Use realpath when creating the kitty config directory
...
Some people make it a symlink to non-existent paths. See #7607
2024-07-08 05:44:48 +05:30
Kovid Goyal
f8beaa0a4b
Dispatch any clicks waiting for click_interval on key events
...
Fixes #7601
2024-07-07 20:17:22 +05:30
Kovid Goyal
24f01136c7
DRYer
...
Make CLI Only kittens run in overlay windows when run via the kitten
action mapping by default.
2024-07-05 13:23:41 +05:30
Kovid Goyal
1665348b24
Cleanup previous PR
2024-07-03 08:59:35 +05:30
Olimpio Sakamoto
a580717eba
feat: add reder for nerdfont glyphs,\ue0d6, \ue0d7
2024-07-02 15:54:21 -03:00
Kovid Goyal
fd5b96b43b
Use builtin NERD font for symbol_map if no system NERD font is available
2024-07-02 15:33:07 +05:30
Kovid Goyal
a783e5d85a
Ensure builtin NERD font is used only if glyph is not found by normal font fallback
2024-07-02 14:18:22 +05:30
Kovid Goyal
66034d54fb
DRYer
...
Use same algorithm for checking if cell can be rendered everywhere
2024-07-02 10:28:07 +05:30
Kovid Goyal
642dbc6f64
Dont print an error for failure to find fallback font on CoreText
2024-07-02 10:28:07 +05:30
Kovid Goyal
aaf65ec155
Move checking if font has cell text into the font backends
...
Gives us better control
2024-07-02 10:28:07 +05:30
Kovid Goyal
89cf58ba2b
Fix add application font on macOS
2024-07-02 10:28:07 +05:30
Kovid Goyal
98c85d2923
Use builtin NERD fonts
...
Prevents users from having to install their own NERD font. System fonts
are still used preferentially on Linux but on macOS the builtin one is
used preferentially. Cant find any CoreText API to change this.
Still has to be implemented on macOS. And need to add code to the build
system to bundle the font when building.
2024-07-02 10:28:07 +05:30
Kovid Goyal
99258f6621
Nicer error message when running command line only kittens
2024-07-02 10:22:15 +05:30
Kovid Goyal
cc1b464151
Fix #7583
2024-07-01 13:25:05 +05:30
Kovid Goyal
1393fa6239
Fix #7581
2024-06-30 06:58:37 +05:30
Kovid Goyal
5eccdd3d13
...
2024-06-29 16:24:35 +05:30
Kovid Goyal
226cc92b01
API to add font file to system font lookup
2024-06-29 16:18:43 +05:30
Kovid Goyal
78d1275601
macOS: Fix rendering of the unicode hyphen (U+2010) character when using a font that does not include a glyph for it
...
The problem was caused by CoreText falling back to the glyph for the
ASCII hyphen U+00AD when the font does not contain a glyph for U+2010.
However, HarfBuzz does not do this automatic fallback (see
https://github.com/harfbuzz/harfbuzz/issues/517 ). This leads to the
character not being rendered.
To fix this we specialize HarfBuzz glyph lookup for this character
to follow CoreText. HarfBuzz should really do this automatically when
the hb_font is based on a CTFontRef, but I dont have the time/energy to
argue with its maintainers. Note that HarfBuzz already does this
automatic fallback for U+2011.
Hopefully, there aren't many more such special cases in CoreText.
Fixes #7525
2024-06-29 14:22:04 +05:30