[arch-commits] Commit in alacritty/repos/community-x86_64 (4 files)
Jiachen Yang
farseerfc at archlinux.org
Thu Nov 26 00:31:09 UTC 2020
Date: Thursday, November 26, 2020 @ 00:31:09
Author: farseerfc
Revision: 761324
archrelease: copy trunk to community-x86_64
Added:
alacritty/repos/community-x86_64/4275.patch
(from rev 761323, alacritty/trunk/4275.patch)
alacritty/repos/community-x86_64/PKGBUILD
(from rev 761323, alacritty/trunk/PKGBUILD)
Deleted:
alacritty/repos/community-x86_64/4275.patch
alacritty/repos/community-x86_64/PKGBUILD
------------+
4275.patch | 5150 +++++++++++++++++++++++++++++------------------------------
PKGBUILD | 95 -
2 files changed, 2621 insertions(+), 2624 deletions(-)
Deleted: 4275.patch
===================================================================
--- 4275.patch 2020-11-26 00:30:28 UTC (rev 761323)
+++ 4275.patch 2020-11-26 00:31:09 UTC (rev 761324)
@@ -1,2575 +0,0 @@
-From 555a522c7a2e8ad6abb611ac1b36e3c854b24c7b Mon Sep 17 00:00:00 2001
-From: Kirill Chibisov <contact at 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 <contact at 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 <contact at 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 <contact at 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 <contact at 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 <contact at 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,
Copied: alacritty/repos/community-x86_64/4275.patch (from rev 761323, alacritty/trunk/4275.patch)
===================================================================
--- 4275.patch (rev 0)
+++ 4275.patch 2020-11-26 00:31:09 UTC (rev 761324)
@@ -0,0 +1,2575 @@
+From 555a522c7a2e8ad6abb611ac1b36e3c854b24c7b Mon Sep 17 00:00:00 2001
+From: Kirill Chibisov <contact at 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 <contact at 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 <contact at 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 <contact at 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 <contact at 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 <contact at 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-11-26 00:30:28 UTC (rev 761323)
+++ PKGBUILD 2020-11-26 00:31:09 UTC (rev 761324)
@@ -1,49 +0,0 @@
-# Maintainer: Christian Rebischke <chris.rebischke at archlinux.org>
-# Maintainer: Jiachen YANG <farseerfc at archlinux.org>
-# Contributor: kpcyrd <git at rxv.cc>
-# Contributor: quininer <quininer at 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"
-}
-
Copied: alacritty/repos/community-x86_64/PKGBUILD (from rev 761323, alacritty/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2020-11-26 00:31:09 UTC (rev 761324)
@@ -0,0 +1,46 @@
+# Maintainer: Christian Rebischke <chris.rebischke at archlinux.org>
+# Maintainer: Jiachen YANG <farseerfc at archlinux.org>
+# Contributor: kpcyrd <git at rxv.cc>
+# Contributor: quininer <quininer at live.com>
+pkgname='alacritty'
+pkgdesc="A cross-platform, GPU-accelerated terminal emulator"
+pkgver=0.6.0
+pkgrel=1
+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')
+
+prepapre() {
+ cd "$pkgname"
+}
+
+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"
+}
+
More information about the arch-commits
mailing list