Commit Graph

1243 Commits

Author SHA1 Message Date
Kovid Goyal
bc1de92534 Fix the broken tests 2017-09-16 17:05:58 +05:30
Kovid Goyal
37feb65204 Move wakeup calls into child-monitor 2017-09-16 16:46:23 +05:30
Kovid Goyal
9cd146fe3e Remove the buf_toggled callback 2017-09-16 16:31:29 +05:30
Kovid Goyal
7b1576d960 Remove unneccessary python callbacks 2017-09-16 15:03:18 +05:30
Kovid Goyal
6361da9e0b ... 2017-09-16 14:34:47 +05:30
Kovid Goyal
50a1bf528c Get rid of the bell callback, just handle it all in C 2017-09-16 14:34:23 +05:30
Kovid Goyal
2ddbac073a DRYer 2017-09-16 12:56:41 +05:30
Kovid Goyal
33f48e8268 Fix rendering occasionally not occurring after input received 2017-09-16 12:51:30 +05:30
Kovid Goyal
ee581ebdf4 Remove unused code 2017-09-16 12:26:35 +05:30
Kovid Goyal
81879db2db Fix new_input_at not protected by read lock 2017-09-16 12:24:31 +05:30
Kovid Goyal
3675c27268 Fix the new_window keyboard shortcut being passed through 2017-09-16 11:22:58 +05:30
Kovid Goyal
a92b3c605f Move the text attributes out of the char type
This means that more text attributes can be added in the future (there
are 8 bits available) and there is no need to keep bit twiddling when
accessing the chars themselves. Also means less data needs to be sent to
the GPU. Cell size does not change since there were currently 2 unused
bytes because of alignment.
2017-09-16 11:02:42 +05:30
Kovid Goyal
85ed5c1515 Remove unnecessary conditional operators 2017-09-16 09:43:43 +05:30
Kovid Goyal
b7a5c064c2 Fix some Alt based shortcuts not working 2017-09-16 09:32:17 +05:30
Kovid Goyal
34084e7ab5 Neaten up keys.h 2017-09-16 09:16:30 +05:30
Kovid Goyal
728f33700a Fine tune the artificial delays in the render loop
There are now two numbers, repaint_delay and input_delay
that control how often the screen is repainted and how frequently
input received from the child process is processed.

This halves the CPU usage in intensive cases such as scrolling
a file in less. The CPU usage of kitty + X when scrolling is now
significantly lower than all the other terminals on my system.

MROAWR!

...
2017-09-16 08:20:23 +05:30
Kovid Goyal
43ebddc28f Fix writing to child causing excessive CPU usage
Couple of bugs combined.
2017-09-15 21:56:20 +05:30
Kovid Goyal
c5e989bc94 Move the key handler to C 2017-09-15 21:46:00 +05:30
Kovid Goyal
a4d71bcf5c Move the text input callback to C 2017-09-15 18:33:45 +05:30
Kovid Goyal
ddbe0703a3 Remove unused code 2017-09-15 18:10:17 +05:30
Kovid Goyal
b2c7272af1 Store key combos that need special handling in a table for fast lookup 2017-09-15 18:06:26 +05:30
Kovid Goyal
0423c55dc1 Move a few externs into appropriate header files 2017-09-15 11:56:08 +05:30
Kovid Goyal
0b656246fd Fix cursor width incorrect after scrolling 2017-09-15 11:44:16 +05:30
Kovid Goyal
28430a4104 Fix wide chars not being rendered 2017-09-15 11:43:05 +05:30
Kovid Goyal
f0a9f32d0a Fix cursor not being rendered on empty cells 2017-09-15 11:08:42 +05:30
Kovid Goyal
44c897a61a Translate key presses to bytes using a lookup table 2017-09-15 10:45:27 +05:30
Kovid Goyal
b5af266b87 A spot of refactoring 2017-09-15 10:45:27 +05:30
Kovid Goyal
9989363ecd Make the URL highlight color configurable 2017-09-15 10:45:27 +05:30
Kovid Goyal
53ea5c678d Highlight links with a underline on mouseover 2017-09-15 10:45:27 +05:30
Kovid Goyal
464291bbb1 Port click on URL code to C 2017-09-15 10:45:27 +05:30
Kovid Goyal
ed3427f349 Dont use the python unicodedata module as we use libunistring
No sense in loading two hude unicode datasets into memory
2017-09-15 10:45:27 +05:30
Kovid Goyal
21accfe114 Send mouse events to child directly in C 2017-09-15 10:45:26 +05:30
Kovid Goyal
ee0a539e01 Reclaim write buffer space once no longer needed 2017-09-15 10:45:26 +05:30
Kovid Goyal
d236955dfb ... 2017-09-15 10:45:26 +05:30
Kovid Goyal
32a11d9d21 Avoid mallocs when writing small amounts of data to the child 2017-09-15 10:45:26 +05:30
Kovid Goyal
43c4c71abd Port mouse event encoding code to C 2017-09-15 10:45:26 +05:30
Kovid Goyal
b9ac13c379 Move the scroll event handler to C 2017-09-15 10:45:26 +05:30
Kovid Goyal
11bb21e8a4 Remove unused code 2017-09-15 10:45:26 +05:30
Kovid Goyal
4bfe7e1069 Fix incorrect cell co-ordinates when more than one window visible in the layout 2017-09-15 10:45:26 +05:30
Kovid Goyal
4feaf13556 Implement drag scrolling in C 2017-09-15 10:45:26 +05:30
Kovid Goyal
a27004da35 Port drag select to C 2017-09-15 10:45:26 +05:30
Kovid Goyal
cf6894d74f Port multi-click handler to C 2017-09-15 10:45:25 +05:30
Kovid Goyal
a921180224 Port middle-click-to-paste to C 2017-09-15 10:45:25 +05:30
Kovid Goyal
7e4948be10 Port switch focus on click code to C 2017-09-15 10:45:25 +05:30
Kovid Goyal
04a45babfb DRYer 2017-09-15 10:45:25 +05:30
Kovid Goyal
1c1d0a4e91 Port mouse cursor change over hyperlinks to C 2017-09-15 10:45:25 +05:30
Kovid Goyal
271b623f82 More URL detection tests 2017-09-15 10:45:25 +05:30
Kovid Goyal
88d896e745 Move function to detect URLs into C code 2017-09-15 10:45:25 +05:30
Kovid Goyal
745b6222c2 Start work on migrating the mouse handlers to C 2017-09-15 10:45:25 +05:30
Kovid Goyal
42329e5d46 Merge the char_grid and window modules 2017-09-15 10:45:25 +05:30