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
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