aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-24Add custom beam cursorChristian Duerr
In issue jwilm/asacritty#31 a few people complained about Beam cursor being weird with their fonts, so to make all cursors uniform in alacritty, a custom cursor has been added for the Beam too. The beam cursor's height is always the full height of the monospace font glyph bounding box. The width depends on the font size. It is calculated using the width of the cell and dividing it by two. The block is always aligned at the far-left of the cell. The implementation is identical to the one of the underline cursor, but it has been refactored so the glyphs are created in `lib.rs`, which can be used by darwin/macos to implement these features too. A small bug in the underline cursor has also been fixed, until now the width was just using the width of the unicode character. Now it should be using the full width of the monospace glyph bounding box with every font. Here are some screenshots for the Beam cursor: ![Small](https://u.teknik.io/v1QH3.png) ![Normal](https://u.teknik.io/RTlp2.png) ![Big](https://u.teknik.io/DLu2M.png) ![Huge](https://u.teknik.io/pSAFX.png)
2017-12-24Specify unicode code point explicitlyChristian Duerr
2017-12-24Update comment to reference proper characterChristian Duerr
The unicode character comment has been updated to correctly reference the character instead of commenting on the variable that might be that character.
2017-12-24Revert to old system for macosChristian Duerr
Because rendering with macos works differently, the old underline cursor is used for that. The cursor symbol has also been setup as a constant in the font project.
2017-12-24Add custom underline cursorChristian Duerr
As mentioned in jwilm/alacritty#931, it can be troublesome if a font has an underline symbol outside of the glyph's bounding box. This can lead to the underline disappearing at the bottom of the terminal. As a solution a symbol from the private use area was used as the character code for the underline symbol. Whenever this symbol is encountered, instead of rendering it, a custom block is rendered. In this implementation the block has the full character as width and sits flush with the bottom of the glyph's bounding box. The height is half the distance between the baseline and the bottom of the bounding box.
2017-12-23Update glutin to v0.11chetgurevitch
2017-12-23Update euclid to v16Chet Gurevitch
2017-12-23Update bitflags to v1Chet Gurevitch
2017-12-23Update glutin to v0.10Chet Gurevitch
2017-12-23Update depsChet Gurevitch
2017-12-23Update dependenciesJoe Wilm
Also fixes warning from gl generator
2017-12-22Assure that newlines are in selections (#777)Dustin
When a selection was made, the last line of the selection did not include a new line character when the line ending was selected. This would occur if only one line was selected; if multiple lines were selected, only the final line did not include a newline. This commit updates the `string_from_selection` function to attempt to append a newline character in all places where they are suitable. Because of the simplification of newline insertion, several trait implementations were removed.
2017-12-22Remove debug printJoe Wilm
2017-12-22Fix macOS fallbacks (#956)Joe Wilm
The cascade list is now generated from Menlo for all fonts. This doesn't feel correct to me, but it seems to give the expected behavior on macOS. One of the problems cited was that certain glyphs like ❯ would not be rendered with default cascade lists for some fonts.
2017-12-22Remove built crateJoe Wilm
This became a support burden for me due to various compile and run time issues.
2017-12-22Update README.md for current state of macOSColin King
Homebrew Rust will correctly compile `alacritty` now, and the monospace font is automatically set to `Menlo` at first launch.
2017-12-22Add Void Linux to distrobutions with packagesBenjamin Hoffmeyer
Void Linux has the alacritty package in the main repository's, so compilation from source isn't needed.
2017-12-22Style nitsJoe Wilm
2017-12-22Adapt pixel-based scrolling behaviorChristian Duerr
The pixel-based scrolling behavior has been adapted to be as similar to the line-based one as possible. I still have not been able to test this. But this should have a decent chance to at least kinda work.
2017-12-22Fix faux scrolling for line-based touchpadsChristian Dürr
Touchpads which use line-based instead of pixel-based updates send partial scroll requests, so decimal numbers are important. The current implementation only really used scroll amounts that are either 1 or -1. This has been fixed and now the line-based touchpads should have very smooth scrolling, but the pixel-based approach is still WIP and completely untested.
2017-12-22Implement faux scrollingChristian Duerr
This patch implements faux scrolling inside the alternate screen buffer. Whenever the user scrolls up or down while the alternate screen buffer is active, instead of actual scrolling three up/down arrow keys are inserted.
2017-12-22Share LoadGlyph implementationsJoe Wilm
Previously there were two separate but intended-to-be-identical implementations. Now the two implementations simply delegate to a single, shared method. This should help correctness issues in the future.
2017-12-22Change LoadGlyph in LoaderApi to match RenderApiChristian Duerr
2017-12-22Fix stack-overflow when creating a new atlasChristian Duerr
When an atlas is full and the `insert` call fails, a new atlas should be created. This is the current strategy, however the atlas is put at the end of the vector, but the `current_atlas` index is set to 0, instead of the last element. This leads to a recursion where it keeps trying to insert into the full atlas at position 0 instead of the new at `atlas.len() - 1`. With this simple fix a stack-overflow is prevented because the new atlas is inserted as the first element, which then will be used correctly for loading new glyphs. This fixes jwilm/alacritty/issues/842 and might also solve jwilm/alacritty/issues/914 (I wasn't able to reproduce this with the latest master).
2017-12-22Use consistent config deprecation message styleJoe Wilm
2017-12-22Deprecate config top-level dimensions and paddingJoe Wilm
2017-12-22Update config filesRobert Günzler
2017-12-22Move dimensions and padding into window sectionRobert Günzler
2017-12-22Add new window section to configRobert Günzler
Move/rename borderless into window_config as decorations
2017-12-22Add borderless option to config filesRobert Günzler
See 46a1ee72267c0979e980607098ce4ef00a3db1ac
2017-12-22Add 'borderless' optionRobert Günzler
Until winit gives us more capabilities in regard to window decorations this implements a simple switch that renders the window without any title bar or border
2017-12-16Fix License link at the bottom of the readme (#933)Jon McDuffie
2017-12-13On macOS when launching multiple times focus win (#941)Andrew De Ponte
I dug into this and narrowed the issue down to the macOS app bundle Info.plist file. So, I spun up a native macOS app real quick and tested it by launching the binary directly and launching it via the app bundle. When launching from the command line directly, it created multiple windows & instances of the app. However, when launching via the app bundle it behaved as I normally expect a macOS app to behave, that is when launched multiple times to simply focus the already existing window and instance. This informed me that it wasn't something in code as much as it was something in the app bundle configuration. Hence, I reworked the Info.plist file based on the one that was created by XCode when I made the native macOS app and it started behaving as expected.
2017-12-13Remove the launcher and set the locale/current directory in alacritty (#879)Theodore Dubois
2017-12-03Add cursor style option (#928)Christian Duerr
The default cursor can now be configured through the cursor_style field of the config. Valid options include Block, Underline, and Beam. The default can be restored by sending \e[0q as in VTE terminals. Live config reloading is supported for this parameter.
2017-12-03clippy: do and don't pass some things by reference as suggested ↵Matthias Krüger
(needless_pass_by_value, needless_borrow).
2017-12-03clippy: use is_empty() instead of len() == 0 (warn(len_zero)).Matthias Krüger
2017-12-03clippy: remove unneeded return statement (needless_return).Matthias Krüger
2017-12-03clippy: string constants do not need to have static lifetime ↵Matthias Krüger
(const_static_lifetime).
2017-12-03Cargo.lock: bump clippy from 0.0.164 to 0.0.174.Matthias Krüger
2017-12-03clippy: fix if_not_else warning 'breaking' the build. Swap blocks and change ↵Matthias Krüger
to "==".
2017-12-03commit some Cargo.lock changes that "cargo build" would do automaticallyMatthias Krüger
2017-11-20Revert "Wait to display window until initialization is complete (#907)"Joe Wilm
This reverts commit a931d691a21a851ca4653cbab3542c600b72ff36. Please see https://github.com/jwilm/alacritty/pull/907#issuecomment-345666727 for rationale w/ GIF. > now alacritty starts "in stages". First it paints some small > rectangle, and in a second in "boots" and fills up the available > space.
2017-11-19Wait to display window until initialization is complete (#907)Charles
2017-11-19Remove outdated TASK.md (#906)Nathan Lilienthal
2017-11-11Support more color escape codes (#757)Tuomas Siipola
* Support text cursor color escape codes * Support reset color index escape code * Support multiple colors in set color index escape code
2017-11-11Output more info for `--version` (#888)hcpl
Useful when requesting more info to help investigating issues.
2017-11-11Fix typo and whitespaceJoe Wilm
2017-11-11Style fixesJoe Wilm
2017-11-11Don't enforce window dimensions if configured with 0 columns or linesBryan Gilbert