aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* | Replace need for drop_types_in_const with lazy_staticManish Goregaokar2017-01-06
| |
* | Remove need for step_by featureManish Goregaokar2017-01-06
| |
* | Make plugin feature optionalManish Goregaokar2017-01-06
|/
* Merge branch 'master' of github.com:coder543/alacrittyJosh Leverette2017-01-06
|\
| * Fix panic when closing windowJoe Wilm2017-01-06
| | | | | | | | Resolves #81.
| * Add default macOS configJoe Wilm2017-01-06
| | | | | | | | Should solve the `monospace` issue people are seeing for now.
| * Write default config when not foundquininer kel2017-01-06
| |
* | Handle invalid gotos more gracefully.Josh Leverette2017-01-06
|/
* Merge pull request #60 from MagaTailor/masterJoe Wilm2017-01-06
|\ | | | | Fix compilation on ARM/AARCH64
| * Fix ARMTaylor Trump2017-01-05
| |
| * Fix ARMTaylor Trump2017-01-05
| |
* | Handle EINTR in I/O loopJoe Wilm2017-01-06
| | | | | | | | | | | | | | This fixes an issue where encountering some signals panicked the event loop thread. Resolves #76
* | Added --title argument to set window titleRudis Muiznieks2017-01-06
| |
* | Allow key_binding have spacequininer kel2017-01-05
|/
* Draw the screen when Refresh event arrivesJoe Wilm2017-01-04
| | | | cc #53
* Send correct character sequence with alt keyJoe Wilm2017-01-02
| | | | Resolves #46.
* Have default mouse and key bindingsJoe Wilm2017-01-02
| | | | | | | This improves the situation where the user has not installed the default configuration file. Resolves #42.
* Fix scrolling with SGR modeJoe Wilm2017-01-02
| | | | Resolves #43.
* Better error message when xclip is not availableJoe Wilm2017-01-02
| | | | Resolves #37.
* Real support for placing config in XDG_CONFIG_HOMEJoe Wilm2017-01-02
| | | | Resolves #35.
* Rework font loadingJoe Wilm2017-01-02
| | | | | | | | | | | | | | This work started because we wanted to be able to simply say "monospace" on Linux and have it give us some sort of font. The config format for fonts changed to accomodate this new paradigm. As a result, italic and bold can have different families from the normal (roman) face. The fontconfig based font resolution probably works a lot better than the CoreText version at this point. With CoreText, we simply iterate over fonts and check it they match the requested properties. What's worse is that the CoreText version requires a valid family. With fontconfig, it will just provide the closest matching thing and use it (unless a specific style is requested).
* Improve error handling for shader initializationJoe Wilm2017-01-01
| | | | Shader initialization errors at startup should print a nice message now.
* Improve error handling for clipboard actionsJoe Wilm2017-01-01
| | | | | | Previously, these could have crashed alacritty. Now, they simply print an error message in Red to stderr. The Red format wrapper was moved to a central location where both main.rs and the alacritty lib can access it.
* Add support for SGR mouse reportingJoe Wilm2017-01-01
| | | | | According to: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking
* Print nice error messages for font loading errorsJoe Wilm2016-12-31
| | | | Resolves #22.
* Propagate font rasterizer errorsJoe Wilm2016-12-31
| | | | | This allows consumers of the font crate to handle errors instead of the library panicking.
* Improve RenderableCellsIter performanceJoe Wilm2016-12-29
| | | | Also adds a benchmark for cell.reset().
* Add Default impl for CellJoe Wilm2016-12-29
| | | | Just a bit of cleanup.
* Fix pty read sometimes not triggering drawJoe Wilm2016-12-29
| | | | | | | | | | | There was a lot of complexity around the threadsafe `Flag` type and waking up the event loop. The idea was to prevent unnecessary calls to the glutin window's wakeup_event_loop() method which can be expensive. This complexity made it difficult to get synchronization between the pty reader and the render thread correct. Now, the `dirty` flag on the terminal is also used to prevent spurious wakeups. It is only changed when the mutex is held, so race conditions associated with that flag shouldn't happen.
* Fix some bugs with selectionsJoe Wilm2016-12-29
| | | | Moving the window on macOS would cause a panic in certain circumstances.
* Add super hacky underline drawingJoe Wilm2016-12-29
| | | | | | Using underscores because it's easy. It's also wrong. cc #11
* Hopefully fix read not triggering drawJoe Wilm2016-12-29
| | | | | | | | The terminal mutex is no longer released between event processing and doing a draw. This may fix the race condition with data arriving but not being displayed until a subsequent event. cc #29
* Unify Cursor, Location and name it PointJoe Wilm2016-12-29
|
* Fix selection copy for long linesJoe Wilm2016-12-29
| | | | | | Long lines were previously broken at the terminal width. Now, a wrapping marker is kept on the final cell so that extra newlines are not inserted.
* Minor cleanup in main()Joe Wilm2016-12-27
|
* Fix bug with config reloadingJoe Wilm2016-12-27
| | | | The reloaded config was not used immediately.
* Implement copying selection for macOSJoe Wilm2016-12-26
| | | | Still need automatic loading into selection copy buffer for linux.
* Refactor bindings and fix binding testsJoe Wilm2016-12-26
| | | | | | | | | | The somewhat redundant KeyBinding and MouseBinding types were removed in favor of a Binding<T> type. This allows all binding code to be reused for both scenarios. The binding tests were fixed by only asserting on `is_triggered_by()` instead of checking that the action escape sequence was delivered properly.
* Major cleanup for event handlingJoe Wilm2016-12-26
| | | | | | | | | | | | | | | | | | | | | | 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.
* Refactor input processing to take action contextJoe Wilm2016-12-25
| | | | | | | Various functions take some permutation of the current selection, the terminal, and a notifier. Instead of having to juggle some number of arguments everywhere, the `ActionContext` is constructed and then passed around.
* Implement visual component of mouse selectionsJoe Wilm2016-12-22
| | | | | | This adds the ability to click and drag with the mouse and have the effect of visually selecting text. The ability to copy the selection into a clipboard buffer is not yet implemented.
* Fix config reloadingJoe Wilm2016-12-16
| | | | | The main refactor broke config reloading; specifically, colors were not updating for subsequent draws.
* Remove dead codeJoe Wilm2016-12-16
|
* Misc formatting fixesJoe Wilm2016-12-16
|
* Remove outdated and no longer correct docJoe Wilm2016-12-16
|
* Rustup and clippyJoe Wilm2016-12-16
| | | | All of the changes in this commit are due to clippy lints.
* Handle overflow in Term::move_backwardJoe Wilm2016-12-15
| | | | Resolves #25
* Remove need for Rc<RefCell<_>> usageJoe Wilm2016-12-12
| | | | | | | This adds a trait OnResize and a separate method handle_resize to the display. Instead of having a callback to receive resize events, a list of &mut OnResize are passed to this new method. Doing this allowed the only RefCell usage in the codebase to be removed :).
* Fix a couple of compiler warningsJoe Wilm2016-12-12
|
* Track terminal cells on mouse movementJoe Wilm2016-12-11
| | | | | | | The cell under the cursor is now tracked in the input processor at `self.mouse.line` and `self.mouse.column`. This could probably be optimized to only compute the cell when in certain states, but the calculation is cheap.