diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..922e4aed --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,28 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] +### Added +- CHANGELOG has been added for documenting relevant user-facing changes +- Add `ClearHistory` key binding action and the `Erase Saved Lines` control sequence +- When growing the window height, Alacritty will now try to load additional lines out of the + scrollback history +- Support the dim foreground color (`echo -e '\033[2mDimmed Text'`) +- Add support for the LCD-V pixel mode (vertical screens) +- Pressing enter on the numpad should now insert a newline +- The mouse bindings now support keyboard modifiers (shift/ctrl/alt/super) +- Add support for the bright foreground color +- Add a scrollback history buffer (10_000 lines by default) + +### Changed +- Multiple key/mouse bindings for a single key will now all be executed instead of picking one and + ignoring the rest +- Improve text scrolling performance (affects applications like `yes`, not scrolling the history) + +### Fixed +- Clear the visible region when the RIS escape sequence (`echo -ne '\033c'`) is received +- Prevent logger from crashing Alacritty when stdout/stderr is not available +- Fix a crash when sending the IL escape sequence with a large number of lines diff --git a/Cargo.lock b/Cargo.lock index e6a5b7bb..e91321b2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ dependencies = [ [[package]] name = "alacritty" -version = "0.1.0" +version = "0.2.0" dependencies = [ "arraydeque 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "base64 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index df237669..bba25503 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "alacritty" -version = "0.1.0" +version = "0.2.0" authors = ["Joe Wilm "] license = "Apache-2.0" build = "build.rs" diff --git a/alacritty.man b/alacritty.man index 31ea2ba9..cff766ce 100644 --- a/alacritty.man +++ b/alacritty.man @@ -1,5 +1,4 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.5. -.TH ALACRITTY "1" "March 2018" "alacritty 0.1.0" "User Commands" +.TH ALACRITTY "1" "August 2018" "alacritty 0.2.0" "User Commands" .SH NAME alacritty \- a cross-platform, gpu-accelerated terminal emulator .SH "SYNOPSIS" diff --git a/assets/osx/Alacritty.app/Contents/Info.plist b/assets/osx/Alacritty.app/Contents/Info.plist index 3aa2f703..2792d9cd 100644 --- a/assets/osx/Alacritty.app/Contents/Info.plist +++ b/assets/osx/Alacritty.app/Contents/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.1.0 + 0.2.0 CFBundleSupportedPlatforms MacOSX diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 42bb1035..64594a9c 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: alacritty # you probably want to 'snapcraft register ' -version: '0.1.0' # just for humans, typically '1.2+git' or '1.3.2' +version: '0.2.0' # just for humans, typically '1.2+git' or '1.3.2' summary: Modern, GPU accelerated terminal emulator # 79 char long summary description: | Modern, GPU accelerated terminal emulator @@ -19,4 +19,4 @@ parts: apps: alacritty: command: env XDG_RUNTIME_DIR= XDG_CONFIG_HOME=$SNAP_USER_DATA XDG_DATA_DIRS=$SNAP_DATA PATH=$SNAP/bin:$PATH SNAP= alacritty - desktop: Alacritty.desktop \ No newline at end of file + desktop: Alacritty.desktop diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs index 00ac9eb2..68335e1c 100644 --- a/src/renderer/mod.rs +++ b/src/renderer/mod.rs @@ -827,12 +827,13 @@ impl<'a> RenderApi<'a> { for cell in cells { // Get font key for cell // FIXME this is super inefficient. - let mut font_key = glyph_cache.font_key; - if cell.flags.contains(cell::Flags::BOLD) { - font_key = glyph_cache.bold_key; + let font_key = if cell.flags.contains(cell::Flags::BOLD) { + glyph_cache.bold_key } else if cell.flags.contains(cell::Flags::ITALIC) { - font_key = glyph_cache.italic_key; - } + glyph_cache.italic_key + } else { + glyph_cache.font_key + }; let glyph_key = GlyphKey { font_key,