aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Use checked subtraction for backspaceJoe Wilm2016-12-10
| | | | Some shells will send a backspace at column 0, apparently.
* Update to latest RustJoe Wilm2016-11-23
|
* Remove unnecessary slicingJoe Wilm2016-11-20
| | | | json::from_str takes a &str which will auto deref from &String.
* Add README.mdJoe Wilm2016-11-19
| | | | Currently just want to see travis status prominently on repo page.
* Fix mouse bindingsJoe Wilm2016-11-19
| | | | Config expected key and the default config file had the wrong section.
* Fix glutin waylandJoe Wilm2016-11-19
|
* Add a number of simple ref-testsJoe Wilm2016-11-19
| | | | Also adds a feature `err-println` for enabling `err_println!` printing.
* Add support for recording/running ref testsJoe Wilm2016-11-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ref tests use a recording of the terminal protocol and a serialization of the grid state to check that the parsing and action handling systems produce the correct result. Ref tests may be recorded by running alacritty with `--ref-test` and closing the terminal by using the window "X" button. At that point, the recording is fully written to disk, and a serialization of important state is recorded. Those files should be moved to an appropriate folder in the `tests/ref/` tree, and the `ref_test!` macro invocation should be updated accordingly. A couple of changes were necessary to make this work: * Ref tests shouldn't create a pty; the pty was refactored out of the `Term` type. * Repeatable lines/cols were needed; on startup, the terminal is resized * by default to 80x24 though that may be changed by passing `--dimensions w h`. * Calculating window size based on desired rows/columns and font metrics required making load_font callable multiple times. * Refactor types into library crate so they may be imported in an integration test. * A whole bunch of types needed symmetric serialization and deserialization. Mostly this was just adding derives, but the custom deserialization of Rgb had to change to a deserialize_with function. This initially adds one ref test as a sanity check, and more will be added in subsequent commits. This initial ref tests just starts the terminal and runs `ll`.
* Make bindings configurable from alacritty.ymlJoe Wilm2016-11-17
| | | | | | | | | | | | | | | Bindings were previously hardcoded within input.rs; adding, removing, or changing a binding required a recompile! Now, bindings may be declared in alacritty.yml. Even better, bindings are live-reloaded when alacritty.yml is changed! One unexpected benefit of this change was that all of the special casing in input.rs has disappeared. Conversely, config.rs has gained complexity for all of the deserialization logic. Resolves #3.
* Fix test for Cell layoutJoe Wilm2016-11-17
| | | | bytes 2 and 3 are not necessarily zeroed
* Redraw screen on focusJoe Wilm2016-11-17
| | | | | Fixes an issue where waking from sleep on macOS would continue showing the lock screen if Alacritty was the active app.
* Fallback to received chars when no bindingsJoe Wilm2016-11-17
| | | | | Committed this on a plane with no internet; need to get a real glutin ref pushed somewhere and update this commit before merging into master.
* Fix/add some keybindingsJoe Wilm2016-11-11
| | | | | | | Adds support for pageup, pagedown, home, and end. Fixes delete inserting spaces. Resolves #15.
* Fix alacritty shutdown when shell exits on macOSJoe Wilm2016-11-11
| | | | | | | Readiness for the pty file descriptor will never be HUP or ERROR; the out-of-band flag raised by sigchld is used instead. Resolves #14.
* Fix resize on macOS leaving screen blankJoe Wilm2016-11-11
| | | | | | | | This still has a problem where intermediate sizes are not drawn. Apparently cocoa blocks the event loop during resize. This needs to be fixed in Glutin. Resolves #16.
* RustupJoe Wilm2016-11-11
|
* Fix config file reloading on macOSJoe Wilm2016-11-11
|
* Workaround for cutoff glyphsJoe Wilm2016-11-11
| | | | | | | There's an issue where drawing the cell backgrounds will overwrite part of a neighboring glyph. The real solution here is to figure out glyph metrics properly, but simply limiting to 2 draw calls per frame (first background, then all the glyphs) makes the problem "go away".
* Update default configJoe Wilm2016-10-28
| | | | | Contains comments about what requires a restart and also includes the bold+bright flag.
* Support drawing bold test with bright colorsJoe Wilm2016-10-28
| | | | This feature is on by default
* Merge branch 'reload-colors'Joe Wilm2016-10-28
|\
| * Set colors on CPUJoe Wilm2016-10-28
| | | | | | | | | | | | Indexing colors on the vertex shader added complexity and after profiling suggests perf is basically the same. This commit will still be here in case it makes sense to try this again at some point.
| * Dynamically update render_timer configJoe Wilm2016-10-28
| | | | | | | | Everything else was already in place, just needed to set the flag.
| * Move config reloading to separate threadJoe Wilm2016-10-27
| | | | | | | | | | | | This feature was previously shoved into the renderer due to initial proof of concept. Now, providing config updates to other systems is possible. This will be especially important for key bindings!
| * Move color indexing to vertex shaderJoe Wilm2016-10-24
| | | | | | | | | | | | Move more work to GPU from CPU. Some very non-scientific profiling suggests this is implementation is more performant, but more work should be done there.
| * Expand cell::Color layout testsJoe Wilm2016-10-24
| | | | | | | | The whole enumeration should be well defined for the renderer.
| * Fix some compiler warningsJoe Wilm2016-10-24
| |
| * Add discriminant_value test for cell::ColorJoe Wilm2016-10-24
| | | | | | | | | | The renderer should be able to use the discriminant_value to determine vertex colors.
| * Proof of concept live reloading for colorsJoe Wilm2016-10-23
| | | | | | | | | | | | | | The architecture here is really poor. Need to move file watching into a dedicated location and probably have an spmc broadcast queue. other modules besides rendering will care about config reloading in the future.
* | Live shader reloading is now a featureJoe Wilm2016-10-27
|/ | | | | | Which means it can be disabled in release builds. No more working on a renderer feature and actually breaking the Alacritty your editor is running inside.
* Add test exhibiting SIGBUS on my machineJoe Wilm2016-10-16
|
* Make colors configurable from fileJoe Wilm2016-10-15
| | | | | | Added solarized dark color scheme for testing purposes. Resolves #1.
* Rustup and update dependenciesJoe Wilm2016-10-14
| | | | Now uses serde_dervive \o/
* Fix X11 WaitEventsIterator Busy LoopJoe Wilm2016-10-14
| | | | Resolves #10.
* Implement blank character insertionJoe Wilm2016-10-10
| | | | | This is used by things like Bash's reverse-i-search and things get *very* messed up without it.
* Add script for creating flamegraph with perfJoe Wilm2016-10-08
| | | | Resolves #8
* Update cargo.lock with osx clipboardJoe Wilm2016-10-08
|
* Implement copypasta::Load for macos::ClipboardJoe Wilm2016-10-08
|
* Start implementing copypasta, a clipboard libraryJoe Wilm2016-10-08
| | | | | Currently it only supports x11 via the xclip program, and that only supports reading the clipboard contents.
* Don't write v when pasting on macOSJoe Wilm2016-09-27
| | | | | | | This is a bit of an experiment to see if simply handling 'v' in the bindings will work or has any bugs not going through ReceivedCharacter. The change is necessary though to prevent 'v' from being written in front of every clipboard paste.
* wipJoe Wilm2016-09-26
| | | | doesn't work on ubuntu 16.04 for some reason
* Clean up event_loop moduleJoe Wilm2016-09-26
| | | | | | | | | | | The main loop body was originally all written inline. There's now separate functions for each of the actions the loop handles including channel events, pty reading, and pty writing. There's also helper functions on State for managing the write list. The `EventLoop` and its `State` are returned when joining with the thread it spawns. This will potentially be helpful once config reloading is introduced.
* Refactor EventLoop into event_loop moduleJoe Wilm2016-09-25
| | | | This type and its implementations were seriously cluttering main.rs.
* Resolve compiler warningsJoe Wilm2016-09-25
|
* Fix bug with scrolling regionsJoe Wilm2016-09-25
| | | | | | Linefeeds were triggering scrolls in incorrect situations. Resolves #9.
* Use evented I/O for the ptyJoe Wilm2016-09-24
| | | | | | | | | | This was largely an experiment to see whether writing and reading from a separate thread was causing terminal state corruption as described in https://github.com/jwilm/alacritty/issues/9. Although this doesn't seem to fix that particular issue. Keeping this because it generally seems more correct than reading/writing from separate locations.
* Fix some compiler warningsJoe Wilm2016-09-23
| | | | | | | | | Also enables debug symbols in release profile by default. Until Alacritty ships, there's going to be lots of perf analysis which needs debug symbols. The PriorityMutex low priority method was never used. Now it's just a fair mutex.
* Add unhandled `execute` logJoe Wilm2016-09-23
|
* Fix missing `esc_dispatch` logJoe Wilm2016-09-23
| | | | This was previously logging as an unhandled `execute`.
* Fix refresh bugJoe Wilm2016-09-21
| | | | | | Terminal output wouldn't reliably refresh the screen. Fix is to only modify this flag when the terminal lock is held which suggests a larger refactoring should happen.