78 Commits

Author SHA1 Message Date
Kovid Goyal
a8408a1ce4 Fix keyboard shortcuts not being mapped correctly
On systems that remap their keys, for example, to use a DVORAK keyboard layout. Fixes #29
2017-01-12 13:56:56 +05:30
Kovid Goyal
268560a1c6 Handle OSes that have no native pipe2()
OS X, sigh.
2017-01-12 01:00:05 +05:30
Kovid Goyal
0d38a2ea31 Ignore exceptions when printing error messages 2017-01-10 17:17:23 +05:30
Kovid Goyal
0a40efb5f0 Fix window blank after startup until first resize
Fixes #10
2017-01-07 22:45:49 +05:30
Kovid Goyal
af8d44ecab Refactor screen mode API to use get/setters 2017-01-04 10:24:00 +05:30
Kovid Goyal
9a7b23fd23 Implement viewing of the scrollback buffer in a separate window 2016-12-10 12:59:20 +05:30
Kovid Goyal
fc046d915d Shortcuts to move the active tab in the tab bar 2016-12-08 13:02:58 +05:30
Kovid Goyal
5a5d07eef3 Do not blink cursor while keys are being pressed 2016-12-08 12:38:38 +05:30
Kovid Goyal
dfb0ea4cdf Allow clicking on tabs to change the current tab 2016-12-07 17:50:49 +05:30
Kovid Goyal
5f77e486f0 Split up the fonts module into a package 2016-12-07 11:16:10 +05:30
Kovid Goyal
c205604294 Shortcuts to open and close tabs 2016-12-07 10:52:57 +05:30
Kovid Goyal
7bbf841725 ... 2016-12-07 10:19:57 +05:30
Kovid Goyal
f18a85db69 Shortcuts to change active tab 2016-12-07 10:19:17 +05:30
Kovid Goyal
aca13ba05e Handle removal of tabs 2016-12-07 09:23:08 +05:30
Kovid Goyal
6bfd6d6dbb Start work on implementing multiple tab management 2016-12-07 08:22:24 +05:30
Kovid Goyal
33d58fd7bc Implement startup sessions 2016-12-06 11:19:40 +05:30
Kovid Goyal
67ad2c4395 Ensure Tab.destroy is only called once 2016-12-05 21:02:03 +05:30
Kovid Goyal
de2c1deb97 More refactoring 2016-12-05 20:52:08 +05:30
Kovid Goyal
69defd3fe4 A spot of refactoring 2016-12-05 20:03:36 +05:30
Kovid Goyal
b5000c2ec0 Refactor to support multiple windows/tabs 2016-11-26 17:40:28 +05:30
Kovid Goyal
d6782d002b A nicer method name 2016-11-24 20:14:31 +05:30
Kovid Goyal
abd09464f0 Implement control code to change colors 2016-11-24 16:28:08 +05:30
Kovid Goyal
3031d41e72 Start work on supporting changing of entries in the color table 2016-11-24 15:28:52 +05:30
Kovid Goyal
41e583842e Flush draw buf at end of each parse call 2016-11-24 13:43:28 +05:30
Kovid Goyal
c82f6aea95 Consolidate consecutive draw calls when dumping 2016-11-24 13:38:24 +05:30
Kovid Goyal
bbea86020a Implement DCS querying of terminfo data 2016-11-24 12:12:19 +05:30
Kovid Goyal
101afd5031 Switch title handling to use unicode 2016-11-23 20:28:30 +05:30
Kovid Goyal
e53c3076ef Pre-render the sprites for blank/underline/strikethrough 2016-11-22 11:50:28 +05:30
Kovid Goyal
204411e5b8 Shortcuts for scrolling to the start and end of the scrollback buffer 2016-11-21 20:57:32 +05:30
Kovid Goyal
b426210e38 Implement keyboard shortcuts for scrolling 2016-11-21 20:48:51 +05:30
Kovid Goyal
030228571c Implement keyboard shortcuts for paste 2016-11-21 13:49:01 +05:30
Kovid Goyal
7342367679 Split out the glfw constants into their own module so they can be used on Travis without needing glfw 2016-11-21 13:00:15 +05:30
Kovid Goyal
40d2b59787 Do not use a global variable to store child data 2016-11-21 10:21:17 +05:30
Kovid Goyal
5681138243 Fix scrollback_lines opt not being used 2016-11-21 09:07:52 +05:30
Kovid Goyal
804c86ffc5 Make the screen update delay configurable
Add some comments to the default config
2016-11-19 17:14:44 +05:30
Kovid Goyal
df4c90d94b Double the screen repaint delay
Greatly improves performance when a lot of output is being generated.
2016-11-19 17:07:13 +05:30
Kovid Goyal
d87e4eeb95 Speed un reading from child process
Do the reading into a pre-allocated buffer to avoid mallocs in the inner
loop.
2016-11-19 16:59:12 +05:30
Kovid Goyal
6e7f537850 DRYer 2016-11-19 15:06:56 +05:30
Kovid Goyal
561134d1aa ... 2016-11-19 13:36:07 +05:30
Kovid Goyal
04d8e8f619 Implement OSC codes to change foreground and background colors 2016-11-19 12:50:50 +05:30
Kovid Goyal
f5d041ac33 ... 2016-11-18 15:33:29 +05:30
Kovid Goyal
3ce2c0553f Use the new native screen class 2016-11-18 15:30:59 +05:30
Kovid Goyal
4ac03a0064 Implement parsing of OSC codes 2016-11-18 11:16:17 +05:30
Kovid Goyal
fab2213c25 More work on native streams 2016-11-13 10:24:00 +05:30
Kovid Goyal
2c0523246d More work on making Screen native 2016-11-12 13:52:18 +05:30
Kovid Goyal
c8a71ef5f8 Move the update_cell_data() inner loop to native code 2016-11-12 10:57:06 +05:30
Kovid Goyal
9b544f83e0 Move change tracking into the screen class 2016-11-11 18:35:26 +05:30
Kovid Goyal
c7b87f9174 Simplify the change tracker implementation a little
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.
2016-11-11 18:18:09 +05:30
Kovid Goyal
87d51e511c ... 2016-11-03 19:56:02 +05:30
Kovid Goyal
1e04b8fdca Explicitly free sprites on normal program termination 2016-11-03 19:43:11 +05:30