54 Commits

Author SHA1 Message Date
Kovid Goyal
ffff343e3d
Work on rendering to FBO 2017-12-01 12:16:15 +05:30
Kovid Goyal
2bcbcfff44
Start work on background opacity 2017-12-01 12:16:14 +05:30
Kovid Goyal
25d7668b70
Add an option to control the audio bell volume on X11 2017-12-01 12:16:12 +05:30
Kovid Goyal
058c1bec10
Workaround for new windows not getting focus events on macOS 2017-12-01 12:16:12 +05:30
Kovid Goyal
c4bcda80e9
Fix removing OSWindow breaking pointer references in glfw 2017-12-01 12:15:34 +05:30
Kovid Goyal
528573ac80
Make sure window context is correct for all remove_vao calls 2017-12-01 12:15:34 +05:30
Kovid Goyal
dba067d875
Ensure correct OpenGL ctx in effect when creating a new window 2017-12-01 12:15:34 +05:30
Kovid Goyal
c145dfc832
Forgot to destroy glfw window when closing OSWindow
Also fix double decref of OSWindow->window_title
2017-12-01 12:15:34 +05:30
Kovid Goyal
e1b77f0a59
Ensure cleanup when closing OSWindow 2017-12-01 12:15:34 +05:30
Kovid Goyal
81a465f7bc
... 2017-12-01 12:15:34 +05:30
Kovid Goyal
0bec6ea15d
Fix mem leak when closing tabs introduced by move to OSWindow 2017-12-01 12:15:34 +05:30
Kovid Goyal
d344c391fd
... 2017-12-01 12:15:33 +05:30
Kovid Goyal
449c1ba5d7
Ensure OSWindow references are not stale 2017-12-01 12:15:33 +05:30
Kovid Goyal
c3f5b20ca7
more bugs 2017-12-01 12:15:33 +05:30
Kovid Goyal
f8c7a7a690
more bug fixes 2017-12-01 12:15:33 +05:30
Kovid Goyal
c5649df971
Fix various bugs introduced by the refactoring to support OSWindow 2017-12-01 12:15:33 +05:30
Kovid Goyal
9cedefb50c
Port tab_manager and miscellaneous cleanups 2017-12-01 12:15:33 +05:30
Kovid Goyal
82d17c8a59
DRYer 2017-12-01 12:15:32 +05:30
Kovid Goyal
598f08e222
Avoid unneccessary roundtrip through python to create VAOs 2017-12-01 12:15:32 +05:30
Kovid Goyal
2f06c0f721
Remove last view uses of viewport_size and cell_size in python
Also move counters into C
2017-12-01 12:15:32 +05:30
Kovid Goyal
0ec793e8bc
Finish porting of borders and layout 2017-12-01 12:15:32 +05:30
Kovid Goyal
e30f88d382
... 2017-12-01 12:15:32 +05:30
Kovid Goyal
49be779982
Port drawing of borders 2017-12-01 12:15:32 +05:30
Kovid Goyal
2ac8ad39c9
Implement destruction of OS windows 2017-12-01 12:15:32 +05:30
Kovid Goyal
e11a50ae83
Work on migrating the code needed for application startup 2017-12-01 12:15:32 +05:30
Kovid Goyal
eecd0c8d9a
Function to remove OSWindows 2017-12-01 12:15:31 +05:30
Kovid Goyal
974950e7de
Allocate window management structures on the heap 2017-12-01 12:15:31 +05:30
Kovid Goyal
47446975ac
Fix spelling of var name 2017-12-01 12:15:31 +05:30
Kovid Goyal
c69145b6bc
Port state.c and all code that calls into it 2017-12-01 12:15:31 +05:30
Kovid Goyal
f0003f223a
Start work on multi-window support
Port the glfw.c module and various bits of code that depend on it.
2017-12-01 12:15:31 +05:30
Kovid Goyal
4dc6918b13
Get rid of the send_text_map code
Just transform send_text directives in the config file to map
directives.
2017-11-19 08:56:34 +05:30
Kovid Goyal
3643a78b18
Start work on line based rendering 2017-11-09 16:45:44 +05:30
Kovid Goyal
505ae90fd7
macOS: Add an setting to have the option key not behave as alt 2017-11-08 09:14:19 +05:30
Kovid Goyal
2f5b110c41
Implement an option to have focus follow the mouse
Fixes #156
2017-10-24 09:29:28 +05:30
Kovid Goyal
66803e6873
Workaround to get graphics working on Apple's buggy products
Apparently some macOS OpenGL drivers cannot handle using a VAO with
attributes that have different divisors/apply to different shaders. So
use a separate VAO for graphics rendering. This is a small performance hit,
but is the price of supporting substandard computers.
2017-10-17 12:15:52 +05:30
Kovid Goyal
c87dcdbe3c
Tests for displaying graphics 2017-10-03 16:10:04 +05:30
Kovid Goyal
9cfc19e010
Dont shadow the glfw global mouse state variable 2017-09-25 22:00:00 +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
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
c5e989bc94
Move the key handler to C 2017-09-15 21:46:00 +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
9989363ecd
Make the URL highlight color configurable 2017-09-15 10:45:27 +05:30
Kovid Goyal
b9ac13c379
Move the scroll event handler 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
745b6222c2
Start work on migrating the mouse handlers to C 2017-09-15 10:45:25 +05:30
Kovid Goyal
6d8b59cb61
Track window and application titles in C
Allows removing of the last bit fo python from the render loop
2017-09-15 10:45:24 +05:30
Kovid Goyal
c41ede4d20
Dont use a timer for mouse hiding 2017-09-15 10:45:24 +05:30
Kovid Goyal
13ac050bf8
Move cursor render call to C 2017-09-15 10:45:24 +05:30
Kovid Goyal
6e4b977128
Track application focus state in global state 2017-09-15 10:45:24 +05:30