Commit Graph

7529 Commits

Author SHA1 Message Date
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