Since the cursor is always redrawn there is no need to track its attributes and position separately. Also no need to use a callback for dirtied status.
kitty - A terminal emulator
Description
Languages
Python
43.6%
C
28.3%
Go
20%
Objective-C
6%
Shell
1.5%
Other
0.5%