Kovid Goyal
44f456089b
Migrate the cell program
2017-09-15 10:45:22 +05:30
Kovid Goyal
8ce2794a8a
More work on migrating shader code
2017-09-15 10:45:20 +05:30
Kovid Goyal
98daddc39a
Move selection render tracking into the Screen class
2017-09-15 10:45:20 +05:30
Kovid Goyal
408c719c5f
Move selection tracking into the Screen class
2017-09-15 10:45:20 +05:30
Kovid Goyal
2490199e52
Move scroll tracking into the screen object
2017-09-15 10:45:19 +05:30
Kovid Goyal
fb820faf11
Prevent timers being added in a call
2017-09-15 10:45:18 +05:30
Kovid Goyal
746a20a11d
Cleanup data-types.h
2017-09-15 10:45:17 +05:30
Kovid Goyal
5ed4b29e4b
DRYer fontconfig module
2017-09-15 10:45:17 +05:30
Kovid Goyal
b8678871df
Remove some unnecessary declarations from data-types.h
2017-09-15 10:45:17 +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
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
f5dbe36cf3
Remove the now useless change tracking code
2017-09-15 10:45:16 +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
1197549e5b
Remove the last use of the python threading module
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
52ab534e22
Move setting of IUTF8 into child-monitor.c
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
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
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
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
d12573a67d
Dont send the color table to the GPU on every frame
2017-09-15 10:45:09 +05:30
Kovid Goyal
6689595277
Dont use Py_UCS4 for char_type
2017-09-15 10:45:09 +05:30
Kovid Goyal
db40445572
Do color mapping on the GPU
2017-09-15 10:45:08 +05:30
Kovid Goyal
1d888c9194
Centralise color management into ColorProfile
2017-09-15 10:45:08 +05:30
Kovid Goyal
b50eaa9cbb
ColorProfile should belong to Screen
2017-09-15 10:45:08 +05:30
Kovid Goyal
564010c7cd
Migrate history.c
2017-09-15 10:45:08 +05:30
Kovid Goyal
4fd8c7cfaa
DRYer
2017-09-15 10:45:08 +05:30
Kovid Goyal
37f0cf86d0
Migrated line.c
2017-09-15 10:45:07 +05:30
Kovid Goyal
0cbd3a2820
Start work on using a struct for the cell
...
Should eventually allow the screen buf to be sent directly to the GPU
without a serialization step.
Migrates line-buf.c
2017-09-15 10:45:07 +05:30
Kovid Goyal
6176607ac4
Initial stab at switching to poll() instead of select()
...
Also avoid python code in the child monitoring inner loop
2017-09-15 10:45:07 +05:30
Kovid Goyal
a429bcbb22
Dont use the glfw timer function as it requires glfwInit
2017-09-15 10:45:07 +05:30
Kovid Goyal
f9b1a71edd
Move the timers implementation to C
...
It is used int he hot loop for monitoring the child process
2017-09-15 10:45:06 +05:30
Kovid Goyal
8ee1c851a1
Optimize the bit twiddling in sprite_position_for
2017-08-26 13:05:18 +05:30
Kovid Goyal
4ce9f550ac
Inline to_color for an easy performance boost
2017-08-26 10:52:24 +05:30
Kovid Goyal
58644e2b37
Function to get all fonts on macOS
2017-08-24 15:05:42 +05:30
Kovid Goyal
101a50b0ff
Do not use GL_ARB_texture_buffer_object_rgb32
...
This is not available on macOS using Intel graphics cards
2017-08-21 12:46:09 +05:30
Kovid Goyal
76e3101d9b
Hide all symbols
2017-06-07 11:19:53 +05:30
Kovid Goyal
c27b597951
Fix incorrect implementation of the CSI scroll commands
...
I was lazy and just assumed they were n indexes, but they actually
scroll the screen without moving the cursor. Fixes #76
2017-05-19 19:25:41 +05:30
Kovid Goyal
14a66762a6
Fix incorrect response to request for device attributes
2017-05-17 10:33:33 +05:30
Kovid Goyal
b58ecde740
Track cursor color as a property of Screen not Cursor
...
This means that the savepoint functionality will not restore
cursor color
2017-05-17 09:27:38 +05:30
Kovid Goyal
3b71a016a6
Fix reset not resetting default foreground and background colors
2017-05-17 09:22:06 +05:30
Kovid Goyal
f0c546208d
Implement OSC codes for changing selection colors
2017-05-17 08:55:57 +05:30
Kovid Goyal
59ac12570c
Fix unaligned read/writes in the History buffer
2017-05-15 12:06:06 +05:30
Kovid Goyal
69b187a743
Split up the color field into fg/bg colors
...
Avoid a lot of unnecessary masking as well as unaligned read/writes
2017-05-15 12:06:06 +05:30
Kovid Goyal
35f2b3254a
A spot of refactoring
2017-04-28 08:54:06 +05:30
Kovid Goyal
898a8075be
Fix #69
2017-04-28 08:31:07 +05:30