Commit Graph
7847 Commits
Author SHA1 Message Date
Kovid Goyal b433380e1d Make the cell shader a little more readable 2017-09-17 17:38:03 +05:30
Kovid Goyal df4df76d24 Switch to using an opaque block cursor
The text is rendered in the background color on top of the opaque
block cursor. We use the background color since applications can change
both cursor and background colors, so it is up to the application to
ensure the colors have good contrast. Fix #126
2017-09-17 13:03:02 +05:30
Kovid Goyal 2d0c6a43c5 Fix broken reverse video 2017-09-16 17:39:07 +05:30
Kovid Goyal 0307497e06 Fix broken scrolling 2017-09-16 17:11:30 +05:30
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