1806 Commits

Author SHA1 Message Date
Kovid Goyal
efaee69486
Fix detection of glfinithintstring 2017-09-18 08:40:02 +05:30
Kovid Goyal
558e4af3c6
Make the curly underline a bit thicker 2017-09-17 21:09:30 +05:30
Kovid Goyal
8490457cab
... 2017-09-17 21:01:50 +05:30
Kovid Goyal
6585c11808
Make the curly underline an actual curl 2017-09-17 20:30:36 +05:30
Kovid Goyal
142cba54b3
DRYer 2017-09-17 19:36:47 +05:30
Kovid Goyal
19b065b6a4
Fix underline not being set to background color when cursor is over it 2017-09-17 19:28:01 +05:30
Kovid Goyal
826a64c8dc
Fix wide cursor not being rendered 2017-09-17 19:23:01 +05:30
Kovid Goyal
14103db2ee
Coalesce another couple of uniforms 2017-09-17 18:10:32 +05:30
Kovid Goyal
51d037fb70
Coalesce a couple of set uniform calls into a single one 2017-09-17 17:48:42 +05:30
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