205 Commits

Author SHA1 Message Date
Kovid Goyal
62699f6799 Get basic C cli parsing working 2025-04-28 09:20:10 +05:30
Kovid Goyal
7bd7709685 Move parsing of macos-launch-services-cmdline into native code
Avoids expensive re-exec and simplifies various things. Much faster
for single instance usage.
2025-04-25 14:39:36 +05:30
Kovid Goyal
4e7418f2f1 Have makedirs operate on abspaths
clean() wont work with paths that use .. to go to
levels above the root of the passed in path.
2025-04-24 21:51:46 +05:30
Kovid Goyal
76ac66fc8c Implement various filesystem utility functions in C so they can be used in the launcher 2025-04-24 20:37:51 +05:30
Kovid Goyal
9296bc3060 Speed up --detach
Also DRYer as well as more robust since single instance cleanup, binding
etc. happen in single process.
2025-04-24 08:13:58 +05:30
Kovid Goyal
559e8449c5 Allow redirecting to a log file in --detach mode 2025-04-24 06:46:46 +05:30
Kovid Goyal
66856e7b52 Use a multi-stage lookup table for grapheme segmentation 2025-03-31 21:51:28 +05:30
Kovid Goyal
2aa2607adc ... 2025-03-25 17:13:54 +05:30
Kovid Goyal
3e50588525 Add a test for PUA recog 2025-03-25 16:52:01 +05:30
Kovid Goyal
3d0e45ace8 Use the new multi-stage unicode table for wcwidth 2025-03-24 14:20:40 +05:30
Kovid Goyal
583a858769 Use a multistage lookup table for grapheme segmentation 2025-03-22 11:50:04 +05:30
Kovid Goyal
0d866b1f13 Add tests for grapheme segmentation
Test data provided by Unicode organisation
2025-03-13 13:48:35 +05:30
Kovid Goyal
82d4234d9a Run at exit cleanup functions explicitly instead of relying on the ever unreliable python interpreter to do it 2025-02-10 15:06:18 +05:30
Kovid Goyal
9e9ab3e6f9 pass decorations location as sprite metadata 2025-02-03 10:56:45 +05:30
Kovid Goyal
0fb49f4139 Switch to using an index for sprite tracking
Frees up two bytes in GPUCell. Doesn't require a minimum texture row
size. Makes a bunch of code faster. Index uses 31 bits which gives us
2,147,483,647 aka ~ 2 billion sprites.
2025-02-03 10:56:45 +05:30
Kovid Goyal
5e861ea5ac Start work on testing multicell commands 2025-02-03 10:56:43 +05:30
Kovid Goyal
155990ce0b Fix some method declarations for Python API compat 2024-12-24 22:54:22 +05:30
Kovid Goyal
f6347ee1e2 Move more declarations out of data-types.h 2024-11-04 09:10:07 +05:30
Kovid Goyal
481153318b Fix a regression that broke writing to the clipboard using the OSC 5522 protocol
Fixes #7858
2024-09-15 08:42:50 +05:30
Kovid Goyal
8bee1b25ef ... 2024-09-08 11:02:28 +05:30
Kovid Goyal
cda023782f Use fast call for base64 encode/decode 2024-09-06 10:11:40 +05:30
Kovid Goyal
c8aa6d75a7 Add base64 encode/decode into functions 2024-09-06 09:47:14 +05:30
Kovid Goyal
9843b5c210 Remove unused code 2024-08-26 19:13:09 +05:30
Kovid Goyal
eedf01fbe3 Make getpeerid re-useable 2024-08-26 18:55:10 +05:30
Kovid Goyal
554a2b1811 Allow unfocused cursor shape to remain unchanged
Fixes #7728
2024-08-17 15:49:55 +05:30
Kovid Goyal
e97c225b6c Add *_into API for streaming encode/decode 2024-07-30 07:18:33 +05:30
Kovid Goyal
8d36677d41 Add a decode_into API for streaming base64 decoding
Allows buffer reuse
2024-07-29 22:30:36 +05:30
Kovid Goyal
d2ced8d6e1 Add a streaming base64 encoder 2024-07-29 22:08:13 +05:30
Kovid Goyal
8b54d19326 ... 2024-07-29 21:27:42 +05:30
Kovid Goyal
b52275e0b5 Simplify API of streaming base64 decoder further 2024-07-29 21:24:45 +05:30
Kovid Goyal
9047df5080 Use a more correct method name 2024-07-29 20:17:52 +05:30
Kovid Goyal
4ba9fcaf37 Simplify streaming base64 decoder by using the streaming API of libbase64 2024-07-29 20:08:28 +05:30
Kovid Goyal
9de4b7bc78 Dont alloc the stream decode buffer on object init 2024-07-26 23:57:36 +05:30
Kovid Goyal
3d0747e713 Switch to SIMD accelerated base64 decoding for clipboard and notification requests 2024-07-26 23:57:33 +05:30
Kovid Goyal
39dfa75fe7 Add test for steps easing function value calculation 2024-07-18 22:25:02 +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
581db0ab7a Make kitty --version fast
It's now approx 3ms on my system and 1.23 times faster than alacritty
--version
2024-06-22 12:27:29 +05:30
Kovid Goyal
39ea084be9 Linux: Run all child processes in their own systemd scope to prevent the OOM killer from harvesting kitty when a child process misbehaves
Fixes #7427
2024-05-16 15:43:25 +05:30
Kovid Goyal
8fc96c5bd7 Make the debug logging functions consistent
They now all output the same format of:
[time since program start] msg
2024-04-08 12:53:55 +05:30
Kovid Goyal
f7a7765ba2 Clean up debug rendering output 2024-03-26 13:06:08 +05:30
Kovid Goyal
ad64472950 Make the terminfo database available in the compiled module 2024-03-21 10:16:50 +05:30
Kovid Goyal
a33b747de5 Fix find_in_memoryview() 2024-02-25 09:57:32 +05:30
Kovid Goyal
3d0a90e63d Switch to SIMD based base64 2024-02-25 09:57:29 +05:30
Kovid Goyal
6205fb32fd Refactor VT parser for more speed
No longer copy bytes into a separate buffer, instead parse them in place
in the read buffer
2024-02-25 09:57:23 +05:30
Kovid Goyal
23bb2e1b67 Fast function to replace c0 codes 2024-02-25 09:57:23 +05:30
Kovid Goyal
5f809bf249 Get kitty building with the new VT parser 2024-02-25 09:57:22 +05:30
Kovid Goyal
b083ad9038 Start work on bytes based VT parser 2024-02-25 09:57:22 +05:30
Kovid Goyal
b0ba4b4a42 Fast and robust implementation of shlex.split
Also returns position of words in src string which we will need for
keymap parsing.
2023-12-02 14:57:02 +05:30
Kovid Goyal
6c7a8f8fa9 Ensure usage of __attribute__(cleanup) never frees un-initialized memory
Use macros that take an initializer parameter to, thereby ensuring the
variable to be cleaned up is always initialized.
2023-08-07 12:24:18 +05:30
Kovid Goyal
d01da39dfb Speed up base64 decode even more 2023-07-30 19:49:39 +05:30