diff --git a/Cargo.lock b/Cargo.lock index 72809d2cc..675d415b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -143,6 +143,12 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +[[package]] +name = "as-raw-xcb-connection" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa" + [[package]] name = "ash" version = "0.37.3+1.3.251" @@ -281,7 +287,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -298,7 +304,7 @@ checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -473,7 +479,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" dependencies = [ "memchr", - "regex-automata 0.3.3", + "regex-automata 0.3.4", "serde", ] @@ -500,7 +506,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -673,7 +679,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -782,11 +788,11 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "colored" -version = "1.9.3" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59" +checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" dependencies = [ - "atty", + "is-terminal", "lazy_static", "winapi", ] @@ -1178,7 +1184,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -1189,7 +1195,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -1206,9 +1212,18 @@ checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "deltae" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef311e2c0a388b9ba56c839ac68d33b92d18ce7104d0acc4375cb479e2b9a53" +checksum = "5729f5117e208430e437df2f4843f5e5952997175992d1414f94c57d61e270b4" + +[[package]] +name = "deranged" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8810e7e2cf385b1e9b50d68264908ec367ba642c96d02edfe61c39e88e2a3c01" +dependencies = [ + "serde", +] [[package]] name = "derivative" @@ -1401,7 +1416,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -1457,9 +1472,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -1682,7 +1697,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -1803,7 +1818,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -1965,9 +1980,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df" +checksum = "aca8bbd8e0707c1887a8bbb7e6b40e228f251ff5d62c8220a4a7a53c73aff006" dependencies = [ "aho-corasick", "bstr 1.6.0", @@ -2456,11 +2471,11 @@ dependencies = [ [[package]] name = "intrusive-collections" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f4f90afb01281fdeffb0f8e082d230cbe4f888f837cc90759696b858db1a700" +checksum = "b694dc9f70c3bda874626d2aed13b780f137aab435f4e9814121955cf706122e" dependencies = [ - "memoffset 0.8.0", + "memoffset 0.9.0", ] [[package]] @@ -2779,9 +2794,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "libc", @@ -2881,9 +2896,9 @@ dependencies = [ [[package]] name = "luajit-src" -version = "210.4.6+resty2cf5186" +version = "210.4.7+resty107baaf" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c45ef28e0270605b160214758b57d97cb737b8c5f92885434b17b548fe50f117" +checksum = "ca76a3752fc130e5dabef71792f4f7095babb72f7c85860c7830eb746ad8bf31" dependencies = [ "cc", "which", @@ -2953,6 +2968,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6" +dependencies = [ + "libc", +] + [[package]] name = "memmem" version = "0.1.1" @@ -2977,15 +3001,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.0" @@ -3089,9 +3104,9 @@ dependencies = [ [[package]] name = "mlua" -version = "0.9.0-rc.1" +version = "0.9.0-rc.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5369212118d0f115c9adbe7f7905e36fb3ef2994266039c51fc3e96374d705d" +checksum = "01a6500a9fb74b519a85ac206cd57f9f91b270ce39d6cb12ab06a8ed29c3563d" dependencies = [ "bstr 1.6.0", "futures-util", @@ -3103,9 +3118,9 @@ dependencies = [ [[package]] name = "mlua-sys" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3daecc55a656cae8e54fc599701ab597b67cdde68f780cac8c1c49b9cfff2f5" +checksum = "aa5b61f6c943d77dd6ab5f670865670f65b978400127c8bf31c2df7d6e76289a" dependencies = [ "cc", "cfg-if", @@ -3669,7 +3684,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3723,7 +3738,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3752,7 +3767,7 @@ checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -4026,9 +4041,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.31" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -4164,7 +4179,7 @@ checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.3", + "regex-automata 0.3.4", "regex-syntax", ] @@ -4176,9 +4191,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" [[package]] name = "regex-automata" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" dependencies = [ "aho-corasick", "memchr", @@ -4304,7 +4319,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.27", + "syn 2.0.28", "unicode-ident", ] @@ -4462,9 +4477,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.174" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b88756493a5bd5e5395d53baa70b194b05764ab85b59e43e4b8f4e1192fa9b1" +checksum = "0a5bf42b8d227d4abf38a1ddb08602e229108a517cd4e5bb28f9c7eaafdce5c0" dependencies = [ "serde_derive", ] @@ -4481,20 +4496,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.174" +version = "1.0.179" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c3a298c7f978e53536f95a63bdc4c4a64550582f31a0359a9afda6aede62e" +checksum = "741e124f5485c7e60c03b043f79f320bff3527f4bbf12cf3831750dc46a0ec2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.103" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -4503,13 +4518,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e168eaaf71e8f9bd6037feb05190485708e019f4fd87d161b3c0a0d37daf85e5" +checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -4558,7 +4573,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -4693,9 +4708,9 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.5" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" [[package]] name = "siphasher" @@ -4954,9 +4969,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.27" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ "proc-macro2", "quote", @@ -5203,7 +5218,7 @@ checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -5235,10 +5250,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.23" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "b79eabcd964882a646b3584543ccabeae7869e9ac32a46f6f22b7a5bd405308b" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -5268,9 +5284,9 @@ dependencies = [ [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -5352,7 +5368,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -5448,7 +5464,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -5519,13 +5535,9 @@ checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-linebreak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137" -dependencies = [ - "hashbrown 0.12.3", - "regex", -] +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" [[package]] name = "unicode-normalization" @@ -5707,7 +5719,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -5741,7 +5753,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6710,9 +6722,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" +checksum = "8bd122eb777186e60c3fdf765a58ac76e41c582f1f535fbf3314434c6b58f3f7" dependencies = [ "memchr", ] @@ -6759,6 +6771,7 @@ name = "xcb" version = "1.2.1" source = "git+https://github.com/rust-x-bindings/rust-xcb?rev=dbdaa01c178c6fbe68bd51b7ad44c08172181083#dbdaa01c178c6fbe68bd51b7ad44c08172181083" dependencies = [ + "as-raw-xcb-connection", "bitflags 1.3.2", "libc", "quick-xml 0.28.2", @@ -6798,13 +6811,13 @@ dependencies = [ [[package]] name = "xkbcommon" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbee136714379ab22da0280207fdb7f47e0bb940adea97731b65598b8c7a92e" +checksum = "52db25b599e92bf6e3904134618728eeb7b49a5a4f38f107f92399bb9c496b88" dependencies = [ + "as-raw-xcb-connection", "libc", - "memmap2 0.5.10", - "xcb", + "memmap2 0.7.1", ] [[package]] diff --git a/bidi/src/lib.rs b/bidi/src/lib.rs index 456be9065..1dd68f72b 100644 --- a/bidi/src/lib.rs +++ b/bidi/src/lib.rs @@ -1620,7 +1620,7 @@ impl BidiContext { == Some(BidiClass::PopDirectionalIsolate) { // we matched the criteria for adding this run to the sequence. - let mut iso_run = iso_runs.last_mut().unwrap(); + let iso_run = iso_runs.last_mut().unwrap(); iso_run.runs.push(idx); iso_run.len += run.len; run.seq_id = seq_id; diff --git a/ci/check-rust-version.sh b/ci/check-rust-version.sh index 9185bfd04..a1848a719 100755 --- a/ci/check-rust-version.sh +++ b/ci/check-rust-version.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -min_rust="1.67.0" +min_rust="1.71.0" rust_ver="$(rustc --version | cut -d' ' -f2)" check_rust_version() { diff --git a/docs/install/source.md b/docs/install/source.md index ee3ec1cdf..e095d7332 100644 --- a/docs/install/source.md +++ b/docs/install/source.md @@ -6,7 +6,7 @@ macOS. * Install `rustup` to get the `rust` compiler installed on your system. [Install rustup](https://www.rust-lang.org/en-US/install.html) -* Rust version 1.56 or later is required +* Rust version 1.71 or later is required * Build in release mode: `cargo build --release` * Run it via either `cargo run --release --bin wezterm` or `target/release/wezterm` diff --git a/mux/src/tab.rs b/mux/src/tab.rs index 324056c27..1b46ff170 100644 --- a/mux/src/tab.rs +++ b/mux/src/tab.rs @@ -1544,7 +1544,6 @@ impl TabInner { best.replace(target); } } - drop(recency); if let Some((_, target)) = best.take() { return Some(target.index); diff --git a/termwiz/src/cell.rs b/termwiz/src/cell.rs index 994f6d7bd..d4977a7f3 100644 --- a/termwiz/src/cell.rs +++ b/termwiz/src/cell.rs @@ -483,7 +483,7 @@ impl CellAttributes { || fat.foreground != ColorAttribute::Default { res.allocate_fat_attributes(); - let mut new_fat = res.fat.as_mut().unwrap(); + let new_fat = res.fat.as_mut().unwrap(); new_fat.foreground = fat.foreground; new_fat.background = fat.background; } diff --git a/wezterm-gui/src/termwindow/mod.rs b/wezterm-gui/src/termwindow/mod.rs index 3eadc9538..b5aa19fa7 100644 --- a/wezterm-gui/src/termwindow/mod.rs +++ b/wezterm-gui/src/termwindow/mod.rs @@ -2289,7 +2289,7 @@ impl TermWindow { /// Returns the Prompt semantic zones fn get_semantic_prompt_zones(&mut self, pane: &Arc) -> &[StableRowIndex] { - let mut cache = self + let cache = self .semantic_zones .entry(pane.pane_id()) .or_insert_with(SemanticZoneCache::default); diff --git a/window/Cargo.toml b/window/Cargo.toml index 304e67b9f..2aa73fba2 100644 --- a/window/Cargo.toml +++ b/window/Cargo.toml @@ -70,7 +70,7 @@ winreg = "0.10" dirs-next = "2.0" filedescriptor = { version="0.8", path = "../filedescriptor" } x11 = {version ="2.19", features = ["xlib_xcb", "xlib"]} -xcb = {version="1.2", features=["render", "randr", "dri2", "xkb", "xlib_xcb", "present"]} +xcb = {version="1.2", features=["render", "randr", "dri2", "xkb", "xlib_xcb", "present", "as-raw-xcb-connection"]} xkbcommon = { version = "0.5.0", features = ["x11", "wayland"] } mio = {version="0.8", features=["os-ext"]} libc = "0.2" diff --git a/window/src/os/wayland/inputhandler.rs b/window/src/os/wayland/inputhandler.rs index 6ebd91780..5e280a6eb 100644 --- a/window/src/os/wayland/inputhandler.rs +++ b/window/src/os/wayland/inputhandler.rs @@ -40,7 +40,7 @@ impl Inner { ) { log::trace!("{event:?}"); let conn = WaylandConnection::get().unwrap().wayland(); - let mut pending_state = self.pending_state.entry(wl_id(&**input)).or_default(); + let pending_state = self.pending_state.entry(wl_id(&**input)).or_default(); match event { Event::PreeditString { text, diff --git a/window/src/os/wayland/output.rs b/window/src/os/wayland/output.rs index 4bd31fbe2..236097233 100644 --- a/window/src/os/wayland/output.rs +++ b/window/src/os/wayland/output.rs @@ -66,7 +66,7 @@ impl Inner { ) { log::debug!("handle_zwlr_mode_event {event:?}"); let id = wl_id(mode.detach()); - let mut info = self.zwlr_mode_info.entry(id).or_insert_with(|| ModeInfo { + let info = self.zwlr_mode_info.entry(id).or_insert_with(|| ModeInfo { id, ..ModeInfo::default() }); @@ -83,7 +83,6 @@ impl Inner { info.preferred = true; } ZwlrOutputModeEvent::Finished => { - drop(info); self.zwlr_mode_info.remove(&id); self.zwlr_modes.remove(&id); } @@ -100,7 +99,7 @@ impl Inner { ) { log::debug!("handle_zwlr_head_event {event:?}"); let id = wl_id(head.detach()); - let mut info = self.zwlr_head_info.entry(id).or_insert_with(|| HeadInfo { + let info = self.zwlr_head_info.entry(id).or_insert_with(|| HeadInfo { id, ..HeadInfo::default() }); @@ -154,7 +153,6 @@ impl Inner { info.serial_number = serial_number; } ZwlrOutputHeadEvent::Finished => { - drop(info); log::debug!("remove head with id {id}"); self.zwlr_heads.remove(&id); self.zwlr_head_info.remove(&id);