aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Revert "Reduce InstanceData footprint"Joe Wilm2017-07-03
| | | | | | | This reverts commit 3cdba291242cc1c1684bff7f8242262b1cdeb582. On some systems, the target commit actually caused a massive performance issue rather than fixing one.
* Document binding keys to a `command` (#647)Ollie Ford2017-07-01
| | | | | | | | | | | * Refactor `key_bindings` documentation * Document binding keys to a `command` The ability for `key_bindings` to trigger a `command` was added in #566. This commit documents their use, and gives a simple example. Resolves #646.
* Reduce InstanceData footprintJoe Wilm2017-07-01
| | | | | | | | | | | | | | | | | The InstanceData type in the rendering subsystem was previously 16 floats which occupied a total of 64 bytes per instance. This meant that for every character or background cell drawn, 64 bytes were sent to the GPU. In the case of a 400x100 cell grid, a total of 2.5MB would be sent. This patch reduces InstanceData's size to 26 bytes, a 60% improvement! Using the above example for comparison, a worst case of 1MB would be transferred. The motivation for this patch comes from macOS. Once the terminal grid would reach a certain size, performance experienced a sharp and dramatic drop (render times would go from ~3ms to ~16ms). I don't want to speculate too much on the underlying issue, but suffice it to say that this patch alleviates the problem in my testing.
* Add Solus instructionsDimas Cyriaco2017-06-30
|
* Use foreign-types from crates.ioJoe Wilm2017-06-27
| | | | | We had previously vendored a very early version of this package before it was ever published.
* Update READMEJoe Wilm2017-06-27
| | | | | Closes #636 Closes #592
* Add dim color supportJake Merdich2017-06-23
| | | | | | | | | | | Add support for the VTE 'dim' flag, with additional support for custom-themed dim colors. If no color is specified in the config, it will default to 2/3 the previous (not a spec, but the value other terminals seem to use). The actual dimming behavior brings bright colors to normal and regular colors to the new dim ones. Custom RGB values are not changed, nor are non-named indexed colors.
* Update vte dependencyJoe Wilm2017-06-20
| | | | cc #68
* remove $SNAP variable inside snap environmentChris MacNaughton2017-06-20
|
* Adding snapcraft.yamlChris MacNaughton2017-06-20
| | | | | | Snapcraft makes Linux packaging very simple in a cross-distro way. This adds the snapcraft.yaml file to setup a snap of alacritty.
* Update tests for new Selection APIJoe Wilm2017-06-19
|
* Fix unnecessary redraws with active selectionJoe Wilm2017-06-19
| | | | | | | Could be cleaned up a bit if there was a wrapper for Option<Selection> that contained this flag. Also fixes a few compiler warnings.
* Implement semantic and line selection draggingJoe Wilm2017-06-19
| | | | | | Unlike the regular selection that is by cell, these selection modes highlight either semantic groupings or entire lines while the mouse is dragged.
* Add dependency to FreeBSD-specific setupSiva Mahadevan2017-06-18
| | | Fixes problem I had with issue #609, should be better documented.
* Fix bright inverse colors (#621)DarkDefender2017-06-18
| | | Fixes #611.
* Implement 'backwards tab'Aaron Hill2017-06-18
| | | | | This escape sequence isn't officially documented anywhere, but is supported by xterm and gnome-vte.
* Make Travis test alacritty on nightly Rust, but allow failuresAaron Hill2017-06-14
| | | | | | | | | | | | This allows us to notice and report any regressions that have occured on nightly, without requiring tests to pass on nightly for the entire build to succeed. The `fast_finish` flag will cause Travis to mark the build as successful if the only builds still running are allowed to fail (e.g. `nightly`). This allows us to manually inspect builds (or implement some form of notifications) to see if any nightly regressions have occured, without slowing down the overall build time.
* Use cursor cell template when handling 'CSI X' escape sequenceAaron Hill2017-06-14
| | | | | | | This ensures that the cleared cells are set to the proper background color, which is the main usage of this escape sequence. Fixes #612
* Add support for Beam, Underline cursorsJoe Wilm2017-06-11
| | | | | | | | | | | | | | | Notable about this implementation is it takes a different approach for managing cursor cells that previously. The terminal Grid is now borrowed *immutably*. Instead of mutating Cells in the Grid, a list is managed within the RenderableCellsIter. The cell at the cursor location is skipped over, and instead cells are popped off a list of cursor cells. It would be good in the future to share some more code between the different cursor style implementations for populating the cursor cells list. Supercedes #349.
* changes osx fallback symbol font styleJames A Keene2017-06-06
| | | | | | Previously, the fallback symbol font copied the style of the font from the config. However, the only available style for the fallback symbol font is Normal slant, Normal weight.
* macOS use system font fallbackMartin Algesten2017-06-06
|
* Fix selection when padding is presentTuomas Siipola2017-06-06
|
* CI with the oldest known working version of rustNiklas Claesson2017-06-04
|
* avoid named field shorthandMartin Algesten2017-06-01
|
* final core-graphics extensions moved upstreamMartin Algesten2017-06-01
|
* remove code that has been upstreamedMartin Algesten2017-05-31
|
* updated some font depsMartin Algesten2017-05-31
|
* avoid unused warningMartin Algesten2017-05-31
|
* somewhat DRYer code for font loadingMartin Algesten2017-05-31
|
* Implement FocusIn/FocusOut reports (#589)Aaron Hill2017-05-29
| | | | Implements sending FocusIn/FocusOut events, as defined at http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-FocusIn_FocusOut
* Add config file as cli option (#576)Niklas Claesson2017-05-28
| | | | | | | | | | | | | | * Parse cli arguments before configuration file Parsing the cli arguments before the configuration file allows `--help` and `--version` to be used even if the configuration file is broken. * Add configuration file to command line arguments This commit adds a new command line flag `--config-file` to override the default configuration file location. If the specified file is unavailable, Alacritty will quit instead of generating a fallback. If the specified file is invalid, i.e. /dev/null, the compiled in defaults will be loaded instead.
* Fixes font raster for mono, gray bitmaps (#590)Joe Wilm2017-05-28
| | | | | | | | | | | | | | As it turns out, FreeType does not always provide glyph data in LCD mode as we requested. We now correctly handle several common modes returned from FreeType including Lcd, Mono, and Gray. Note that we don't check number of grays at this time since it's 1. Almost always 256, according to FreeType docs 2. Not available in the Rust FreeType bindings being used Resolves #515 Resolves #185 Resolves #482
* Find and set $WINDOWID to X11 window ID (#586)ns2017-05-27
|
* Fix colors in macOS configJoe Wilm2017-05-27
|
* Fix default color schemeJoe Wilm2017-05-27
| | | | | | Whites were being rendered very dark. Resolves #503.
* Add script to apply a tilix colorscheme file. (#524)Trevor Joynson2017-05-27
|
* Add terminfo file supporting true color, italicscac042017-05-27
|
* Remove incorrect close (#552)Niklas Claesson2017-05-27
| | | | | | Ownership of the slave file descriptor is passed to the process::Stdio structs and will be closed when they are dropped. If the slave fd is closed explicitly then the next fd that is opened during the same scope will get silently closed by the Stdio structs when they are dropped.
* Update dependenciesJoe Wilm2017-05-25
|
* Add support for running commands on key press (#566)Dominik Miedziński2017-05-25
| | | | | | | | | | | | | | | | | Based on option `command` in key binding section in config, e.g. - { key: N, mods: Control|Shift, command: alacritty } # or - { key: N, mods: Control|Shift, command: { program: "alacritty", args: ["-e", "vttest"], }} specified command will be run in the background on key press. Alacritty doesn't wait for its result nor block IO.
* Minor cleanup, style fix, dead code removalJoe Wilm2017-05-24
|
* Add DrainResult enumAaron Hill2017-05-24
|
* Fix typoAaron Hill2017-05-24
|
* Ensure that the event loop thread cleanly exits on shutdownAaron Hill2017-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | Background: If a shell process exits with children still alive (typically due to the `disown` shell builtin), POLLHUP will not be sent to the master PTY file descriptor. This is due to the fact that the disowned process still has the slave PTY open as its STDIN, STDOUT, and STDERR. If a disowned process never reads or writes from its file descriptors (which is often the case for graphical applications), the event loop will end up blocking on poll()/select() when not handling user input received over the mio channel. When Alacritty shuts down and joins on the event loop thread, there can never be any more input on the mio channel - the main thread is no longer handling user keystrokes from the window. Unless a disowned process happens to access its slave PTY file descriptors, the event loop will never get the chance to deetect that it should exit. This commit extends the `Msg` enum to include an explicit `Shutdown` message, which ensures a clean shutdown (e.g. closing the 'recording' file). This allows the select()/poll() call to remain blocking, instead of needing to periodically check the shutdown state in between timed-out calls. Fixes #339
* Fix #573. Ensure we don't write 0 bytes to ptyMartin Algesten2017-05-24
| | | | | | | Any action that results in 0 bytes, such as pasting 0 bytes from the clipboard hangs the terminal (`pbcopy </dev/null` followed by ctrl-v), hangs the terminal on both macOS and Linux. This ensures we never send 0 bytes.
* Use debug! instead of println!Dominik Miedziński2017-05-12
|
* Add Shift+PageUp and Shift+PageDown to default key bindingsRonan Jouchet2017-05-10
|
* Add Ctrl+PageUp and Ctrl+PageDown to default key bindingsMaxim Baz2017-05-10
|
* Fix viewport_size.height calculationN-0062017-05-10
| | | Closes #556
* Fix Device Status reportsDominik Miedziński2017-05-08
|