aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-28Add support for -e argumentNiklas Claesson
2017-01-26Optimize glyph cache accessJoe Wilm
Loading a glyph from the cache is a very hot operation in the renderer. The original implementation would first check if a glyph was loaded and then call `get()` which would have to search a second time. This showed up as a very slow point in profiles. This patch addresses glyph cache access in two ways: by using a faster hasher optimized for small keys (fnv), and by using the entry API for fetching a cached glyph. The `fnv` hasher is faster than the default and is very efficient for small keys. Using the entry API on the HashMap means only 1 lookup instead of two. The entry API has a downside where the key needs to get cloned on fetches. Reducing the GlyphKey width to 64-bits helps in both areas. Copying an 8-byte wide type is very cheap and thus limits downside of the entry API. The small width also helps with the hasher performance. Over all, this patch reduced typical render times by several hundred microseconds on a 2013 MacBook Pro with a full screen terminal full of text.
2017-01-26Add Slackware section to README.mdDerNorbert
2017-01-26fix config fileNiklas Claesson
2017-01-25Implement argument passing in configNiklas Claesson
This commit implements the following syntax in the config file: ```yaml shell: program: /bin/bash args: - --login - --norc ```
2017-01-24Use clap as cli parser.Kurnevsky Evgeny
2017-01-23Change to process::CommandNiklas Claesson
2017-01-23Remove debug_print! macrosJoe Wilm
The logging macros should be used instead.
2017-01-23Return an error from logging::initializeJoe Wilm
Logging initialization now shares the same error handling code as the rest of the `run` function.
2017-01-23Minor formatting fixesJoe Wilm
2017-01-23Changes to Logger logicJoe Wilm
The logger implementation will now only show items from Alacritty. Additionally, the module info is omitted from the log output. If the origin of a log item must be found, it can easily be grepped for.
2017-01-23Use the log-crate instead of printing to stdoutLukas Lueg
2017-01-23Capture test output by defaultJoe Wilm
The `rustc-test` crate has this feature disabled by default causing all of the test `println!` output to be displayed.
2017-01-23Remove line_wrap testSteven Fackler
This doesn't pass, and was mistakenly never actually enabled in the old ref.rs macro.
2017-01-23Dynamically generate test harnessSteven Fackler
This uses the rustc-test crate, a copy of the standard test crate, to dynamically create tests for each reference test. No need to remember to update the macro, just add the directory to ref!
2017-01-21ansi: Designate and invoke graphic character setsRichard Palethorpe
Implement the designation of graphic character sets G0-G3 to ASCII or the Special character and line drawing glyphs. As well as the invokation/selection of the character sets (shift in, shift out and lock shifting).
2017-01-21Merge pull request #336 from lukaslueg/patch-3Joe Wilm
Mention talk at Rust Meetup in README.md
2017-01-21Mention talk at Rust Meetup in README.mdlukaslueg
2017-01-18Mention our IRC channel in the READMEJoe Wilm
2017-01-18Use latest nightly on travisJoe Wilm
Pinning should no longer be necessary.
2017-01-18Remove unnecessary featureOula Kuuva
Proc_macro has been stable since 1.15.0, attribute no longer needed.
2017-01-18Update rustc-versionOula Kuuva
2017-01-18Make it run on FreeBSDjohalun
2017-01-15Cleanup getpwuid_r wrapperJoe Wilm
The wrapper had some transmutes still from an earlier implementation, and they are not needed now.
2017-01-12add suggestive fallback messages on unavailable fontsTom Crayford
as per https://github.com/jwilm/alacritty/issues/39
2017-01-12make thin stroke rendering configurableTom Crayford
Makes thin stroke rendering for darwin configurable by a new toplevel key under `font:` in the config file. Defaults to false, has no impact on non macos.
2017-01-11Merge pull request #298 from mbrumlow/line_wrap_testJoe Wilm
Adding test for line wrap.
2017-01-12Adding test for line wrap.Michael Brumlow
This test ensures we can enable and disable line wrap.
2017-01-11Proposal for line wrap - ^[[7h and ^[[7l (private)Michael Brumlow
These changes provide support for disabling auto line wrap which is currently default to on. 'tput rman' will now disable auto line wrap and alacritty will now not automatically wrap lines. 'tput sman' will now (re)enable auto line wrap and alacritty will now automatically wrap lines once it reaches the end of the line. My testing showed this to work the same as gnome-terminal. I should note that simply having ^[[7h or ^[[7l in a recording does not enable and disable line wrapping. This is the same behavior as gnome-terminal and xterm. Those cape codes come through as private which are not handled yet. I behave this is the correct behavior.
2017-01-11Fix bug where event loop could get stuck readingJoe Wilm
One symptom of this bug was being unable to send C-c during `cat /dev/urandom`. cc #271
2017-01-11Add support for setting title from OSCJoe Wilm
Resolves #23 Resolves #144
2017-01-10Update README.mdlukaslueg
`cmake` is required everywhere in order to build `expat-sys`
2017-01-09Merge pull request #268 from mbrumlow/urandom_panicJoe Wilm
Fixing panic on cat /dev/urandom
2017-01-09Fix last panic with `cat /dev/urandom`Joe Wilm
2017-01-10Fixing panic on cat /dev/urandomMichael Brumlow
- Checks to make sure lines count coming from the pty are within a proper range before doing scrolling. - Sanitizes scroll region when being set. - Changes panic for unimplemented screen clear to a print statement. The first two changes ensure scrolling won't crash us. By sanitizing the region on set we don't have to complicate the scroll code with limits, mins, or maxes to ensure the scroll operation is within the range. Checking if the lines is greater than the total region allows us to simply clear the region and avoid subtracting large numbers from small ones.
2017-01-09Merge pull request #255 from igravious/patch-1Joe Wilm
Update README.md
2017-01-09Add another optional config path `$HOME/.alacritty.yml`Alberto Corona
- Added note about the default file created if no path is found
2017-01-09Support config path `$XDG_CONFIG/alacritty.yml`Alberto Corona
- Update README to reflect changes
2017-01-09Conform to XDG spec for configurationAlberto Corona
- Use $XDG_CONFIG_HOME/alacritty/alacritty.yml for loading the configuration file falling back to $HOME/.config/alacritty/alacritty.yml - Closes #203
2017-01-09Update README.mdigravious
Tiny grammar fix.
2017-01-08Merge pull request #236 from tcrayford/print_glutin_eventsJoe Wilm
print glutin events if --print-events is passed
2017-01-08Remove some dead codeJoe Wilm
2017-01-08Fix parsing of coalesced SGR attributesJoe Wilm
cc #116
2017-01-08print glutin events if --print-events is passedTom Crayford
When debugging many issues, it's often very helpful to have the raw glutin events printed out to stderr as they come in. This does that. Note that since `glutin::Event` doesn't implement `Display`, we just use rust's debugging output for now via `{:?}`.
2017-01-07Merge pull request #216 from mbrumlow/better_bounds_checkingJoe Wilm
Better bounds checking.
2017-01-07Merge pull request #224 from valarauca/masterJoe Wilm
Enabled Rustc's Link Time Optimization
2017-01-07Enabled Rustc' Link Time Optimizationcody
2017-01-07Changes requested.Michael Brumlow
- Rename wrap to input_needs_wrap and providing documentation. - Standardize on min. - Optimization on subtracting col.
2017-01-07Merge pull request #220 from mbrumlow/resize_fixJoe Wilm
Fixing resize crashes.
2017-01-07Fixing resize crashes.Michael Brumlow
Most of the crashes on resize were due to columns and lines being set to zero. This causes all sorts of other checks within the code to ensure these values are greater than zero before running calculations. To avoid this we just need to ensure that lines and columns are some non zero value. This is seems to be what gnome terminal does. I have selected 2 lines and two columns for min terminal size for now.