Commit Graph

17 Commits

Author SHA1 Message Date
Menno Finlay-Smits 8f183ba440 Avoid polling in main GUI loop (#245)
Instead of waking up regularly WaitEventsTimeout, WaitEvents and
PostEmptyEvent are used to make the main loop purely event driven. The
rate of redraws due to terminal activity can be tweaked via the new
wakePeriod const.

This leads to some significant performance improvements: Aminal now consumes:
- no CPU when idle (previously ~2.7% on my laptop)
- ~8.5% CPU on my machine when running htop full screen on a large
  monitor (previously ~18.5% on my laptop)
- scrolling large amounts of output is an order of magnitude faster

This change also incidentally fixes data races around the terminal
dirty flag (which is now gone).
2019-03-11 22:57:41 +02:00
rrrooommmaaa 7ac6c801e2 fix data races (#230) (#235)
* fix data races (#230)

* Update CODEOWNERS
2019-03-07 11:15:48 +02:00
rrrooommmaaa 0c7499bf7e Vttest 2 (#190)
* added Tab Stops support

* added support for Screen Mode (DECSCNM) -- reverse colors

* bug fix: cursor rendition in Origin Mode

* bug fix: SGR parameters handling

* Save/Restore Cursor updates. Partial charset implementation.
2019-02-01 17:03:41 +00:00
rrrooommmaaa 9c60167ca8 Vttest (#162)
* Correct handling of DeviceAttributes request

* added DECCOLM support

* added DECALN control sequence support

* added NEL support

* bug fix: Erase To Cursor should be inclusive

* added support for 'Origin Mode' (DECOM) -- top/bottom margins only

* vttest test 1 screen 3: margin tests fixes

* added support for intermediate controls inside CSI sequence

* added support for LNM (Line Feed/New Line Mode)

* removed obsolete 'intermediate' parameter

* window resize on programmatic CSI resize

* DECCOLM should clear screen on both set and reset

* bug fix in autowrap mode

* TestCursorMovement runs all test cases; screen template images updated

Signed-off-by: Max Risuhin <risuhin.max@gmail.com>

* bug fix: line mode messing with autowrap

* added ResetVerticalMargins() method

* IsAutoWrap(), IsNewLineMode()

* corrected DECALN

* fixed NEL to work in Line Feed mode

* tyding up: removed map of 1 element
2019-01-24 13:03:47 +00:00
Liam Galvin 177e928b71 more efficient text rendering and streamlining of output handling 2018-12-01 22:09:20 +00:00
Liam Galvin 11489256ab fix issue with apt loading bars 2018-11-12 10:15:14 +00:00
Liam Galvin 25802bc97a fix tabs 2018-10-26 09:52:49 +01:00
Liam Galvin 4a8a2226e7 fix vim bug and dodgy deletes 2018-10-23 17:13:58 +01:00
Liam Galvin 2cf4b36910 progress toward vim support 2018-10-23 14:22:27 +01:00
Liam Galvin fd29075bad fix scrollable region in htop 2018-10-23 10:39:23 +01:00
Liam Galvin 8e5a9fb26d start scrolling 2018-09-02 20:59:35 +01:00
Liam Galvin 88528fc6b0 efficiency, introduced resize bug though :/ 2018-08-24 17:32:08 +01:00
Liam Galvin bb38d22a60 better input handling 2018-08-14 17:44:25 +01:00
Liam Galvin 76d846bcfe slomo toggle 2018-08-13 09:35:32 +01:00
Liam Galvin f6df4d1931 remove suspend/resume 2018-08-12 16:25:59 +01:00
Liam Galvin 6d10ffd17c alt buffer 2018-08-12 15:16:26 +01:00
Liam Galvin 8649ab7d76 fix deletion on wrapped line 2018-08-09 14:59:19 +01:00