| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
| |
Some shells will send a backspace at column 0, apparently.
|
| | |
|
| |
|
|
| |
json::from_str takes a &str which will auto deref from &String.
|
| |
|
|
| |
Currently just want to see travis status prominently on repo page.
|
| |
|
|
| |
Config expected key and the default config file had the wrong section.
|
| | |
|
| |
|
|
| |
Also adds a feature `err-println` for enabling `err_println!` printing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
bytes 2 and 3 are not necessarily zeroed
|
| |
|
|
|
| |
Fixes an issue where waking from sleep on macOS would continue showing
the lock screen if Alacritty was the active app.
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Adds support for pageup, pagedown, home, and end. Fixes delete inserting
spaces.
Resolves #15.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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".
|
| |
|
|
|
| |
Contains comments about what requires a restart and also includes the
bold+bright flag.
|
| |
|
|
| |
This feature is on by default
|
| |\ |
|
| | |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| | |
Everything else was already in place, just needed to set the flag.
|
| | |
| |
| |
| |
| |
| | |
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 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.
|
| | |
| |
| |
| | |
The whole enumeration should be well defined for the renderer.
|
| | | |
|
| | |
| |
| |
| |
| | |
The renderer should be able to use the discriminant_value to determine
vertex colors.
|
| | |
| |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
Added solarized dark color scheme for testing purposes.
Resolves #1.
|
| |
|
|
| |
Now uses serde_dervive \o/
|
| |
|
|
| |
Resolves #10.
|
| |
|
|
|
| |
This is used by things like Bash's reverse-i-search and things get
*very* messed up without it.
|
| |
|
|
| |
Resolves #8
|
| | |
|
| | |
|
| |
|
|
|
| |
Currently it only supports x11 via the xclip program, and that only
supports reading the clipboard contents.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
| |
doesn't work on ubuntu 16.04 for some reason
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
This type and its implementations were seriously cluttering main.rs.
|
| | |
|
| |
|
|
|
|
| |
Linefeeds were triggering scrolls in incorrect situations.
Resolves #9.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
This was previously logging as an unhandled `execute`.
|
| |
|
|
|
|
| |
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.
|