Date: Sunday, October 18, 2020 @ 11:27:37 Author: shibumi Revision: 725917
archrelease: copy trunk to community-x86_64 Added: alacritty/repos/community-x86_64/4275.patch (from rev 725915, alacritty/trunk/4275.patch) alacritty/repos/community-x86_64/PKGBUILD (from rev 725915, alacritty/trunk/PKGBUILD) Deleted: alacritty/repos/community-x86_64/PKGBUILD ------------+ 4275.patch | 2575 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 91 +- 2 files changed, 2624 insertions(+), 42 deletions(-) Copied: alacritty/repos/community-x86_64/4275.patch (from rev 725915, alacritty/trunk/4275.patch) =================================================================== --- 4275.patch (rev 0) +++ 4275.patch 2020-10-18 11:27:37 UTC (rev 725917) @@ -0,0 +1,2575 @@ +From 555a522c7a2e8ad6abb611ac1b36e3c854b24c7b Mon Sep 17 00:00:00 2001 +From: Kirill Chibisov <cont...@kchibisov.com> +Date: Thu, 1 Oct 2020 19:33:23 +0300 +Subject: [PATCH 1/6] Update glutin to 0.25 + +Fixes #4206. +Fixes #4162. +Fixes #4017. +Fixes #3998. +Fixes #3831. +Fixes #3782. +Fixes #3708. +Fixes #2734. +Fixes #2714. +Fixes #1801. +--- + CHANGELOG.md | 15 + + Cargo.lock | 541 +++++++++++++++++++------------ + alacritty/Cargo.toml | 4 +- + alacritty/src/config/bindings.rs | 9 +- + alacritty/src/display.rs | 6 +- + alacritty/src/wayland_theme.rs | 92 +++--- + alacritty/src/window.rs | 23 +- + alacritty_terminal/Cargo.toml | 4 +- + 8 files changed, 427 insertions(+), 267 deletions(-) + +diff --git a/CHANGELOG.md b/CHANGELOG.md +index 4da3e7076..597276e33 100644 +--- a/CHANGELOG.md ++++ b/CHANGELOG.md +@@ -24,6 +24,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + - CLI parameter `--option`/`-o` to override any configuration field + - Escape sequences to report text area size in pixels (`CSI 14 t`) and in characters (`CSI 18 t`) + - Support for single line terminals dimensions ++- Right clicking on Wayland's client side decorations will request application menu + + ### Changed + +@@ -33,6 +34,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + - The user's background color is now used as the foreground for the render timer + - Use yellow/red from the config for error and warning messages instead of fixed colors + - Existing CLI parameters are now passed to instances spawned using `SpawnNewInstance` ++- Wayland's Client side decorations now refer to search bar colors + + ### Fixed + +@@ -48,6 +50,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + - Selection expanding over 2 characters when scrolled in history with fullwidth characters in use + - Selection scrolling not starting when mouse is over the message bar + - Incorrect text width calculation in message bar when the message contains multibyte characters ++- Remapped caps lock to escape not triggering escape bindings on Wayland ++- Crash when requesting overly long title on Wayland ++- Fullscreen/Tiled window state change doesn't restore window sizes on Wayland ++- Crash when providing 0 for `XCURSOR_SIZE` on Wayland ++- Gap between window and server side decorations on KWIN Wayland ++- Wayland's client side decorations not working after tty switch ++- `Fullscreen` startup mode not working on Wayland ++- Window not being rescaled when changing DPR of the current monitor on Wayland ++- Crash in some cases when pointer isn't presented upon startup on Wayland ++- IME not working on Wayland ++- Crash on startup on GNOME since its 3.37.90 version on Wayland ++- Touchpad scrolling scrolled less than it should on macOS/Wayland on scaled outputs ++- Incorrect modifiers at startup on X11 + + ## 0.5.0 + +diff --git a/Cargo.lock b/Cargo.lock +index bd29ad13b..187fe63c1 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1,5 +1,11 @@ + # This file is automatically @generated by Cargo. + # It is not intended for manual editing. ++[[package]] ++name = "ab_glyph_rasterizer" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2692800d602527d2b8fea50036119c37df74ab565b10e285706a3dcec0ec3e16" ++ + [[package]] + name = "adler32" + version = "1.2.0" +@@ -60,7 +66,7 @@ dependencies = [ + "mio-extras", + "mio-named-pipes", + "miow 0.3.5", +- "nix 0.17.0", ++ "nix 0.18.0", + "parking_lot", + "regex-automata", + "serde", +@@ -76,13 +82,13 @@ dependencies = [ + + [[package]] + name = "andrew" +-version = "0.2.1" ++version = "0.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9b7f09f89872c2b6b29e319377b1fbe91c6f5947df19a25596e121cf19a7b35e" ++checksum = "5e1ea80a5089cac999ffd4a91888154076a961d27387b0f7a6cd2d4dddb636b9" + dependencies = [ + "bitflags", + "line_drawing", +- "rusttype 0.7.9", ++ "rusttype", + "walkdir", + "xdg", + "xml-rs", +@@ -94,12 +100,6 @@ version = "0.2.3" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "000444226fcff248f2bc4c7625be32c63caccfecc2723a2b9f78a7487a49c407" + +-[[package]] +-name = "android_log-sys" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b8052e2d8aabbb8d556d6abbcce2a22b9590996c5f849b9c7ce4544a2e3b984e" +- + [[package]] + name = "ansi_term" + version = "0.11.0" +@@ -109,15 +109,6 @@ dependencies = [ + "winapi 0.3.9", + ] + +-[[package]] +-name = "approx" +-version = "0.3.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +-dependencies = [ +- "num-traits", +-] +- + [[package]] + name = "arc-swap" + version = "0.4.7" +@@ -175,8 +166,8 @@ dependencies = [ + "lazycell", + "log", + "peeking_take_while", +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", + "regex", + "rustc-hash", + "shlex", +@@ -241,13 +232,12 @@ dependencies = [ + + [[package]] + name = "calloop" +-version = "0.4.4" ++version = "0.6.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7aa2097be53a00de9e8fc349fea6d76221f398f5c4fa550d420669906962d160" ++checksum = "59561a8b3968ba4bda0c46f42e0568507c5d26e94c3b6f2a0c730cbecd83ff3a" + dependencies = [ +- "mio", +- "mio-extras", +- "nix 0.14.1", ++ "log", ++ "nix 0.18.0", + ] + + [[package]] +@@ -303,7 +293,7 @@ dependencies = [ + "ansi_term", + "atty", + "bitflags", +- "strsim", ++ "strsim 0.8.0", + "textwrap", + "unicode-width", + "vec_map", +@@ -320,9 +310,9 @@ dependencies = [ + + [[package]] + name = "cloudabi" +-version = "0.0.3" ++version = "0.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" ++checksum = "4344512281c643ae7638bbabc3af17a11307803ec8f0fcad9fae512a8bf36467" + dependencies = [ + "bitflags", + ] +@@ -344,8 +334,39 @@ checksum = "0c49e86fc36d5704151f5996b7b3795385f50ce09e3be0f47a0cfde869681cf8" + dependencies = [ + "bitflags", + "block", +- "core-foundation", +- "core-graphics", ++ "core-foundation 0.7.0", ++ "core-graphics 0.19.2", ++ "foreign-types 0.3.2", ++ "libc", ++ "objc", ++] ++ ++[[package]] ++name = "cocoa" ++version = "0.23.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c54201c07dcf3a5ca33fececb8042aed767ee4bfd5a0235a8ceabcda956044b2" ++dependencies = [ ++ "bitflags", ++ "block", ++ "cocoa-foundation", ++ "core-foundation 0.9.1", ++ "core-graphics 0.22.1", ++ "foreign-types 0.3.2", ++ "libc", ++ "objc", ++] ++ ++[[package]] ++name = "cocoa-foundation" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" ++dependencies = [ ++ "bitflags", ++ "block", ++ "core-foundation 0.9.1", ++ "core-graphics-types", + "foreign-types 0.3.2", + "libc", + "objc", +@@ -377,7 +398,17 @@ version = "0.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" + dependencies = [ +- "core-foundation-sys", ++ "core-foundation-sys 0.7.0", ++ "libc", ++] ++ ++[[package]] ++name = "core-foundation" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" ++dependencies = [ ++ "core-foundation-sys 0.8.1", + "libc", + ] + +@@ -387,6 +418,12 @@ version = "0.7.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" + ++[[package]] ++name = "core-foundation-sys" ++version = "0.8.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c0af3b5e4601de3837c9332e29e0aae47a0d46ebfa246d12b82f564bac233393" ++ + [[package]] + name = "core-graphics" + version = "0.19.2" +@@ -394,7 +431,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923" + dependencies = [ + "bitflags", +- "core-foundation", ++ "core-foundation 0.7.0", ++ "foreign-types 0.3.2", ++ "libc", ++] ++ ++[[package]] ++name = "core-graphics" ++version = "0.22.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fc239bba52bab96649441699533a68de294a101533b0270b2d65aa402b29a7f9" ++dependencies = [ ++ "bitflags", ++ "core-foundation 0.9.1", ++ "core-graphics-types", ++ "foreign-types 0.3.2", ++ "libc", ++] ++ ++[[package]] ++name = "core-graphics-types" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" ++dependencies = [ ++ "bitflags", ++ "core-foundation 0.9.1", + "foreign-types 0.3.2", + "libc", + ] +@@ -405,8 +467,8 @@ version = "15.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "131b3fd1f8bd5db9f2b398fa4fdb6008c64afc04d447c306ac2c7e98fba2a61d" + dependencies = [ +- "core-foundation", +- "core-graphics", ++ "core-foundation 0.7.0", ++ "core-graphics 0.19.2", + "foreign-types 0.3.2", + "libc", + ] +@@ -418,8 +480,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "34ecad23610ad9757664d644e369246edde1803fcb43ed72876565098a5d3828" + dependencies = [ + "cfg-if", +- "core-foundation-sys", +- "core-graphics", ++ "core-foundation-sys 0.7.0", ++ "core-graphics 0.19.2", + "libc", + "objc", + ] +@@ -450,10 +512,10 @@ version = "0.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "fb710de01349371230ec5f5e65410826682448dfad14d97b473a69d850f686bd" + dependencies = [ +- "cocoa", +- "core-foundation", +- "core-foundation-sys", +- "core-graphics", ++ "cocoa 0.20.2", ++ "core-foundation 0.7.0", ++ "core-foundation-sys 0.7.0", ++ "core-graphics 0.19.2", + "core-text", + "dwrote", + "euclid", +@@ -465,6 +527,41 @@ dependencies = [ + "winapi 0.3.9", + ] + ++[[package]] ++name = "darling" ++version = "0.10.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" ++dependencies = [ ++ "darling_core", ++ "darling_macro", ++] ++ ++[[package]] ++name = "darling_core" ++version = "0.10.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" ++dependencies = [ ++ "fnv", ++ "ident_case", ++ "proc-macro2", ++ "quote", ++ "strsim 0.9.3", ++ "syn", ++] ++ ++[[package]] ++name = "darling_macro" ++version = "0.10.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" ++dependencies = [ ++ "darling_core", ++ "quote", ++ "syn", ++] ++ + [[package]] + name = "deflate" + version = "0.8.6" +@@ -481,8 +578,8 @@ version = "2.1.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "cb582b60359da160a9477ee80f15c8d784c477e69c217ef2cdd4169c24ea380f" + dependencies = [ +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", + "syn", + ] + +@@ -577,7 +674,7 @@ version = "0.20.14" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "2bb7ef65b3777a325d1eeefefab5b6d4959da54747e33bd6258e789640f307ad" + dependencies = [ +- "num-traits", ++ "num-traits 0.2.12", + ] + + [[package]] +@@ -645,8 +742,8 @@ version = "0.2.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "63f713f8b2aa9e24fec85b0e290c56caee12e3b6ae0aeeda238a75b28251afd6" + dependencies = [ +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", + "syn", + ] + +@@ -749,27 +846,27 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + + [[package]] + name = "glutin" +-version = "0.24.1" ++version = "0.25.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9a9666c8fd9afd008f6559e2468c35e11aad1d110d525bb3b354e4138ec0e20f" ++checksum = "ed94c05751b6948879d2b15d49930e16ecc0144e51fcb8cd873686d6c4b5ebed" + dependencies = [ + "android_glue", + "cgl", +- "cocoa", +- "core-foundation", +- "core-graphics", ++ "cocoa 0.23.0", ++ "core-foundation 0.9.1", + "glutin_egl_sys", + "glutin_emscripten_sys", + "glutin_gles2_sys", + "glutin_glx_sys", + "glutin_wgl_sys", + "lazy_static", +- "libloading 0.5.2", ++ "libloading 0.6.3", + "log", + "objc", + "osmesa-sys", + "parking_lot", +- "wayland-client 0.23.6", ++ "wayland-client 0.28.0", ++ "wayland-egl", + "winapi 0.3.9", + "winit", + ] +@@ -847,6 +944,12 @@ dependencies = [ + "quick-error", + ] + ++[[package]] ++name = "ident_case" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" ++ + [[package]] + name = "image" + version = "0.23.9" +@@ -857,7 +960,7 @@ dependencies = [ + "byteorder", + "num-iter", + "num-rational", +- "num-traits", ++ "num-traits 0.2.12", + "png", + ] + +@@ -973,11 +1076,11 @@ dependencies = [ + + [[package]] + name = "line_drawing" +-version = "0.7.0" ++version = "0.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5cc7ad3d82c845bdb5dde34ffdcc7a5fb4d2996e1e1ee0f19c33bc80e15196b9" ++checksum = "f81902e542483002b103c6424d23e765c2e5a65f732923299053a601bce50ab2" + dependencies = [ +- "num-traits", ++ "num-traits 0.1.43", + ] + + [[package]] +@@ -988,9 +1091,9 @@ checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a" + + [[package]] + name = "lock_api" +-version = "0.3.4" ++version = "0.4.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75" ++checksum = "28247cc5a5be2f05fbcd76dd0cf2c7d3b5400cb978a28042abcd4fa0b3f8261c" + dependencies = [ + "scopeguard", + ] +@@ -1141,34 +1244,48 @@ dependencies = [ + + [[package]] + name = "ndk" +-version = "0.1.0" ++version = "0.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "95a356cafe20aee088789830bfea3a61336e84ded9e545e00d3869ce95dcb80c" ++checksum = "94dc511dd67c2cf232264be20fb98ad0ea93666727d3f6f75429d53e696d6366" + dependencies = [ + "jni-sys", + "ndk-sys", + "num_enum", ++ "thiserror", + ] + + [[package]] + name = "ndk-glue" +-version = "0.1.0" ++version = "0.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d1730ee2e3de41c3321160a6da815f008c4006d71b095880ea50e17cf52332b8" ++checksum = "0b6c938c36cd15ea13d0972fdceb3a03982d49967e5fd7508cf129c5300b66cc" + dependencies = [ +- "android_log-sys", + "lazy_static", + "libc", + "log", + "ndk", ++ "ndk-macro", + "ndk-sys", + ] + ++[[package]] ++name = "ndk-macro" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "05d1c6307dc424d0f65b9b06e94f88248e6305726b14729fd67a5e47b2dc481d" ++dependencies = [ ++ "darling", ++ "proc-macro-crate", ++ "proc-macro2", ++ "quote", ++ "syn", ++] ++ + [[package]] + name = "ndk-sys" +-version = "0.1.0" ++version = "0.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2b2820aca934aba5ed91c79acc72b6a44048ceacc5d36c035ed4e051f12d887d" ++checksum = "de01535c8fca086732bb66c9bc7779d336c44088d42782cd11d5f2a7ace52f7e" + + [[package]] + name = "net2" +@@ -1181,19 +1298,6 @@ dependencies = [ + "winapi 0.3.9", + ] + +-[[package]] +-name = "nix" +-version = "0.14.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce" +-dependencies = [ +- "bitflags", +- "cc", +- "cfg-if", +- "libc", +- "void", +-] +- + [[package]] + name = "nix" + version = "0.17.0" +@@ -1254,7 +1358,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b" + dependencies = [ + "autocfg", +- "num-traits", ++ "num-traits 0.2.12", + ] + + [[package]] +@@ -1265,7 +1369,7 @@ checksum = "7a6e6b7c748f995c4c29c5f5ae0248536e04a5739927c74ec0fa564805094b9f" + dependencies = [ + "autocfg", + "num-integer", +- "num-traits", ++ "num-traits 0.2.12", + ] + + [[package]] +@@ -1276,7 +1380,16 @@ checksum = "a5b4d7360f362cfb50dde8143501e6940b22f644be75a4cc90b2d81968908138" + dependencies = [ + "autocfg", + "num-integer", +- "num-traits", ++ "num-traits 0.2.12", ++] ++ ++[[package]] ++name = "num-traits" ++version = "0.1.43" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31" ++dependencies = [ ++ "num-traits 0.2.12", + ] + + [[package]] +@@ -1305,8 +1418,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "ffa5a33ddddfee04c0283a7653987d634e880347e96b5b2ed64de07efb59db9d" + dependencies = [ + "proc-macro-crate", +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", + "syn", + ] + +@@ -1379,41 +1492,43 @@ dependencies = [ + ] + + [[package]] +-name = "ordered-float" +-version = "1.1.0" ++name = "osmesa-sys" ++version = "0.1.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3741934be594d77de1c8461ebcbbe866f585ea616a9753aa78f2bdc69f0e4579" ++checksum = "88cfece6e95d2e717e0872a7f53a8684712ad13822a7979bc760b9c77ec0013b" + dependencies = [ +- "num-traits", ++ "shared_library", + ] + + [[package]] +-name = "osmesa-sys" +-version = "0.1.2" ++name = "owned_ttf_parser" ++version = "0.6.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "88cfece6e95d2e717e0872a7f53a8684712ad13822a7979bc760b9c77ec0013b" ++checksum = "9f923fb806c46266c02ab4a5b239735c144bdeda724a50ed058e5226f594cde3" + dependencies = [ +- "shared_library", ++ "ttf-parser", + ] + + [[package]] + name = "parking_lot" +-version = "0.10.2" ++version = "0.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" ++checksum = "a4893845fa2ca272e647da5d0e46660a314ead9c2fdd9a883aabc32e481a8733" + dependencies = [ ++ "instant", + "lock_api", + "parking_lot_core", + ] + + [[package]] + name = "parking_lot_core" +-version = "0.7.2" ++version = "0.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" ++checksum = "c361aa727dd08437f2f1447be8b59a33b0edd15e0fcee698f935613d9efbca9b" + dependencies = [ + "cfg-if", + "cloudabi", ++ "instant", + "libc", + "redox_syscall", + "smallvec", +@@ -1503,22 +1618,13 @@ dependencies = [ + "toml", + ] + +-[[package]] +-name = "proc-macro2" +-version = "0.4.30" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +-dependencies = [ +- "unicode-xid 0.1.0", +-] +- + [[package]] + name = "proc-macro2" + version = "1.0.21" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c" + dependencies = [ +- "unicode-xid 0.2.1", ++ "unicode-xid", + ] + + [[package]] +@@ -1527,22 +1633,13 @@ version = "1.2.3" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +-[[package]] +-name = "quote" +-version = "0.6.13" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +-dependencies = [ +- "proc-macro2 0.4.30", +-] +- + [[package]] + name = "quote" + version = "1.0.7" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" + dependencies = [ +- "proc-macro2 1.0.21", ++ "proc-macro2", + ] + + [[package]] +@@ -1685,22 +1782,12 @@ checksum = "b725dadae9fabc488df69a287f5a99c5eaf5d10853842a8a3dfac52476f544ee" + + [[package]] + name = "rusttype" +-version = "0.7.9" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "310942406a39981bed7e12b09182a221a29e0990f3e7e0c971f131922ed135d5" +-dependencies = [ +- "rusttype 0.8.3", +-] +- +-[[package]] +-name = "rusttype" +-version = "0.8.3" ++version = "0.9.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9f61411055101f7b60ecf1041d87fb74205fb20b0c7a723f07ef39174cf6b4c0" ++checksum = "dc7c727aded0be18c5b80c1640eae0ac8e396abf6fa8477d96cb37d18ee5ec59" + dependencies = [ +- "approx", +- "ordered-float", +- "stb_truetype", ++ "ab_glyph_rasterizer", ++ "owned_ttf_parser", + ] + + [[package]] +@@ -1747,8 +1834,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535" + dependencies = [ + "bitflags", +- "core-foundation", +- "core-foundation-sys", ++ "core-foundation 0.7.0", ++ "core-foundation-sys 0.7.0", + "libc", + "security-framework-sys", + ] +@@ -1759,7 +1846,7 @@ version = "0.4.3" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405" + dependencies = [ +- "core-foundation-sys", ++ "core-foundation-sys 0.7.0", + "libc", + ] + +@@ -1778,8 +1865,8 @@ version = "1.0.116" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "f630a6370fd8e457873b4bd2ffdae75408bc291ba72be773772a4c2a065d9ae8" + dependencies = [ +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", + "syn", + ] + +@@ -1884,36 +1971,40 @@ checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252" + + [[package]] + name = "smithay-client-toolkit" +-version = "0.6.6" ++version = "0.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "421c8dc7acf5cb205b88160f8b4cc2c5cfabe210e43b2f80f009f4c1ef910f1d" ++checksum = "562da6f2f0836e144f2e92118b35add58368280556af94f399666ebfd7d1e731" + dependencies = [ +- "andrew", + "bitflags", ++ "byteorder", + "dlib", + "lazy_static", ++ "log", + "memmap", +- "nix 0.14.1", +- "wayland-client 0.23.6", +- "wayland-protocols 0.23.6", ++ "nix 0.18.0", ++ "wayland-client 0.27.0", ++ "wayland-cursor 0.27.0", ++ "wayland-protocols 0.27.0", + ] + + [[package]] + name = "smithay-client-toolkit" +-version = "0.11.0" ++version = "0.12.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "562da6f2f0836e144f2e92118b35add58368280556af94f399666ebfd7d1e731" ++checksum = "2ec5c077def8af49f9b5aeeb5fcf8079c638c6615c3a8f9305e2dea601de57f7" + dependencies = [ ++ "andrew", + "bitflags", + "byteorder", ++ "calloop", + "dlib", + "lazy_static", + "log", + "memmap", + "nix 0.18.0", +- "wayland-client 0.27.0", +- "wayland-cursor", +- "wayland-protocols 0.27.0", ++ "wayland-client 0.28.0", ++ "wayland-cursor 0.28.0", ++ "wayland-protocols 0.28.0", + ] + + [[package]] +@@ -1945,19 +2036,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "be6c3f39c37a4283ee4b43d1311c828f2e1fb0541e76ea0cb1a2abd9ef2f5b3b" + + [[package]] +-name = "stb_truetype" +-version = "0.3.1" ++name = "strsim" ++version = "0.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f77b6b07e862c66a9f3e62a07588fee67cd90a9135a2b942409f195507b4fb51" +-dependencies = [ +- "byteorder", +-] ++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + + [[package]] + name = "strsim" +-version = "0.8.0" ++version = "0.9.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" ++checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" + + [[package]] + name = "syn" +@@ -1965,9 +2053,9 @@ version = "1.0.41" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "6690e3e9f692504b941dc6c3b188fd28df054f7fb8469ab40680df52fdcc842b" + dependencies = [ +- "proc-macro2 1.0.21", +- "quote 1.0.7", +- "unicode-xid 0.2.1", ++ "proc-macro2", ++ "quote", ++ "unicode-xid", + ] + + [[package]] +@@ -2030,8 +2118,8 @@ version = "1.0.20" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" + dependencies = [ +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", + "syn", + ] + +@@ -2064,6 +2152,12 @@ dependencies = [ + "serde", + ] + ++[[package]] ++name = "ttf-parser" ++version = "0.6.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3e5d7cd7ab3e47dda6e56542f4bbf3824c15234958c6e1bd6aaa347e93499fdc" ++ + [[package]] + name = "unicase" + version = "2.6.0" +@@ -2079,12 +2173,6 @@ version = "0.1.8" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" + +-[[package]] +-name = "unicode-xid" +-version = "0.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +- + [[package]] + name = "unicode-xid" + version = "0.2.1" +@@ -2160,8 +2248,8 @@ name = "vte_generate_state_changes" + version = "0.1.1" + source = "git+https://github.com/alacritty/vte?rev=4f44023dab081f7da74fee14bc53b10ee8f96a1e#4f44023dab081f7da74fee14bc53b10ee8f96a1e" + dependencies = [ +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", + ] + + [[package]] +@@ -2187,23 +2275,6 @@ version = "0.10.0+wasi-snapshot-preview1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +-[[package]] +-name = "wayland-client" +-version = "0.23.6" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "af1080ebe0efabcf12aef2132152f616038f2d7dcbbccf7b2d8c5270fe14bcda" +-dependencies = [ +- "bitflags", +- "calloop", +- "downcast-rs", +- "libc", +- "mio", +- "nix 0.14.1", +- "wayland-commons 0.23.6", +- "wayland-scanner 0.23.6", +- "wayland-sys 0.23.6", +-] +- + [[package]] + name = "wayland-client" + version = "0.27.0" +@@ -2221,13 +2292,19 @@ dependencies = [ + ] + + [[package]] +-name = "wayland-commons" +-version = "0.23.6" ++name = "wayland-client" ++version = "0.28.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bb66b0d1a27c39bbce712b6372131c6e25149f03ffb0cd017cf8f7de8d66dbdb" ++checksum = "5147ab4114fa29cbfbd3718c933d8a4487035ff589e2650f29135fc2bc165646" + dependencies = [ +- "nix 0.14.1", +- "wayland-sys 0.23.6", ++ "bitflags", ++ "downcast-rs", ++ "libc", ++ "nix 0.18.0", ++ "scoped-tls", ++ "wayland-commons 0.28.0", ++ "wayland-scanner 0.28.0", ++ "wayland-sys 0.28.0", + ] + + [[package]] +@@ -2242,6 +2319,18 @@ dependencies = [ + "wayland-sys 0.27.0", + ] + ++[[package]] ++name = "wayland-commons" ++version = "0.28.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "01868f14a3f272e6cea0e0f573dd0e3a263552ae99dc5ef9016bd0fbf35f9c2d" ++dependencies = [ ++ "nix 0.18.0", ++ "once_cell", ++ "smallvec", ++ "wayland-sys 0.28.0", ++] ++ + [[package]] + name = "wayland-cursor" + version = "0.27.0" +@@ -2254,15 +2343,24 @@ dependencies = [ + ] + + [[package]] +-name = "wayland-protocols" +-version = "0.23.6" ++name = "wayland-cursor" ++version = "0.28.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6cc286643656742777d55dc8e70d144fa4699e426ca8e9d4ef454f4bf15ffcf9" ++checksum = "b1380ceb13377afd20b1ef0045334e6a58cc8f1a80cda285b482a21556924d38" + dependencies = [ +- "bitflags", +- "wayland-client 0.23.6", +- "wayland-commons 0.23.6", +- "wayland-scanner 0.23.6", ++ "nix 0.18.0", ++ "wayland-client 0.28.0", ++ "xcursor", ++] ++ ++[[package]] ++name = "wayland-egl" ++version = "0.28.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bacd89dedd1006507464c418b9b717ff7e90dd2cc78917675c825de3b1645b6f" ++dependencies = [ ++ "wayland-client 0.28.0", ++ "wayland-sys 0.28.0", + ] + + [[package]] +@@ -2278,14 +2376,15 @@ dependencies = [ + ] + + [[package]] +-name = "wayland-scanner" +-version = "0.23.6" ++name = "wayland-protocols" ++version = "0.28.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "93b02247366f395b9258054f964fe293ddd019c3237afba9be2ccbe9e1651c3d" ++checksum = "6d5c56e9eea77f3808cfb3c9e676056542eea4a33a7b0b6075f9bc24fb15f779" + dependencies = [ +- "proc-macro2 0.4.30", +- "quote 0.6.13", +- "xml-rs", ++ "bitflags", ++ "wayland-client 0.28.0", ++ "wayland-commons 0.28.0", ++ "wayland-scanner 0.28.0", + ] + + [[package]] +@@ -2294,26 +2393,38 @@ version = "0.27.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "030f56009d932bd9400bb472764fea8109be1b0fc482d9cd75496c943ac30328" + dependencies = [ +- "proc-macro2 1.0.21", +- "quote 1.0.7", ++ "proc-macro2", ++ "quote", ++ "xml-rs", ++] ++ ++[[package]] ++name = "wayland-scanner" ++version = "0.28.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "525547bf3c058b8736236037aa510a80b2a29b88145ff02a987cc27f8f92f83c" ++dependencies = [ ++ "proc-macro2", ++ "quote", + "xml-rs", + ] + + [[package]] + name = "wayland-sys" +-version = "0.23.6" ++version = "0.27.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d94e89a86e6d6d7c7c9b19ebf48a03afaac4af6bc22ae570e9a24124b75358f4" ++checksum = "8bdeffbbb474477dfa2acb45ac7479e5fe8f741c64ab032c5d11b94d07edc269" + dependencies = [ + "dlib", + "lazy_static", ++ "pkg-config", + ] + + [[package]] + name = "wayland-sys" +-version = "0.27.0" ++version = "0.28.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8bdeffbbb474477dfa2acb45ac7479e5fe8f741c64ab032c5d11b94d07edc269" ++checksum = "d3dc1723584b6d204bbc3d15e361ee6a20d863ba8d4237842284eb3ff4f1b9a4" + dependencies = [ + "dlib", + "lazy_static", +@@ -2374,14 +2485,14 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + + [[package]] + name = "winit" +-version = "0.22.2" ++version = "0.23.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1e4ccbf7ddb6627828eace16cacde80fc6bf4dbb3469f88487262a02cf8e7862" ++checksum = "b5bc559da567d8aa671bbcd08304d49e982c7bf2cb91e10288b9188931c1b772" + dependencies = [ + "bitflags", +- "cocoa", +- "core-foundation", +- "core-graphics", ++ "cocoa 0.23.0", ++ "core-foundation 0.9.1", ++ "core-graphics 0.22.1", + "core-video-sys", + "dispatch", + "instant", +@@ -2398,8 +2509,8 @@ dependencies = [ + "percent-encoding", + "raw-window-handle", + "serde", +- "smithay-client-toolkit 0.6.6", +- "wayland-client 0.23.6", ++ "smithay-client-toolkit 0.12.0", ++ "wayland-client 0.28.0", + "winapi 0.3.9", + "x11-dl", + ] +diff --git a/alacritty/Cargo.toml b/alacritty/Cargo.toml +index 749353231..1d9a5c336 100644 +--- a/alacritty/Cargo.toml ++++ b/alacritty/Cargo.toml +@@ -21,9 +21,9 @@ fnv = "1" + serde = { version = "1", features = ["derive"] } + serde_yaml = "0.8" + serde_json = "1" +-glutin = { version = "0.24.0", features = ["serde"] } ++glutin = { version = "0.25.0", features = ["serde"] } + notify = "4" +-parking_lot = "0.10.2" ++parking_lot = "0.11.0" + crossfont = { version = "0.1.0", features = ["force_system_fontconfig"] } + urlocator = "0.1.3" + copypasta = { version = "0.7.0", default-features = false } +diff --git a/alacritty/src/config/bindings.rs b/alacritty/src/config/bindings.rs +index 74514a5a5..5c303726a 100644 +--- a/alacritty/src/config/bindings.rs ++++ b/alacritty/src/config/bindings.rs +@@ -494,8 +494,9 @@ fn common_keybindings() -> Vec<KeyBinding> { + Insert, ModifiersState::SHIFT, ~TermMode::VI; Action::PasteSelection; + Key0, ModifiersState::CTRL; Action::ResetFontSize; + Equals, ModifiersState::CTRL; Action::IncreaseFontSize; +- Add, ModifiersState::CTRL; Action::IncreaseFontSize; +- Subtract, ModifiersState::CTRL; Action::DecreaseFontSize; ++ Plus, ModifiersState::CTRL; Action::IncreaseFontSize; ++ NumpadAdd, ModifiersState::CTRL; Action::IncreaseFontSize; ++ NumpadSubtract, ModifiersState::CTRL; Action::DecreaseFontSize; + Minus, ModifiersState::CTRL; Action::DecreaseFontSize; + ) + } +@@ -521,7 +522,9 @@ pub fn platform_key_bindings() -> Vec<KeyBinding> { + KeyBinding; + Key0, ModifiersState::LOGO; Action::ResetFontSize; + Equals, ModifiersState::LOGO; Action::IncreaseFontSize; +- Add, ModifiersState::LOGO; Action::IncreaseFontSize; ++ Plus, ModifiersState::LOGO; Action::IncreaseFontSize; ++ NumpadAdd, ModifiersState::LOGO; Action::IncreaseFontSize; ++ NumpadSubtract, ModifiersState::LOGO; Action::DecreaseFontSize; + Minus, ModifiersState::LOGO; Action::DecreaseFontSize; + Insert, ModifiersState::SHIFT, ~TermMode::VI; Action::Esc("\x1b[2;2~".into()); + K, ModifiersState::LOGO, ~TermMode::VI; Action::Esc("\x0c".into()); +diff --git a/alacritty/src/display.rs b/alacritty/src/display.rs +index 0b4939367..d8af6136c 100644 +--- a/alacritty/src/display.rs ++++ b/alacritty/src/display.rs +@@ -275,12 +275,12 @@ impl Display { + } + + #[allow(clippy::single_match)] ++ #[cfg(not(windows))] + match config.ui_config.window.startup_mode { +- StartupMode::Fullscreen => window.set_fullscreen(true), + #[cfg(target_os = "macos")] + StartupMode::SimpleFullscreen => window.set_simple_fullscreen(true), +- #[cfg(not(any(target_os = "macos", windows)))] +- StartupMode::Maximized => window.set_maximized(true), ++ #[cfg(not(target_os = "macos"))] ++ StartupMode::Maximized if is_x11 => window.set_maximized(true), + _ => (), + } + +diff --git a/alacritty/src/wayland_theme.rs b/alacritty/src/wayland_theme.rs +index b1d4b44cb..ef231c7e0 100644 +--- a/alacritty/src/wayland_theme.rs ++++ b/alacritty/src/wayland_theme.rs +@@ -1,4 +1,4 @@ +-use glutin::platform::unix::{ButtonState, Theme as WaylandTheme}; ++use glutin::platform::unix::{ARGBColor, Button, ButtonState, Element, Theme as WaylandTheme}; + + use alacritty_terminal::config::Colors; + use alacritty_terminal::term::color::{Rgb, DIM_FACTOR}; +@@ -18,9 +18,11 @@ impl AlacrittyWaylandTheme { + let hovered_close_icon = colors.normal().red; + let hovered_maximize_icon = colors.normal().green; + let hovered_minimize_icon = colors.normal().yellow; +- let foreground = colors.primary.foreground; +- let background = colors.primary.background; +- let dim_foreground = colors.primary.dim_foreground.unwrap_or(foreground * DIM_FACTOR); ++ let foreground = colors.search_bar_foreground(); ++ let background = colors.search_bar_background(); ++ // TODO decide how to dim properly, maybe we can derive it from the foreground color ++ // with our factor and some formula. ++ let dim_foreground = foreground * DIM_FACTOR; + + Self { + foreground, +@@ -32,51 +34,61 @@ impl AlacrittyWaylandTheme { + } + } + +- fn color_icon_color(&self, color: Rgb, status: ButtonState) -> [u8; 4] { +- match status { +- ButtonState::Hovered => [0xff, color.r, color.g, color.b], +- ButtonState::Idle => [0xff, self.foreground.r, self.foreground.g, self.foreground.b], +- ButtonState::Disabled => { +- [0xff, self.dim_foreground.r, self.dim_foreground.g, self.dim_foreground.b] +- }, +- } +- } +-} +- +-impl WaylandTheme for AlacrittyWaylandTheme { +- fn primary_color(&self, _window_active: bool) -> [u8; 4] { +- [0xff, self.background.r, self.background.g, self.background.b] +- } +- +- fn secondary_color(&self, window_active: bool) -> [u8; 4] { ++ fn color_icon_color(&self, color: Rgb, status: ButtonState, window_active: bool) -> Rgb { + if window_active { +- [0xff, self.foreground.r, self.foreground.g, self.foreground.b] ++ match status { ++ ButtonState::Hovered => color, ++ ButtonState::Idle => self.foreground, ++ ButtonState::Disabled => self.dim_foreground, ++ } + } else { +- [0xff, self.dim_foreground.r, self.dim_foreground.g, self.dim_foreground.b] ++ self.dim_foreground + } + } ++} + +- fn close_button_color(&self, _status: ButtonState) -> [u8; 4] { +- [0x00, self.background.r, self.background.g, self.background.b] +- } +- +- fn close_button_icon_color(&self, status: ButtonState) -> [u8; 4] { +- self.color_icon_color(self.hovered_close_icon, status) +- } ++impl WaylandTheme for AlacrittyWaylandTheme { ++ fn element_color(&self, element: Element, window_active: bool) -> ARGBColor { ++ let Rgb { r, g, b } = match element { ++ Element::Bar => self.background, ++ Element::Separator => self.background, ++ Element::Text => { ++ if window_active { ++ self.foreground ++ } else { ++ self.dim_foreground ++ } ++ }, ++ }; + +- fn maximize_button_color(&self, _status: ButtonState) -> [u8; 4] { +- [0x00, self.background.r, self.background.g, self.background.b] ++ ARGBColor { a: 0xff, r, g, b } + } + +- fn maximize_button_icon_color(&self, status: ButtonState) -> [u8; 4] { +- self.color_icon_color(self.hovered_maximize_icon, status) +- } ++ fn button_color( ++ &self, ++ button: Button, ++ state: ButtonState, ++ foreground: bool, ++ window_active: bool, ++ ) -> ARGBColor { ++ let (a, Rgb { r, g, b }) = if foreground { ++ let color = match button { ++ Button::Minimize => { ++ self.color_icon_color(self.hovered_minimize_icon, state, window_active) ++ }, ++ Button::Maximize => { ++ self.color_icon_color(self.hovered_maximize_icon, state, window_active) ++ }, ++ Button::Close => { ++ self.color_icon_color(self.hovered_close_icon, state, window_active) ++ }, ++ }; + +- fn minimize_button_color(&self, _status: ButtonState) -> [u8; 4] { +- [0x00, self.background.r, self.background.g, self.background.b] +- } ++ (0xff, color) ++ } else { ++ (0x00, self.background) ++ }; + +- fn minimize_button_icon_color(&self, status: ButtonState) -> [u8; 4] { +- self.color_icon_color(self.hovered_minimize_icon, status) ++ ARGBColor { a, r, g, b } + } + } +diff --git a/alacritty/src/window.rs b/alacritty/src/window.rs +index 92fedc868..494338e50 100644 +--- a/alacritty/src/window.rs ++++ b/alacritty/src/window.rs +@@ -254,12 +254,19 @@ impl Window { + + let class = &window_config.class; + ++ let fullscreen = if window_config.startup_mode == StartupMode::Fullscreen { ++ Some(Fullscreen::Borderless(None)) ++ } else { ++ None ++ }; ++ + let mut builder = WindowBuilder::new() + .with_title(title) + .with_visible(false) + .with_transparent(true) + .with_decorations(window_config.decorations != Decorations::None) + .with_maximized(window_config.startup_mode == StartupMode::Maximized) ++ .with_fullscreen(fullscreen) + .with_window_icon(icon.ok()) + // X11. + .with_class(class.instance.clone(), class.general.clone()) +@@ -276,6 +283,11 @@ impl Window { + #[cfg(windows)] + pub fn get_platform_window(title: &str, window_config: &WindowConfig) -> WindowBuilder { + let icon = Icon::from_resource(IDI_ICON, None); ++ let fullscreen = if window_config.startup_mode == StartupMode::Fullscreen { ++ Some(Fullscreen::Borderless(None)) ++ } else { ++ None ++ }; + + WindowBuilder::new() + .with_title(title) +@@ -283,15 +295,23 @@ impl Window { + .with_decorations(window_config.decorations != Decorations::None) + .with_transparent(true) + .with_maximized(window_config.startup_mode == StartupMode::Maximized) ++ .with_fullscreen(fullscreen) + .with_window_icon(icon.ok()) + } + + #[cfg(target_os = "macos")] + pub fn get_platform_window(title: &str, window_config: &WindowConfig) -> WindowBuilder { ++ let fullscreen = if window_config.startup_mode == StartupMode::Fullscreen { ++ Some(Fullscreen::Borderless(None)) ++ } else { ++ None ++ }; ++ + let window = WindowBuilder::new() + .with_title(title) + .with_visible(false) + .with_transparent(true) ++ .with_fullscreen(fullscreen) + .with_maximized(window_config.startup_mode == StartupMode::Maximized); + + match window_config.decorations { +@@ -360,8 +380,7 @@ impl Window { + + pub fn set_fullscreen(&mut self, fullscreen: bool) { + if fullscreen { +- let current_monitor = self.window().current_monitor(); +- self.window().set_fullscreen(Some(Fullscreen::Borderless(current_monitor))); ++ self.window().set_fullscreen(Some(Fullscreen::Borderless(None))); + } else { + self.window().set_fullscreen(None); + } +diff --git a/alacritty_terminal/Cargo.toml b/alacritty_terminal/Cargo.toml +index 7dfa5b093..83c5b416e 100644 +--- a/alacritty_terminal/Cargo.toml ++++ b/alacritty_terminal/Cargo.toml +@@ -11,7 +11,7 @@ edition = "2018" + [dependencies] + libc = "0.2" + bitflags = "1" +-parking_lot = "0.10.2" ++parking_lot = "0.11.0" + serde = { version = "1", features = ["derive"] } + serde_yaml = "0.8" + vte = { git = "https://github.com/alacritty/vte", rev = "4f44023dab081f7da74fee14bc53b10ee8f96a1e", default-features = false } +@@ -24,7 +24,7 @@ terminfo = "0.7.1" + regex-automata = "0.1.9" + + [target.'cfg(unix)'.dependencies] +-nix = "0.17.0" ++nix = "0.18.0" + signal-hook = { version = "0.1", features = ["mio-support"] } + + [target.'cfg(windows)'.dependencies] + +From 276f01e1416c46d935dcee2b3141d17744cc4a4b Mon Sep 17 00:00:00 2001 +From: Kirill Chibisov <cont...@kchibisov.com> +Date: Sat, 3 Oct 2020 21:02:02 +0300 +Subject: [PATCH 2/6] Update alacritty.yml + +--- + CHANGELOG.md | 1 + + alacritty.yml | 58 ++++++++++++++++++++++++++------------------------- + 2 files changed, 31 insertions(+), 28 deletions(-) + +diff --git a/CHANGELOG.md b/CHANGELOG.md +index 597276e33..2d62f35a6 100644 +--- a/CHANGELOG.md ++++ b/CHANGELOG.md +@@ -63,6 +63,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + - Crash on startup on GNOME since its 3.37.90 version on Wayland + - Touchpad scrolling scrolled less than it should on macOS/Wayland on scaled outputs + - Incorrect modifiers at startup on X11 ++- `Add` and `Subtract` keys are now named `NumpadAdd` and `NumpadSubtract` respectively + + ## 0.5.0 + +diff --git a/alacritty.yml b/alacritty.yml +index fd13c2b93..609b8eed8 100644 +--- a/alacritty.yml ++++ b/alacritty.yml +@@ -691,39 +691,41 @@ + #- { key: N, mods: Shift, mode: Vi, action: SearchPrevious } + + # (Windows, Linux, and BSD only) +- #- { key: V, mods: Control|Shift, action: Paste } +- #- { key: C, mods: Control|Shift, action: Copy } +- #- { key: F, mods: Control|Shift, action: SearchForward } +- #- { key: B, mods: Control|Shift, action: SearchBackward } +- #- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection } +- #- { key: Insert, mods: Shift, action: PasteSelection } +- #- { key: Key0, mods: Control, action: ResetFontSize } +- #- { key: Equals, mods: Control, action: IncreaseFontSize } +- #- { key: Add, mods: Control, action: IncreaseFontSize } +- #- { key: Subtract, mods: Control, action: DecreaseFontSize } +- #- { key: Minus, mods: Control, action: DecreaseFontSize } ++ #- { key: V, mods: Control|Shift, action: Paste } ++ #- { key: C, mods: Control|Shift, action: Copy } ++ #- { key: F, mods: Control|Shift, action: SearchForward } ++ #- { key: B, mods: Control|Shift, action: SearchBackward } ++ #- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection } ++ #- { key: Insert, mods: Shift, action: PasteSelection } ++ #- { key: Key0, mods: Control, action: ResetFontSize } ++ #- { key: Equals, mods: Control, action: IncreaseFontSize } ++ #- { key: Plus, mods: Control, action: IncreaseFontSize } ++ #- { key: NumpadAdd, mods: Control, action: IncreaseFontSize } ++ #- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } ++ #- { key: Minus, mods: Control, action: DecreaseFontSize } + + # (Windows only) + #- { key: Return, mods: Alt, action: ToggleFullscreen } + + # (macOS only) +- #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } +- #- { key: Key0, mods: Command, action: ResetFontSize } +- #- { key: Equals, mods: Command, action: IncreaseFontSize } +- #- { key: Add, mods: Command, action: IncreaseFontSize } +- #- { key: Minus, mods: Command, action: DecreaseFontSize } +- #- { key: K, mods: Command, action: ClearHistory } +- #- { key: V, mods: Command, action: Paste } +- #- { key: C, mods: Command, action: Copy } +- #- { key: C, mods: Command, mode: Vi, action: ClearSelection } +- #- { key: H, mods: Command, action: Hide } +- #- { key: M, mods: Command, action: Minimize } +- #- { key: Q, mods: Command, action: Quit } +- #- { key: W, mods: Command, action: Quit } +- #- { key: N, mods: Command, action: SpawnNewInstance } +- #- { key: F, mods: Command|Control, action: ToggleFullscreen } +- #- { key: F, mods: Command, action: SearchForward } +- #- { key: B, mods: Command, action: SearchBackward } ++ #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } ++ #- { key: Key0, mods: Command, action: ResetFontSize } ++ #- { key: Equals, mods: Command, action: IncreaseFontSize } ++ #- { key: Plus, mods: Command, action: IncreaseFontSize } ++ #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize } ++ #- { key: Minus, mods: Command, action: DecreaseFontSize } ++ #- { key: K, mods: Command, action: ClearHistory } ++ #- { key: V, mods: Command, action: Paste } ++ #- { key: C, mods: Command, action: Copy } ++ #- { key: C, mods: Command, mode: Vi, action: ClearSelection } ++ #- { key: H, mods: Command, action: Hide } ++ #- { key: M, mods: Command, action: Minimize } ++ #- { key: Q, mods: Command, action: Quit } ++ #- { key: W, mods: Command, action: Quit } ++ #- { key: N, mods: Command, action: SpawnNewInstance } ++ #- { key: F, mods: Command|Control, action: ToggleFullscreen } ++ #- { key: F, mods: Command, action: SearchForward } ++ #- { key: B, mods: Command, action: SearchBackward } + + #debug: + # Display the time it takes to redraw each frame. + +From 7c58a40c639c881429803f4a5a1fd0cf47085440 Mon Sep 17 00:00:00 2001 +From: Kirill Chibisov <cont...@kchibisov.com> +Date: Sun, 4 Oct 2020 03:08:29 +0300 +Subject: [PATCH 3/6] Bump internal wayland-client + +--- + Cargo.lock | 179 +++++++++---------------------------------- + alacritty/Cargo.toml | 2 +- + 2 files changed, 39 insertions(+), 142 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index 187fe63c1..4571da4b0 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -47,7 +47,7 @@ dependencies = [ + "time", + "unicode-width", + "urlocator", +- "wayland-client 0.27.0", ++ "wayland-client", + "winapi 0.3.9", + "x11-dl", + "xdg", +@@ -66,7 +66,7 @@ dependencies = [ + "mio-extras", + "mio-named-pipes", + "miow 0.3.5", +- "nix 0.18.0", ++ "nix", + "parking_lot", + "regex-automata", + "serde", +@@ -237,7 +237,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "59561a8b3968ba4bda0c46f42e0568507c5d26e94c3b6f2a0c730cbecd83ff3a" + dependencies = [ + "log", +- "nix 0.18.0", ++ "nix", + ] + + [[package]] +@@ -301,10 +301,11 @@ dependencies = [ + + [[package]] + name = "clipboard-win" +-version = "2.2.0" ++version = "3.1.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b" ++checksum = "9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342" + dependencies = [ ++ "lazy-bytes-cast", + "winapi 0.3.9", + ] + +@@ -380,9 +381,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + + [[package]] + name = "copypasta" +-version = "0.7.0" ++version = "0.7.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cbc2322d35c17d340f7017e4c1be24c6f0d6e09423adb51d182d7a9c122f2e6c" ++checksum = "4423d79fed83ebd9ab81ec21fa97144300a961782158287dc9bf7eddac37ff0b" + dependencies = [ + "clipboard-win", + "objc", +@@ -865,7 +866,7 @@ dependencies = [ + "objc", + "osmesa-sys", + "parking_lot", +- "wayland-client 0.28.0", ++ "wayland-client", + "wayland-egl", + "winapi 0.3.9", + "winit", +@@ -1036,6 +1037,12 @@ version = "3.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + ++[[package]] ++name = "lazy-bytes-cast" ++version = "5.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b" ++ + [[package]] + name = "lazy_static" + version = "1.4.0" +@@ -1298,19 +1305,6 @@ dependencies = [ + "winapi 0.3.9", + ] + +-[[package]] +-name = "nix" +-version = "0.17.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363" +-dependencies = [ +- "bitflags", +- "cc", +- "cfg-if", +- "libc", +- "void", +-] +- + [[package]] + name = "nix" + version = "0.18.0" +@@ -1969,24 +1963,6 @@ version = "1.4.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "fbee7696b84bbf3d89a1c2eccff0850e3047ed46bfcd2e92c29a2d074d57e252" + +-[[package]] +-name = "smithay-client-toolkit" +-version = "0.11.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "562da6f2f0836e144f2e92118b35add58368280556af94f399666ebfd7d1e731" +-dependencies = [ +- "bitflags", +- "byteorder", +- "dlib", +- "lazy_static", +- "log", +- "memmap", +- "nix 0.18.0", +- "wayland-client 0.27.0", +- "wayland-cursor 0.27.0", +- "wayland-protocols 0.27.0", +-] +- + [[package]] + name = "smithay-client-toolkit" + version = "0.12.0" +@@ -2001,20 +1977,20 @@ dependencies = [ + "lazy_static", + "log", + "memmap", +- "nix 0.18.0", +- "wayland-client 0.28.0", +- "wayland-cursor 0.28.0", +- "wayland-protocols 0.28.0", ++ "nix", ++ "wayland-client", ++ "wayland-cursor", ++ "wayland-protocols", + ] + + [[package]] + name = "smithay-clipboard" +-version = "0.5.2" ++version = "0.6.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b9e9db50a9b272938b767b731a1291f22f407315def4049db93871e8828034d5" ++checksum = "c55200a03f4a52ed12ed66556992631e1aca6de22ad4347493c093325922f333" + dependencies = [ +- "smithay-client-toolkit 0.11.0", +- "wayland-client 0.27.0", ++ "smithay-client-toolkit", ++ "wayland-client", + ] + + [[package]] +@@ -2208,12 +2184,6 @@ version = "0.9.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" + +-[[package]] +-name = "void" +-version = "1.0.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" +- + [[package]] + name = "vswhom" + version = "0.1.0" +@@ -2275,22 +2245,6 @@ version = "0.10.0+wasi-snapshot-preview1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +-[[package]] +-name = "wayland-client" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ab702fefbcd6d6f67fb5816e3a89a3b5a42a94290abbc015311c9a30d1068ae4" +-dependencies = [ +- "bitflags", +- "downcast-rs", +- "libc", +- "nix 0.17.0", +- "scoped-tls", +- "wayland-commons 0.27.0", +- "wayland-scanner 0.27.0", +- "wayland-sys 0.27.0", +-] +- + [[package]] + name = "wayland-client" + version = "0.28.0" +@@ -2300,23 +2254,11 @@ dependencies = [ + "bitflags", + "downcast-rs", + "libc", +- "nix 0.18.0", ++ "nix", + "scoped-tls", +- "wayland-commons 0.28.0", +- "wayland-scanner 0.28.0", +- "wayland-sys 0.28.0", +-] +- +-[[package]] +-name = "wayland-commons" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e972e9336ad5a9dd861b4e21ff35ad71d3e5c6b4803d65c39913612f851b95f1" +-dependencies = [ +- "nix 0.17.0", +- "once_cell", +- "smallvec", +- "wayland-sys 0.27.0", ++ "wayland-commons", ++ "wayland-scanner", ++ "wayland-sys", + ] + + [[package]] +@@ -2325,21 +2267,10 @@ version = "0.28.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "01868f14a3f272e6cea0e0f573dd0e3a263552ae99dc5ef9016bd0fbf35f9c2d" + dependencies = [ +- "nix 0.18.0", ++ "nix", + "once_cell", + "smallvec", +- "wayland-sys 0.28.0", +-] +- +-[[package]] +-name = "wayland-cursor" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "539f346e1a3f706f38c8ccbe1196001e2fb1c9b3e6b605c27d665db2f5b60d41" +-dependencies = [ +- "nix 0.17.0", +- "wayland-client 0.27.0", +- "xcursor", ++ "wayland-sys", + ] + + [[package]] +@@ -2348,8 +2279,8 @@ version = "0.28.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "b1380ceb13377afd20b1ef0045334e6a58cc8f1a80cda285b482a21556924d38" + dependencies = [ +- "nix 0.18.0", +- "wayland-client 0.28.0", ++ "nix", ++ "wayland-client", + "xcursor", + ] + +@@ -2359,20 +2290,8 @@ version = "0.28.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "bacd89dedd1006507464c418b9b717ff7e90dd2cc78917675c825de3b1645b6f" + dependencies = [ +- "wayland-client 0.28.0", +- "wayland-sys 0.28.0", +-] +- +-[[package]] +-name = "wayland-protocols" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f3d6fc54b17b98b5083bc21ae3a30e6d75cb4b01647360e4c3a04648bcf8781d" +-dependencies = [ +- "bitflags", +- "wayland-client 0.27.0", +- "wayland-commons 0.27.0", +- "wayland-scanner 0.27.0", ++ "wayland-client", ++ "wayland-sys", + ] + + [[package]] +@@ -2382,20 +2301,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "6d5c56e9eea77f3808cfb3c9e676056542eea4a33a7b0b6075f9bc24fb15f779" + dependencies = [ + "bitflags", +- "wayland-client 0.28.0", +- "wayland-commons 0.28.0", +- "wayland-scanner 0.28.0", +-] +- +-[[package]] +-name = "wayland-scanner" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "030f56009d932bd9400bb472764fea8109be1b0fc482d9cd75496c943ac30328" +-dependencies = [ +- "proc-macro2", +- "quote", +- "xml-rs", ++ "wayland-client", ++ "wayland-commons", ++ "wayland-scanner", + ] + + [[package]] +@@ -2409,17 +2317,6 @@ dependencies = [ + "xml-rs", + ] + +-[[package]] +-name = "wayland-sys" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8bdeffbbb474477dfa2acb45ac7479e5fe8f741c64ab032c5d11b94d07edc269" +-dependencies = [ +- "dlib", +- "lazy_static", +- "pkg-config", +-] +- + [[package]] + name = "wayland-sys" + version = "0.28.0" +@@ -2509,8 +2406,8 @@ dependencies = [ + "percent-encoding", + "raw-window-handle", + "serde", +- "smithay-client-toolkit 0.12.0", +- "wayland-client 0.28.0", ++ "smithay-client-toolkit", ++ "wayland-client", + "winapi 0.3.9", + "x11-dl", + ] +diff --git a/alacritty/Cargo.toml b/alacritty/Cargo.toml +index 1d9a5c336..1bacd0cf8 100644 +--- a/alacritty/Cargo.toml ++++ b/alacritty/Cargo.toml +@@ -48,7 +48,7 @@ dirs = "2.0.2" + + [target.'cfg(not(any(target_os="windows", target_os="macos")))'.dependencies] + x11-dl = "2" +-wayland-client = { version = "0.27.0", features = ["dlopen"] } ++wayland-client = { version = "0.28.0", features = ["dlopen"] } + + [target.'cfg(windows)'.dependencies] + winapi = { version = "0.3.7", features = ["impl-default", "wincon"]} + +From 02dee111bd5c23a7bdc5be80f2e7949b957966d6 Mon Sep 17 00:00:00 2001 +From: Kirill Chibisov <cont...@kchibisov.com> +Date: Sun, 4 Oct 2020 05:04:51 +0300 +Subject: [PATCH 4/6] Address review comments + +--- + CHANGELOG.md | 6 +-- + alacritty.yml | 2 +- + alacritty/src/config/bindings.rs | 8 +-- + alacritty/src/config/window.rs | 16 ++++++ + alacritty/src/display.rs | 3 ++ + alacritty/src/wayland_theme.rs | 79 +++++++++++++--------------- + alacritty/src/window.rs | 31 +++-------- + alacritty_terminal/src/term/color.rs | 14 ++++- + 8 files changed, 83 insertions(+), 76 deletions(-) + +diff --git a/CHANGELOG.md b/CHANGELOG.md +index 2d62f35a6..976e2e081 100644 +--- a/CHANGELOG.md ++++ b/CHANGELOG.md +@@ -34,7 +34,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + - The user's background color is now used as the foreground for the render timer + - Use yellow/red from the config for error and warning messages instead of fixed colors + - Existing CLI parameters are now passed to instances spawned using `SpawnNewInstance` +-- Wayland's Client side decorations now refer to search bar colors ++- Wayland's Client side decorations now use the search bar colors + + ### Fixed + +@@ -51,8 +51,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + - Selection scrolling not starting when mouse is over the message bar + - Incorrect text width calculation in message bar when the message contains multibyte characters + - Remapped caps lock to escape not triggering escape bindings on Wayland +-- Crash when requesting overly long title on Wayland +-- Fullscreen/Tiled window state change doesn't restore window sizes on Wayland ++- Crash when setting overly long title on Wayland ++- Switching in and out of various window states, like Fullscreen, not persisting window size on Wayland + - Crash when providing 0 for `XCURSOR_SIZE` on Wayland + - Gap between window and server side decorations on KWIN Wayland + - Wayland's client side decorations not working after tty switch +diff --git a/alacritty.yml b/alacritty.yml +index 609b8eed8..241489b8f 100644 +--- a/alacritty.yml ++++ b/alacritty.yml +@@ -701,8 +701,8 @@ + #- { key: Equals, mods: Control, action: IncreaseFontSize } + #- { key: Plus, mods: Control, action: IncreaseFontSize } + #- { key: NumpadAdd, mods: Control, action: IncreaseFontSize } +- #- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } + #- { key: Minus, mods: Control, action: DecreaseFontSize } ++ #- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize } + + # (Windows only) + #- { key: Return, mods: Alt, action: ToggleFullscreen } +diff --git a/alacritty/src/config/bindings.rs b/alacritty/src/config/bindings.rs +index 5c303726a..62da0e6cb 100644 +--- a/alacritty/src/config/bindings.rs ++++ b/alacritty/src/config/bindings.rs +@@ -496,8 +496,8 @@ fn common_keybindings() -> Vec<KeyBinding> { + Equals, ModifiersState::CTRL; Action::IncreaseFontSize; + Plus, ModifiersState::CTRL; Action::IncreaseFontSize; + NumpadAdd, ModifiersState::CTRL; Action::IncreaseFontSize; ++ Minus, ModifiersState::CTRL; Action::DecreaseFontSize; + NumpadSubtract, ModifiersState::CTRL; Action::DecreaseFontSize; +- Minus, ModifiersState::CTRL; Action::DecreaseFontSize; + ) + } + +@@ -522,10 +522,10 @@ pub fn platform_key_bindings() -> Vec<KeyBinding> { + KeyBinding; + Key0, ModifiersState::LOGO; Action::ResetFontSize; + Equals, ModifiersState::LOGO; Action::IncreaseFontSize; +- Plus, ModifiersState::LOGO; Action::IncreaseFontSize; +- NumpadAdd, ModifiersState::LOGO; Action::IncreaseFontSize; ++ Plus, ModifiersState::LOGO; Action::IncreaseFontSize; ++ NumpadAdd, ModifiersState::LOGO; Action::IncreaseFontSize; ++ Minus, ModifiersState::LOGO; Action::DecreaseFontSize; + NumpadSubtract, ModifiersState::LOGO; Action::DecreaseFontSize; +- Minus, ModifiersState::LOGO; Action::DecreaseFontSize; + Insert, ModifiersState::SHIFT, ~TermMode::VI; Action::Esc("\x1b[2;2~".into()); + K, ModifiersState::LOGO, ~TermMode::VI; Action::Esc("\x0c".into()); + V, ModifiersState::LOGO, ~TermMode::VI; Action::Paste; +diff --git a/alacritty/src/config/window.rs b/alacritty/src/config/window.rs +index d2e5da686..b5bf86b85 100644 +--- a/alacritty/src/config/window.rs ++++ b/alacritty/src/config/window.rs +@@ -4,6 +4,8 @@ use log::error; + use serde::{Deserialize, Deserializer}; + use serde_yaml::Value; + ++use glutin::window::Fullscreen; ++ + use alacritty_terminal::config::{failure_default, option_explicit_none, LOG_TARGET_CONFIG}; + use alacritty_terminal::index::{Column, Line}; + +@@ -98,6 +100,20 @@ impl WindowConfig { + let padding_y = (f32::from(self.padding.y) * dpr as f32).floor(); + (padding_x, padding_y) + } ++ ++ #[inline] ++ pub fn fullscreen(&self) -> Option<Fullscreen> { ++ if self.startup_mode == StartupMode::Fullscreen { ++ Some(Fullscreen::Borderless(None)) ++ } else { ++ None ++ } ++ } ++ ++ #[inline] ++ pub fn maximized(&self) -> bool { ++ self.startup_mode == StartupMode::Maximized ++ } + } + + impl Default for WindowConfig { +diff --git a/alacritty/src/display.rs b/alacritty/src/display.rs +index d8af6136c..bd806d5ab 100644 +--- a/alacritty/src/display.rs ++++ b/alacritty/src/display.rs +@@ -31,6 +31,9 @@ use alacritty_terminal::term::{RenderableCell, SizeInfo, Term, TermMode}; + use alacritty_terminal::term::{MIN_COLS, MIN_SCREEN_LINES}; + + use crate::config::font::Font; ++#[cfg(windows)] ++use crate::config::window::Dimensions; ++#[cfg(not(windows))] + use crate::config::window::{Dimensions, StartupMode}; + use crate::config::Config; + use crate::event::{Mouse, SearchState}; +diff --git a/alacritty/src/wayland_theme.rs b/alacritty/src/wayland_theme.rs +index ef231c7e0..328afa989 100644 +--- a/alacritty/src/wayland_theme.rs ++++ b/alacritty/src/wayland_theme.rs +@@ -1,7 +1,7 @@ + use glutin::platform::unix::{ARGBColor, Button, ButtonState, Element, Theme as WaylandTheme}; + + use alacritty_terminal::config::Colors; +-use alacritty_terminal::term::color::{Rgb, DIM_FACTOR}; ++use alacritty_terminal::term::color::Rgb; + + #[derive(Debug, Clone)] + pub struct AlacrittyWaylandTheme { +@@ -20,9 +20,10 @@ impl AlacrittyWaylandTheme { + let hovered_minimize_icon = colors.normal().yellow; + let foreground = colors.search_bar_foreground(); + let background = colors.search_bar_background(); +- // TODO decide how to dim properly, maybe we can derive it from the foreground color +- // with our factor and some formula. +- let dim_foreground = foreground * DIM_FACTOR; ++ ++ // Blend background and foreground. We use 0.5 to make color look 'equally' with both light ++ // and dark themes. ++ let dim_foreground = foreground * 0.5 + background * 0.5; + + Self { + foreground, +@@ -34,34 +35,23 @@ impl AlacrittyWaylandTheme { + } + } + +- fn color_icon_color(&self, color: Rgb, status: ButtonState, window_active: bool) -> Rgb { +- if window_active { +- match status { +- ButtonState::Hovered => color, +- ButtonState::Idle => self.foreground, +- ButtonState::Disabled => self.dim_foreground, +- } +- } else { +- self.dim_foreground ++ fn button_foreground_color(&self, color: Rgb, status: ButtonState, window_active: bool) -> Rgb { ++ match (window_active, status) { ++ (false, _) => self.dim_foreground, ++ (_, ButtonState::Hovered) => color, ++ (_, ButtonState::Idle) => self.foreground, ++ (_, ButtonState::Disabled) => self.dim_foreground, + } + } + } + + impl WaylandTheme for AlacrittyWaylandTheme { + fn element_color(&self, element: Element, window_active: bool) -> ARGBColor { +- let Rgb { r, g, b } = match element { +- Element::Bar => self.background, +- Element::Separator => self.background, +- Element::Text => { +- if window_active { +- self.foreground +- } else { +- self.dim_foreground +- } +- }, +- }; +- +- ARGBColor { a: 0xff, r, g, b } ++ match element { ++ Element::Bar | Element::Separator => self.background.into_rgba(), ++ Element::Text if window_active => self.foreground.into_rgba(), ++ Element::Text => self.dim_foreground.into_rgba(), ++ } + } + + fn button_color( +@@ -71,24 +61,27 @@ impl WaylandTheme for AlacrittyWaylandTheme { + foreground: bool, + window_active: bool, + ) -> ARGBColor { +- let (a, Rgb { r, g, b }) = if foreground { +- let color = match button { +- Button::Minimize => { +- self.color_icon_color(self.hovered_minimize_icon, state, window_active) +- }, +- Button::Maximize => { +- self.color_icon_color(self.hovered_maximize_icon, state, window_active) +- }, +- Button::Close => { +- self.color_icon_color(self.hovered_close_icon, state, window_active) +- }, +- }; ++ match (foreground, button) { ++ (false, _) => ARGBColor { a: 0x00, r: 0x00, g: 0x00, b: 0x00 }, ++ (_, Button::Minimize) => self ++ .button_foreground_color(self.hovered_minimize_icon, state, window_active) ++ .into_rgba(), ++ (_, Button::Maximize) => self ++ .button_foreground_color(self.hovered_maximize_icon, state, window_active) ++ .into_rgba(), ++ (_, Button::Close) => self ++ .button_foreground_color(self.hovered_close_icon, state, window_active) ++ .into_rgba(), ++ } ++ } ++} + +- (0xff, color) +- } else { +- (0x00, self.background) +- }; ++trait IntoARGBColor { ++ fn into_rgba(self) -> ARGBColor; ++} + +- ARGBColor { a, r, g, b } ++impl IntoARGBColor for Rgb { ++ fn into_rgba(self) -> ARGBColor { ++ ARGBColor { a: 0xff, r: self.r, g: self.g, b: self.b } + } + } +diff --git a/alacritty/src/window.rs b/alacritty/src/window.rs +index 494338e50..1d3b07742 100644 +--- a/alacritty/src/window.rs ++++ b/alacritty/src/window.rs +@@ -36,7 +36,7 @@ use winapi::shared::minwindef::WORD; + use alacritty_terminal::index::Point; + use alacritty_terminal::term::SizeInfo; + +-use crate::config::window::{Decorations, StartupMode, WindowConfig}; ++use crate::config::window::{Decorations, WindowConfig}; + use crate::config::Config; + use crate::gl; + +@@ -254,19 +254,13 @@ impl Window { + + let class = &window_config.class; + +- let fullscreen = if window_config.startup_mode == StartupMode::Fullscreen { +- Some(Fullscreen::Borderless(None)) +- } else { +- None +- }; +- + let mut builder = WindowBuilder::new() + .with_title(title) + .with_visible(false) + .with_transparent(true) + .with_decorations(window_config.decorations != Decorations::None) +- .with_maximized(window_config.startup_mode == StartupMode::Maximized) +- .with_fullscreen(fullscreen) ++ .with_maximized(window_config.maximized()) ++ .with_fullscreen(window_config.fullscreen()) + .with_window_icon(icon.ok()) + // X11. + .with_class(class.instance.clone(), class.general.clone()) +@@ -283,36 +277,25 @@ impl Window { + #[cfg(windows)] + pub fn get_platform_window(title: &str, window_config: &WindowConfig) -> WindowBuilder { + let icon = Icon::from_resource(IDI_ICON, None); +- let fullscreen = if window_config.startup_mode == StartupMode::Fullscreen { +- Some(Fullscreen::Borderless(None)) +- } else { +- None +- }; + + WindowBuilder::new() + .with_title(title) + .with_visible(false) + .with_decorations(window_config.decorations != Decorations::None) + .with_transparent(true) +- .with_maximized(window_config.startup_mode == StartupMode::Maximized) +- .with_fullscreen(fullscreen) ++ .with_maximized(window_config.maximized()) ++ .with_fullscreen(window_config.fullscreen()) + .with_window_icon(icon.ok()) + } + + #[cfg(target_os = "macos")] + pub fn get_platform_window(title: &str, window_config: &WindowConfig) -> WindowBuilder { +- let fullscreen = if window_config.startup_mode == StartupMode::Fullscreen { +- Some(Fullscreen::Borderless(None)) +- } else { +- None +- }; +- + let window = WindowBuilder::new() + .with_title(title) + .with_visible(false) + .with_transparent(true) +- .with_fullscreen(fullscreen) +- .with_maximized(window_config.startup_mode == StartupMode::Maximized); ++ .with_maximized(window_config.maximized()) ++ .with_fullscreen(window_config.fullscreen()); + + match window_config.decorations { + Decorations::Full => window, +diff --git a/alacritty_terminal/src/term/color.rs b/alacritty_terminal/src/term/color.rs +index 104fcfe5b..8626cda50 100644 +--- a/alacritty_terminal/src/term/color.rs ++++ b/alacritty_terminal/src/term/color.rs +@@ -1,5 +1,5 @@ + use std::fmt::{self, Display, Formatter}; +-use std::ops::{Index, IndexMut, Mul}; ++use std::ops::{Add, Index, IndexMut, Mul}; + use std::str::FromStr; + + use log::trace; +@@ -75,6 +75,18 @@ impl Mul<f32> for Rgb { + } + } + ++impl Add<Rgb> for Rgb { ++ type Output = Rgb; ++ ++ fn add(self, rhs: Rgb) -> Rgb { ++ Rgb { ++ r: self.r.saturating_add(rhs.r), ++ g: self.g.saturating_add(rhs.g), ++ b: self.b.saturating_add(rhs.b), ++ } ++ } ++} ++ + /// Deserialize an Rgb from a hex string. + /// + /// This is *not* the deserialize impl for Rgb since we want a symmetric + +From 336052791ff4a4eaab06c358c408d1f763c3cdb6 Mon Sep 17 00:00:00 2001 +From: Kirill Chibisov <cont...@kchibisov.com> +Date: Mon, 5 Oct 2020 04:27:24 +0300 +Subject: [PATCH 5/6] Fix style comments + +--- + CHANGELOG.md | 2 +- + alacritty.yml | 37 ++++++++++--------- + alacritty/src/config/window.rs | 3 +- + alacritty/src/display.rs | 3 +- + alacritty/src/wayland_theme.rs | 67 +++++++++++++++------------------- + 5 files changed, 52 insertions(+), 60 deletions(-) + +diff --git a/CHANGELOG.md b/CHANGELOG.md +index 976e2e081..9d2a68897 100644 +--- a/CHANGELOG.md ++++ b/CHANGELOG.md +@@ -24,7 +24,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + - CLI parameter `--option`/`-o` to override any configuration field + - Escape sequences to report text area size in pixels (`CSI 14 t`) and in characters (`CSI 18 t`) + - Support for single line terminals dimensions +-- Right clicking on Wayland's client side decorations will request application menu ++- Right clicking on Wayland's client side decorations will show application menu + + ### Changed + +diff --git a/alacritty.yml b/alacritty.yml +index 241489b8f..8398235de 100644 +--- a/alacritty.yml ++++ b/alacritty.yml +@@ -708,24 +708,25 @@ + #- { key: Return, mods: Alt, action: ToggleFullscreen } + + # (macOS only) +- #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } +- #- { key: Key0, mods: Command, action: ResetFontSize } +- #- { key: Equals, mods: Command, action: IncreaseFontSize } +- #- { key: Plus, mods: Command, action: IncreaseFontSize } +- #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize } +- #- { key: Minus, mods: Command, action: DecreaseFontSize } +- #- { key: K, mods: Command, action: ClearHistory } +- #- { key: V, mods: Command, action: Paste } +- #- { key: C, mods: Command, action: Copy } +- #- { key: C, mods: Command, mode: Vi, action: ClearSelection } +- #- { key: H, mods: Command, action: Hide } +- #- { key: M, mods: Command, action: Minimize } +- #- { key: Q, mods: Command, action: Quit } +- #- { key: W, mods: Command, action: Quit } +- #- { key: N, mods: Command, action: SpawnNewInstance } +- #- { key: F, mods: Command|Control, action: ToggleFullscreen } +- #- { key: F, mods: Command, action: SearchForward } +- #- { key: B, mods: Command, action: SearchBackward } ++ #- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" } ++ #- { key: Key0, mods: Command, action: ResetFontSize } ++ #- { key: Equals, mods: Command, action: IncreaseFontSize } ++ #- { key: Plus, mods: Command, action: IncreaseFontSize } ++ #- { key: NumpadAdd, mods: Command, action: IncreaseFontSize } ++ #- { key: Minus, mods: Command, action: DecreaseFontSize } ++ #- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize } ++ #- { key: K, mods: Command, action: ClearHistory } ++ #- { key: V, mods: Command, action: Paste } ++ #- { key: C, mods: Command, action: Copy } ++ #- { key: C, mods: Command, mode: Vi, action: ClearSelection } ++ #- { key: H, mods: Command, action: Hide } ++ #- { key: M, mods: Command, action: Minimize } ++ #- { key: Q, mods: Command, action: Quit } ++ #- { key: W, mods: Command, action: Quit } ++ #- { key: N, mods: Command, action: SpawnNewInstance } ++ #- { key: F, mods: Command|Control, action: ToggleFullscreen } ++ #- { key: F, mods: Command, action: SearchForward } ++ #- { key: B, mods: Command, action: SearchBackward } + + #debug: + # Display the time it takes to redraw each frame. +diff --git a/alacritty/src/config/window.rs b/alacritty/src/config/window.rs +index b5bf86b85..17c9de5cc 100644 +--- a/alacritty/src/config/window.rs ++++ b/alacritty/src/config/window.rs +@@ -1,11 +1,10 @@ + use std::os::raw::c_ulong; + ++use glutin::window::Fullscreen; + use log::error; + use serde::{Deserialize, Deserializer}; + use serde_yaml::Value; + +-use glutin::window::Fullscreen; +- + use alacritty_terminal::config::{failure_default, option_explicit_none, LOG_TARGET_CONFIG}; + use alacritty_terminal::index::{Column, Line}; + +diff --git a/alacritty/src/display.rs b/alacritty/src/display.rs +index bd806d5ab..a30d7ad22 100644 +--- a/alacritty/src/display.rs ++++ b/alacritty/src/display.rs +@@ -31,10 +31,9 @@ use alacritty_terminal::term::{RenderableCell, SizeInfo, Term, TermMode}; + use alacritty_terminal::term::{MIN_COLS, MIN_SCREEN_LINES}; + + use crate::config::font::Font; +-#[cfg(windows)] + use crate::config::window::Dimensions; + #[cfg(not(windows))] +-use crate::config::window::{Dimensions, StartupMode}; ++use crate::config::window::StartupMode; + use crate::config::Config; + use crate::event::{Mouse, SearchState}; + use crate::message_bar::{MessageBuffer, MessageType}; +diff --git a/alacritty/src/wayland_theme.rs b/alacritty/src/wayland_theme.rs +index 328afa989..a1cf4c21b 100644 +--- a/alacritty/src/wayland_theme.rs ++++ b/alacritty/src/wayland_theme.rs +@@ -5,25 +5,26 @@ use alacritty_terminal::term::color::Rgb; + + #[derive(Debug, Clone)] + pub struct AlacrittyWaylandTheme { +- pub background: Rgb, +- pub foreground: Rgb, +- pub dim_foreground: Rgb, +- pub hovered_close_icon: Rgb, +- pub hovered_maximize_icon: Rgb, +- pub hovered_minimize_icon: Rgb, ++ pub background: ARGBColor, ++ pub foreground: ARGBColor, ++ pub dim_foreground: ARGBColor, ++ pub hovered_close_icon: ARGBColor, ++ pub hovered_maximize_icon: ARGBColor, ++ pub hovered_minimize_icon: ARGBColor, + } + + impl AlacrittyWaylandTheme { + pub fn new(colors: &Colors) -> Self { +- let hovered_close_icon = colors.normal().red; +- let hovered_maximize_icon = colors.normal().green; +- let hovered_minimize_icon = colors.normal().yellow; +- let foreground = colors.search_bar_foreground(); +- let background = colors.search_bar_background(); ++ let hovered_close_icon = colors.normal().red.into_rgba(); ++ let hovered_maximize_icon = colors.normal().green.into_rgba(); ++ let hovered_minimize_icon = colors.normal().yellow.into_rgba(); ++ let foreground = colors.search_bar_foreground().into_rgba(); ++ let background = colors.search_bar_background().into_rgba(); + +- // Blend background and foreground. We use 0.5 to make color look 'equally' with both light +- // and dark themes. +- let dim_foreground = foreground * 0.5 + background * 0.5; ++ let mut dim_foreground = foreground; ++ ++ // Blend with background with 0.5 for opacity. ++ dim_foreground.a = 127; + + Self { + foreground, +@@ -34,23 +35,14 @@ impl AlacrittyWaylandTheme { + hovered_maximize_icon, + } + } +- +- fn button_foreground_color(&self, color: Rgb, status: ButtonState, window_active: bool) -> Rgb { +- match (window_active, status) { +- (false, _) => self.dim_foreground, +- (_, ButtonState::Hovered) => color, +- (_, ButtonState::Idle) => self.foreground, +- (_, ButtonState::Disabled) => self.dim_foreground, +- } +- } + } + + impl WaylandTheme for AlacrittyWaylandTheme { + fn element_color(&self, element: Element, window_active: bool) -> ARGBColor { + match element { +- Element::Bar | Element::Separator => self.background.into_rgba(), +- Element::Text if window_active => self.foreground.into_rgba(), +- Element::Text => self.dim_foreground.into_rgba(), ++ Element::Bar | Element::Separator => self.background, ++ Element::Text if window_active => self.foreground, ++ Element::Text => self.dim_foreground, + } + } + +@@ -61,17 +53,18 @@ impl WaylandTheme for AlacrittyWaylandTheme { + foreground: bool, + window_active: bool, + ) -> ARGBColor { +- match (foreground, button) { +- (false, _) => ARGBColor { a: 0x00, r: 0x00, g: 0x00, b: 0x00 }, +- (_, Button::Minimize) => self +- .button_foreground_color(self.hovered_minimize_icon, state, window_active) +- .into_rgba(), +- (_, Button::Maximize) => self +- .button_foreground_color(self.hovered_maximize_icon, state, window_active) +- .into_rgba(), +- (_, Button::Close) => self +- .button_foreground_color(self.hovered_close_icon, state, window_active) +- .into_rgba(), ++ if !foreground { ++ return ARGBColor { a: 0, r: 0, g: 0, b: 0 }; ++ } else if !window_active { ++ return self.dim_foreground; ++ } ++ ++ match (state, button) { ++ (ButtonState::Idle, _) => self.foreground, ++ (ButtonState::Disabled, _) => self.dim_foreground, ++ (_, Button::Minimize) => self.hovered_minimize_icon, ++ (_, Button::Maximize) => self.hovered_maximize_icon, ++ (_, Button::Close) => self.hovered_close_icon, + } + } + } + +From ebd1853b89f37ad04e23d65f6f6fdc14f624e282 Mon Sep 17 00:00:00 2001 +From: Kirill Chibisov <cont...@kchibisov.com> +Date: Wed, 7 Oct 2020 08:49:09 +0300 +Subject: [PATCH 6/6] Use constant for inactive elements opacity + +--- + Cargo.lock | 47 ++++++++++++++++++---------------- + alacritty/src/wayland_theme.rs | 6 ++--- + 2 files changed, 28 insertions(+), 25 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index 4571da4b0..a77f0ff20 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -232,9 +232,9 @@ dependencies = [ + + [[package]] + name = "calloop" +-version = "0.6.4" ++version = "0.6.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "59561a8b3968ba4bda0c46f42e0568507c5d26e94c3b6f2a0c730cbecd83ff3a" ++checksum = "0b036167e76041694579972c28cf4877b4f92da222560ddb49008937b6a6727c" + dependencies = [ + "log", + "nix", +@@ -242,9 +242,9 @@ dependencies = [ + + [[package]] + name = "cc" +-version = "1.0.59" ++version = "1.0.60" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381" ++checksum = "ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c" + dependencies = [ + "jobserver", + ] +@@ -919,9 +919,9 @@ dependencies = [ + + [[package]] + name = "hermit-abi" +-version = "0.1.15" ++version = "0.1.17" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9" ++checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8" + dependencies = [ + "libc", + ] +@@ -953,9 +953,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + + [[package]] + name = "image" +-version = "0.23.9" ++version = "0.23.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "974e194911d1f7efe3cd8a8f9db3b767e43536327e899e8bc9a12ef5711b74d2" ++checksum = "985fc06b1304d19c28d5c562ed78ef5316183f2b0053b46763a0b94862373c34" + dependencies = [ + "bytemuck", + "byteorder", +@@ -987,9 +987,12 @@ dependencies = [ + + [[package]] + name = "instant" +-version = "0.1.6" ++version = "0.1.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5b141fdc7836c525d4d594027d318c84161ca17aaf8113ab1f81ab93ae897485" ++checksum = "63312a18f7ea8760cdd0a7c5aac1a619752a246b833545e3e36d1f81f7cd9e66" ++dependencies = [ ++ "cfg-if", ++] + + [[package]] + name = "iovec" +@@ -1057,9 +1060,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + + [[package]] + name = "libc" +-version = "0.2.77" ++version = "0.2.79" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235" ++checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743" + + [[package]] + name = "libloading" +@@ -1614,9 +1617,9 @@ dependencies = [ + + [[package]] + name = "proc-macro2" +-version = "1.0.21" ++version = "1.0.24" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c" ++checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" + dependencies = [ + "unicode-xid", + ] +@@ -1866,9 +1869,9 @@ dependencies = [ + + [[package]] + name = "serde_json" +-version = "1.0.57" ++version = "1.0.58" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c" ++checksum = "a230ea9107ca2220eea9d46de97eddcb04cd00e92d13dda78e478dd33fa82bd4" + dependencies = [ + "itoa", + "ryu", +@@ -2025,9 +2028,9 @@ checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" + + [[package]] + name = "syn" +-version = "1.0.41" ++version = "1.0.42" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6690e3e9f692504b941dc6c3b188fd28df054f7fb8469ab40680df52fdcc842b" ++checksum = "9c51d92969d209b54a98397e1b91c8ae82d8c87a7bb87df0b29aa2ad81454228" + dependencies = [ + "proc-macro2", + "quote", +@@ -2081,18 +2084,18 @@ dependencies = [ + + [[package]] + name = "thiserror" +-version = "1.0.20" ++version = "1.0.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08" ++checksum = "318234ffa22e0920fe9a40d7b8369b5f649d490980cf7aadcf1eb91594869b42" + dependencies = [ + "thiserror-impl", + ] + + [[package]] + name = "thiserror-impl" +-version = "1.0.20" ++version = "1.0.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793" ++checksum = "cae2447b6282786c3493999f40a9be2a6ad20cb8bd268b0a0dbf5a065535c0ab" + dependencies = [ + "proc-macro2", + "quote", +diff --git a/alacritty/src/wayland_theme.rs b/alacritty/src/wayland_theme.rs +index a1cf4c21b..b9c4381e1 100644 +--- a/alacritty/src/wayland_theme.rs ++++ b/alacritty/src/wayland_theme.rs +@@ -3,6 +3,8 @@ use glutin::platform::unix::{ARGBColor, Button, ButtonState, Element, Theme as W + use alacritty_terminal::config::Colors; + use alacritty_terminal::term::color::Rgb; + ++const INACTIVE_OPACITY: u8 = 127; ++ + #[derive(Debug, Clone)] + pub struct AlacrittyWaylandTheme { + pub background: ARGBColor, +@@ -22,9 +24,7 @@ impl AlacrittyWaylandTheme { + let background = colors.search_bar_background().into_rgba(); + + let mut dim_foreground = foreground; +- +- // Blend with background with 0.5 for opacity. +- dim_foreground.a = 127; ++ dim_foreground.a = INACTIVE_OPACITY; + + Self { + foreground, Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-10-18 11:27:35 UTC (rev 725916) +++ PKGBUILD 2020-10-18 11:27:37 UTC (rev 725917) @@ -1,42 +0,0 @@ -# Maintainer: Christian Rebischke <chris.rebisc...@archlinux.org> -# Maintainer: Jiachen YANG <farsee...@archlinux.org> -# Contributor: kpcyrd <g...@rxv.cc> -# Contributor: quininer <quini...@live.com> -pkgname='alacritty' -pkgdesc="A cross-platform, GPU-accelerated terminal emulator" -pkgver=0.5.0 -pkgrel=2 -arch=('x86_64') -url="https://github.com/jwilm/alacritty" -license=('Apache') -makedepends=('git' 'rust' 'cargo' 'cmake' 'fontconfig' 'ncurses' 'desktop-file-utils' 'gdb' 'libxcb') -depends=('freetype2' 'fontconfig' 'libxi' 'libxcursor' 'libxrandr') -checkdepends=('ttf-dejavu') # for monospace fontconfig test -optdepends=('ncurses: for alacritty terminfo database') -source=(git+https://github.com/jwilm/alacritty.git#tag=v${pkgver}?signed) -validpgpkeys=('4DAA67A9EA8B91FCC15B699C85CDAE3C164BA7B4') # Christian Dürr -sha256sums=('SKIP') - -build(){ - cd "$pkgname" - env CARGO_INCREMENTAL=0 cargo build --release --locked -} - -check(){ - cd "$pkgname" - env CARGO_INCREMENTAL=0 cargo test --release --locked -} - -package() { - cd "$pkgname" - desktop-file-install -m 644 --dir "$pkgdir/usr/share/applications/" "extra/linux/Alacritty.desktop" - install -D -m755 "target/release/alacritty" "$pkgdir/usr/bin/alacritty" - install -D -m644 "extra/alacritty.man" "$pkgdir/usr/share/man/man1/alacritty.1" - install -D -m644 "extra/linux/io.alacritty.Alacritty.appdata.xml" "$pkgdir/usr/share/appdata/io.alacritty.Alacritty.appdata.xml" - install -D -m644 "alacritty.yml" "$pkgdir/usr/share/doc/alacritty/example/alacritty.yml" - install -D -m644 "extra/completions/alacritty.bash" "$pkgdir/usr/share/bash-completion/completions/alacritty" - install -D -m644 "extra/completions/_alacritty" "$pkgdir/usr/share/zsh/site-functions/_alacritty" - install -D -m644 "extra/completions/alacritty.fish" "$pkgdir/usr/share/fish/vendor_completions.d/alacritty.fish" - install -D -m644 "extra/logo/alacritty-term.svg" "$pkgdir/usr/share/pixmaps/Alacritty.svg" -} - Copied: alacritty/repos/community-x86_64/PKGBUILD (from rev 725915, alacritty/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-10-18 11:27:37 UTC (rev 725917) @@ -0,0 +1,49 @@ +# Maintainer: Christian Rebischke <chris.rebisc...@archlinux.org> +# Maintainer: Jiachen YANG <farsee...@archlinux.org> +# Contributor: kpcyrd <g...@rxv.cc> +# Contributor: quininer <quini...@live.com> +pkgname='alacritty' +pkgdesc="A cross-platform, GPU-accelerated terminal emulator" +pkgver=0.5.0 +pkgrel=3 +arch=('x86_64') +url="https://github.com/jwilm/alacritty" +license=('Apache') +makedepends=('git' 'rust' 'cargo' 'cmake' 'fontconfig' 'ncurses' 'desktop-file-utils' 'gdb' 'libxcb') +depends=('freetype2' 'fontconfig' 'libxi' 'libxcursor' 'libxrandr') +checkdepends=('ttf-dejavu') # for monospace fontconfig test +optdepends=('ncurses: for alacritty terminfo database') +source=("git+https://github.com/jwilm/alacritty.git#tag=v${pkgver}?signed" + "4275.patch") +validpgpkeys=('4DAA67A9EA8B91FCC15B699C85CDAE3C164BA7B4') # Christian Dürr +sha256sums=('SKIP' + '2379ff743b6616fb0d61bfb1800a58a6e25d33f8e7b62a859cbe57ac83056aef') + +prepapre() { + cd "$pkgname" + patch -p1 < "${srcdir}/4275.patch" +} + +build(){ + cd "$pkgname" + env CARGO_INCREMENTAL=0 cargo build --release --locked +} + +check(){ + cd "$pkgname" + env CARGO_INCREMENTAL=0 cargo test --release --locked +} + +package() { + cd "$pkgname" + desktop-file-install -m 644 --dir "$pkgdir/usr/share/applications/" "extra/linux/Alacritty.desktop" + install -D -m755 "target/release/alacritty" "$pkgdir/usr/bin/alacritty" + install -D -m644 "extra/alacritty.man" "$pkgdir/usr/share/man/man1/alacritty.1" + install -D -m644 "extra/linux/io.alacritty.Alacritty.appdata.xml" "$pkgdir/usr/share/appdata/io.alacritty.Alacritty.appdata.xml" + install -D -m644 "alacritty.yml" "$pkgdir/usr/share/doc/alacritty/example/alacritty.yml" + install -D -m644 "extra/completions/alacritty.bash" "$pkgdir/usr/share/bash-completion/completions/alacritty" + install -D -m644 "extra/completions/_alacritty" "$pkgdir/usr/share/zsh/site-functions/_alacritty" + install -D -m644 "extra/completions/alacritty.fish" "$pkgdir/usr/share/fish/vendor_completions.d/alacritty.fish" + install -D -m644 "extra/logo/alacritty-term.svg" "$pkgdir/usr/share/pixmaps/Alacritty.svg" +} +