A cross-platform, OpenGL terminal emulator.
Go to file
Joe Wilm 358c9fa17d Major cleanup for event handling
The event handling code grew organically over time, and with that came a
number of warts. The primary issue was with passing some random
selection of arguments to the input::Processor based on what the input
was. There was the issue that if multiple events were drained from a
single PollEventsIterator, the terminal mutex was potentially locked and
unlocked many times. Finally, and perhaps most importantly, there was no
good way to pass necessary state to the Action executor without going
through several API layers.

To fix all that, the input::ActionContext and input::Processor are now
generated once per call to the event::Processor. The input::Processor
holds onto the ActionContext so that it doesn't need to be passed
through layers of function calls. When a binding is activated, the
ActionContext is simply passed to the handler.

This did have the effect of breaking the input::Processor tests
(specifically, those relating to bindings). The issue was not addressed
in this commit since a larger refactor of the bindings is planned which
should also improve testability.
2016-12-26 18:39:30 -05:00
copypasta Implement copypasta::Store for macOS pasteboard 2016-12-24 18:08:46 -05:00
docs Add Summary of ANSI standards for ASCII terminals 2016-05-28 08:39:36 -07:00
font Misc formatting fixes 2016-12-16 22:48:04 -08:00
res Live shader reloading is now a feature 2016-10-27 08:43:23 -07:00
scripts Add script for creating flamegraph with perf 2016-10-08 21:30:21 -07:00
src Major cleanup for event handling 2016-12-26 18:39:30 -05:00
tests add fish_cc ref 2016-12-16 18:39:51 +08:00
.gitignore Add script for creating flamegraph with perf 2016-10-08 21:30:21 -07:00
.travis.yml Update nightly pin on travis 2016-12-11 20:26:33 -08:00
Cargo.lock Rustup and clippy 2016-12-16 22:13:51 -08:00
Cargo.toml Rustup and clippy 2016-12-16 22:13:51 -08:00
LICENSE-APACHE Add license headers to source files 2016-06-29 20:59:14 -07:00
README.md Add README.md 2016-11-19 21:51:48 -08:00
TASKS.md Update task list 2016-06-06 14:59:45 -07:00
alacritty.yml Fix mouse bindings 2016-11-19 21:49:23 -08:00
build.rs Add license headers to source files 2016-06-29 20:59:14 -07:00
rustc-version Rustup and clippy 2016-12-16 22:13:51 -08:00

README.md

Alacritty

Build Status