1098 Commits

Author SHA1 Message Date
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
Kovid Goyal
d4991424f9
Set the python thread switch interval to forever 2017-09-15 10:45:11 +05:30
Kovid Goyal
1684bda1e9
Better thread name 2017-09-15 10:45:11 +05:30
Kovid Goyal
e8b5a72c96
Remove GIL management code since it is no longer needed 2017-09-15 10:45:11 +05:30
Kovid Goyal
7f180ad3d9
Do not use the python threading module
Threading in python imposes significant overhead.
Instead create the thread using pthreads directly
2017-09-15 10:45:11 +05:30
Kovid Goyal
94c4c00859
Move signal handling code into the C module 2017-09-15 10:45:11 +05:30
Kovid Goyal
1308bbac2d
Move creation of wakeup fds to c module 2017-09-15 10:45:11 +05:30
Kovid Goyal
76890a2b71
Do not perform any python API calls in the I/O thread 2017-09-15 10:45:11 +05:30
Kovid Goyal
2c8f3b6d98
Remove unnecessary extra lock/unlock of children_mutex 2017-09-15 10:45:11 +05:30
Kovid Goyal
0e46994d0a
Restore repaint_delay 2017-09-15 10:45:11 +05:30
Kovid Goyal
44650c5723
Make reading into the screen read buffer more efficient 2017-09-15 10:45:11 +05:30
Kovid Goyal
234bb07b67
Initial attempt at moving all threading code into a single file 2017-09-15 10:45:10 +05:30
Kovid Goyal
fea79878fa
Make the monotonic() function available everywhere 2017-09-15 10:45:10 +05:30
Kovid Goyal
0365828a5b
Remove all python threading related code 2017-09-15 10:45:10 +05:30
Kovid Goyal
fa30a95b46
... 2017-09-15 10:45:10 +05:30
Kovid Goyal
f44d56b116
Ensure GIL is not released when rendering sprites 2017-09-15 10:45:10 +05:30
Kovid Goyal
6127d2d122
Make the sprite map globally accessible from C code as well as python code
The lock was removed as the Python GIL is sufficient to serialize access
to the SpriteMap structure.
2017-09-15 10:45:10 +05:30
Kovid Goyal
4feff2e2da
Fix rendering of strikethrough not working 2017-09-15 10:45:10 +05:30
Kovid Goyal
8624dbac2c
Sigh, stupid OpenGL
Apparently glGetUniformIndices has different declarations on different
systems.
2017-09-15 10:45:10 +05:30