1166 Commits

Author SHA1 Message Date
Kovid Goyal
dd8be35922
... 2017-09-15 10:45:17 +05:30
Kovid Goyal
b4d1cfea50
... 2017-09-15 10:45:16 +05:30
Kovid Goyal
7113d5c293
Use a mapped buffer to send color table to the GPU 2017-09-15 10:45:16 +05:30
Kovid Goyal
bc97cfa024
Use a null to represent a blank rather than a space
This has performance benefits when clearing (can use a single
memset). Also allows detecting trailing whitespace on lines correctly.
2017-09-15 10:45:16 +05:30
Kovid Goyal
382daacb73
Remove the support for multiple top-level glfw windows 2017-09-15 10:45:16 +05:30
Kovid Goyal
aa526db772
Another place that was using python threading APIs 2017-09-15 10:45:16 +05:30
Kovid Goyal
1f9510ab9e
Fix incorrect decoration colors 2017-09-15 10:45:16 +05:30
Kovid Goyal
b8acb9b133
Pass cell data to GPU directly
Converts update_cell_range() to a simple memcpy(). The GPU has to do
roughly the same amount of work (there is one extra attribute, and one
extra calculation for reverse video).
2017-09-15 10:45:16 +05:30
Kovid Goyal
51231b7eb2
Migrate tabs to also use the new buffer mapping API 2017-09-15 10:45:16 +05:30
Kovid Goyal
029ff84f09
Remove the change tracker related tests
The change tracker no longer exists
2017-09-15 10:45:16 +05:30
Kovid Goyal
f5dbe36cf3
Remove the now useless change tracking code 2017-09-15 10:45:16 +05:30
Kovid Goyal
906937149e
Copy cell data to the GPU in a single pass 2017-09-15 10:45:15 +05:30
Kovid Goyal
f324d8ec4f
Fix a couple of bugs in the buffer map API 2017-09-15 10:45:15 +05:30
Kovid Goyal
2089d2bfdf
Fix main_loop() not returning NULL when an error has occurred 2017-09-15 10:45:15 +05:30
Kovid Goyal
281cb50780
API to map OpenGL buffers 2017-09-15 10:45:15 +05:30
Kovid Goyal
012b209a56
Update CELL data structure 2017-09-15 10:45:15 +05:30
Kovid Goyal
c0593d9f1f
Get rid of update_screen
No longer needed.
2017-09-15 10:45:15 +05:30
Kovid Goyal
f655112bda
Directly copy the sprite positions into the GPU buffer 2017-09-15 10:45:15 +05:30
Kovid Goyal
c4680aae2c
Track sprite positions in the Cell structure 2017-09-15 10:45:15 +05:30
Kovid Goyal
a8d5ad2c1a
... 2017-09-15 10:45:15 +05:30
Kovid Goyal
333eb3534a
... 2017-09-15 10:45:14 +05:30
Kovid Goyal
1a42356f68
Forgot to close stdin_read_fd in the master process 2017-09-15 10:45:14 +05:30
Kovid Goyal
1197549e5b
Remove the last use of the python threading module 2017-09-15 10:45:14 +05:30
Kovid Goyal
d2749f5ccc
Sigh 2017-09-15 10:45:14 +05:30
Kovid Goyal
6379b3f898
Forgot to modify the fds array in remove children 2017-09-15 10:45:14 +05:30
Kovid Goyal
c97afd7b44
Handle unexpected closing of child fds gracefully 2017-09-15 10:45:14 +05:30
Kovid Goyal
9b9003ded0
Simplify code to set thread names 2017-09-15 10:45:14 +05:30
Kovid Goyal
5550c7a95f
_GNU_SOURCE needed on apple as well? 2017-09-15 10:45:14 +05:30
Kovid Goyal
fe7f3233ba
Fix initial tab bar visibility when starting a session with multiple tabs 2017-09-15 10:45:14 +05:30
Kovid Goyal
a52f0939df
Make using the timer for wakeups more efficient 2017-09-15 10:45:14 +05:30
Kovid Goyal
ff3ddfd369
Simply use of repaint_delay in parse_input()
Dont maintain per child parse times. Instead just gate it globally.
This could result in slowdowns with lots of very active children, but
that seems unlikely.
2017-09-15 10:45:13 +05:30
Kovid Goyal
161161f840
Dont include stropts.h on macs 2017-09-15 10:45:13 +05:30
Kovid Goyal
b0e1c74fdd
Note about interaction of cursor_blink_time and repaint_delay 2017-09-15 10:45:13 +05:30
Kovid Goyal
1bd46b0636
Avoid extra wakeup when rendering blinking cursor 2017-09-15 10:45:13 +05:30
Kovid Goyal
5e676090fa
Report failures to write to child 2017-09-15 10:45:13 +05:30
Kovid Goyal
4d31624a69
Better handling of failure to execute child
exec() a shell instead so that we are not left with a forked but not
execed process
2017-09-15 10:45:13 +05:30
Kovid Goyal
c9695efd18
... 2017-09-15 10:45:13 +05:30
Kovid Goyal
7dc51d7d9e
Handle ioctl failures when resizing the tty more gracefully 2017-09-15 10:45:13 +05:30
Kovid Goyal
d5d812ccfe
Fix for session with empty enabled_layouts 2017-09-15 10:45:13 +05:30
Kovid Goyal
af02b735e7
Move child process management into child-monitor.c 2017-09-15 10:45:13 +05:30
Kovid Goyal
52ab534e22
Move setting of IUTF8 into child-monitor.c 2017-09-15 10:45:12 +05:30
Kovid Goyal
895eedeb9b
Apparently pthread_mutex_t is a scalar on macs 2017-09-15 10:45:12 +05:30
Kovid Goyal
5972a37550
Work on centralising lifecycle management in the child monitor 2017-09-15 10:45:12 +05:30
Kovid Goyal
079054f798
Fix tab bar rendering 2017-09-15 10:45:12 +05:30
Kovid Goyal
914f7ddbd5
Fix zero division 2017-09-15 10:45:12 +05:30
Kovid Goyal
5357876128
Ensure screen objects are de-allocated immediately on close instead of waiting for garbage collection 2017-09-15 10:45:12 +05:30
Kovid Goyal
b20367b888
Avoid dict lookups when calling python callbacks 2017-09-15 10:45:12 +05:30
Kovid Goyal
6698712b44
Respect repaint_delay when calling render() as well 2017-09-15 10:45:12 +05:30
Kovid Goyal
21b799905d
Move the main loop into the C module 2017-09-15 10:45:12 +05:30
Kovid Goyal
02870d7221
Move the signal received handler into the C module 2017-09-15 10:45:12 +05:30