Commit Graph

6 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 f207ec0930 #195 Real buffer clearing (#246)
* #195 Real buffer clearing. Step 1

* #195 buffer clear. Clearing Windows buffer
2019-03-07 12:22:57 +02:00
rrrooommmaaa 4ec83c54a4
#217 rectangular select and copy (#241)
* #217 rectangular select and copy
2019-03-05 09:55:29 +03:00
nikitar020 9190afef8a Fix issue: sometimes it cuts selected text when copying to clipboard (#186) 2019-01-30 15:43:08 +00:00
Liam Galvin 4c86873650 Made search engine configurable 2018-11-28 20:01:54 +00:00
Liam Galvin 707df1a3a1 added configurable keyboard shortcuts 2018-11-25 14:25:19 +00:00