=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Building for marswm-0.5.3
   Compiling proc-macro2 v1.0.70
   Compiling unicode-ident v1.0.12
   Compiling pkg-config v0.3.27
   Compiling utf8parse v0.2.1
   Compiling serde v1.0.193
   Compiling libc v0.2.151
   Compiling anstyle v1.0.4
   Compiling anstyle-query v1.0.2
   Compiling anstyle-parse v0.2.3
   Compiling colorchoice v1.0.0
   Compiling hashbrown v0.14.3
   Compiling equivalent v1.0.1
   Compiling heck v0.4.1
   Compiling anstream v0.6.5
   Compiling itoa v1.0.10
   Compiling ryu v1.0.16
   Compiling strsim v0.10.0
   Compiling clap_lex v0.6.0
   Compiling x11 v2.21.0
   Compiling unsafe-libyaml v0.2.10
   Compiling indexmap v2.1.0
   Compiling quote v1.0.33
   Compiling clap_builder v4.4.11
   Compiling xdg v2.5.2
   Compiling syn v2.0.41
   Compiling serde_derive v1.0.193
   Compiling clap_derive v4.4.7
   Compiling clap v4.4.11
   Compiling serde_yaml v0.9.27
   Compiling libmars v0.5.3 (/pbulk/work/wm/marswm/work/marswm-0.5.3/libmars)
error[E0308]: mismatched types
  --> libmars/src/common/x11/mod.rs:23:29
   |
23 | pub const BUTTONMASK: i64 = xlib::ButtonPressMask | xlib::ButtonReleaseMask;
   |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i64`, found `i32`

error[E0308]: mismatched types
  --> libmars/src/common/x11/mod.rs:24:41
   |
24 | pub const MOUSEMASK: i64 = BUTTONMASK | xlib::PointerMotionMask;
   |                                         ^^^^^^^^^^^^^^^^^^^^^^^ expected `i64`, found `i32`

error[E0277]: no implementation for `i64 | i32`
  --> libmars/src/common/x11/mod.rs:24:39
   |
24 | pub const MOUSEMASK: i64 = BUTTONMASK | xlib::PointerMotionMask;
   |                                       ^ no implementation for `i64 | i32`
   |
   = help: the trait `BitOr<i32>` is not implemented for `i64`
   = help: the following other types implement trait `BitOr<Rhs>`:
             <i64 as BitOr>
             <i64 as BitOr<NonZeroI64>>
             <i64 as BitOr<&i64>>
             <&'a i64 as BitOr<i64>>
             <&i64 as BitOr<&i64>>

error[E0308]: mismatched types
    --> libmars/src/common/x11/window.rs:84:34
     |
84   |             msg_data.set_long(0, X11Atom::WMDeleteWindow.to_xlib_atom(display) as i64);
     |                      --------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
     |                      |
     |                      arguments to this method are incorrect
     |
note: method defined here
    --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:2694:12
     |
2694 |     pub fn set_long(&mut self, index: usize, value: c_long) {
     |            ^^^^^^^^
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
     |
84   |             msg_data.set_long(0, (X11Atom::WMDeleteWindow.to_xlib_atom(display) as i64).try_into().unwrap());
     |                                  +                                                    +++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:140:69
    |
140 |             .iter().filter_map(|a| X11Atom::from_xlib_atom(display, *a)).collect();
    |                                    -----------------------          ^^ expected `u32`, found `u64`
    |                                    |
    |                                    arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/common/x11/atoms.rs:122:12
    |
122 |     pub fn from_xlib_atom(display: *mut xlib::Display, atom: xlib::Atom) -> Option<X11Atom> {
    |            ^^^^^^^^^^^^^^                              ----------------
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
140 |             .iter().filter_map(|a| X11Atom::from_xlib_atom(display, (*a).try_into().unwrap())).collect();
    |                                                                     +  +++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:152:29
    |
152 |         if !states.contains(&atom) {
    |                    -------- ^^^^^ expected `&u64`, found `&u32`
    |                    |
    |                    arguments to this method are incorrect
    |
    = note: expected reference `&u64`
               found reference `&u32`
note: method defined here
   --> /pbulk/work/lang/rust/work/rustc-1.73.0-src/library/core/src/slice/mod.rs:2511:12

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:153:25
    |
153 |             states.push(atom);
    |                    ---- ^^^^ expected `u64`, found `u32`
    |                    |
    |                    arguments to this method are incorrect
    |
note: method defined here
   --> /pbulk/work/lang/rust/work/rustc-1.73.0-src/library/alloc/src/vec/mod.rs:1825:12
help: you can convert a `u32` to a `u64`
    |
153 |             states.push(atom.into());
    |                             +++++++

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:155:76
    |
155 |         self.x11_replace_property_long(display, NetWMState, xlib::XA_ATOM, &states);
    |              -------------------------                                     ^^^^^^^ expected `&[u32]`, found `&Vec<u64>`
    |              |
    |              arguments to this method are incorrect
    |
    = note: expected reference `&[u32]`
               found reference `&Vec<u64>`
note: method defined here
   --> libmars/src/common/x11/window.rs:27:8
    |
27  |     fn x11_replace_property_long(&self, display: *mut xlib::Display, property: X11Atom, prop_type: c_ulong, data: &[c_ulong]);
    |        ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:166:33
    |
166 |         states.retain(|s| *s != state_atom);
    |                           --    ^^^^^^^^^^ expected `u64`, found `u32`
    |                           |
    |                           expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
166 |         states.retain(|s| *s != state_atom.into());
    |                                           +++++++

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:167:76
    |
167 |         self.x11_replace_property_long(display, NetWMState, xlib::XA_ATOM, &states);
    |              -------------------------                                     ^^^^^^^ expected `&[u32]`, found `&Vec<u64>`
    |              |
    |              arguments to this method are incorrect
    |
    = note: expected reference `&[u32]`
               found reference `&Vec<u64>`
note: method defined here
   --> libmars/src/common/x11/window.rs:27:8
    |
27  |     fn x11_replace_property_long(&self, display: *mut xlib::Display, property: X11Atom, prop_type: c_ulong, data: &[c_ulong]);
    |        ^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0308]: arguments to this function are incorrect
   --> libmars/src/common/x11/window.rs:181:30
    |
181 |                 let status = xlib::XGetWindowProperty(display, *self, property.to_xlib_atom(display),
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^
182 |                     data.len() as i64 / 2, 8, xlib::False,
    |                     --------------------- expected `i32`, found `i64`
    |
note: expected `*mut u32`, found `&mut u64`
   --> libmars/src/common/x11/window.rs:185:34
    |
185 |                     &mut nitems, &mut remaining_bytes,
    |                                  ^^^^^^^^^^^^^^^^^^^^
    = note:    expected raw pointer `*mut u32`
            found mutable reference `&mut u64`
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:313:10
    |
313 |   pub fn XGetWindowProperty (_12: *mut Display, _11: c_ulong, _10: c_ulong, _9: c_long, _8: c_long, _7: c_int, _6: c_ulong, _5: *mut c_ul...
    |          ^^^^^^^^^^^^^^^^^^
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
182 |                     (data.len() as i64 / 2).try_into().unwrap(), 8, xlib::False,
    |                     +                     +++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:189:42
    |
189 |                 } else if actual_type == XLIB_NONE
    |                           -----------    ^^^^^^^^^ expected `u32`, found `u64`
    |                           |
    |                           expected because this is `u32`
    |
help: you can convert `actual_type` from `u32` to `u64`, matching the type of `XLIB_NONE`
    |
189 |                 } else if u64::from(actual_type) == XLIB_NONE
    |                           ++++++++++           +

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:262:51
    |
262 |             if xlib::XGetGeometry(display, *self, &mut root, &mut x, &mut y, &mut w, &mut h, &mut bw, &mut depth) != 0 {
    |                ------------------                 ^^^^^^^^^ expected `*mut u32`, found `&mut u64`
    |                |
    |                arguments to this function are incorrect
    |
    = note:    expected raw pointer `*mut u32`
            found mutable reference `&mut u64`
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:290:10
    |
290 |   pub fn XGetGeometry (_9: *mut Display, _8: c_ulong, _7: *mut c_ulong, _6: *mut c_int, _5: *mut c_int, _4: *mut c_uint, _3: *mut c_uint,...
    |          ^^^^^^^^^^^^

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:282:17
    |
280 |             let result = xlib::XGetWindowProperty(display, *self, NetWMWindowType.to_xlib_atom(display),
    |                          ------------------------ arguments to this function are incorrect
281 |                 0, 8, xlib::False, xlib::XA_ATOM,
282 |                 &mut da, &mut di, &mut nitems, &mut dl, &mut win_types_ptr);
    |                 ^^^^^^^ expected `*mut u32`, found `&mut u64`
    |
    = note:    expected raw pointer `*mut u32`
            found mutable reference `&mut u64`
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:313:10
    |
313 |   pub fn XGetWindowProperty (_12: *mut Display, _11: c_ulong, _10: c_ulong, _9: c_long, _8: c_long, _7: c_int, _6: c_ulong, _5: *mut c_ul...
    |          ^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> libmars/src/common/x11/window.rs:293:44
    |
293 |             let mut window: xlib::Window = XLIB_NONE;
    |                             ------------   ^^^^^^^^^ expected `u32`, found `u64`
    |                             |
    |                             expected due to this
    |
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
293 |             let mut window: xlib::Window = XLIB_NONE.try_into().unwrap();
    |                                                     ++++++++++++++++++++

error[E0308]: mismatched types
    --> libmars/src/control/x11.rs:92:26
     |
92   |         data.set_long(0, i64::from(mode));
     |              --------    ^^^^^^^^^^^^^^^ expected `i32`, found `i64`
     |              |
     |              arguments to this method are incorrect
     |
note: method defined here
    --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:2694:12
     |
2694 |     pub fn set_long(&mut self, index: usize, value: c_long) {
     |            ^^^^^^^^

error[E0308]: mismatched types
    --> libmars/src/control/x11.rs:93:26
     |
93   |         data.set_long(1, NetWMStateFullscreen.to_xlib_atom(self.display) as i64);
     |              --------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
     |              |
     |              arguments to this method are incorrect
     |
note: method defined here
    --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:2694:12
     |
2694 |     pub fn set_long(&mut self, index: usize, value: c_long) {
     |            ^^^^^^^^
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
     |
93   |         data.set_long(1, (NetWMStateFullscreen.to_xlib_atom(self.display) as i64).try_into().unwrap());
     |                          +                                                      +++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/control/x11.rs:102:16
    |
98  |       fn get_active_window(&self) -> Result<xlib::Window> {
    |                                      -------------------- expected `std::result::Result<u32, common::error::MarsError>` because of return type
...
102 |           return data.first().copied()
    |  ________________^
103 | |             .ok_or(MarsError::invalid_response("reading property _NET_ACTIVE_WINDOW"));
    | |______________________________________________________________________________________^ expected `Result<u32, MarsError>`, found `Result<u64, MarsError>`
    |
    = note: expected enum `std::result::Result<u32, _>`
               found enum `std::result::Result<u64, _>`
help: use `?` to coerce and return an appropriate `Err`, and wrap the resulting value in `Ok` so the expression remains of type `Result`
    |
102 ~         return Ok(data.first().copied()
103 ~             .ok_or(MarsError::invalid_response("reading property _NET_ACTIVE_WINDOW"))?);
    |

error[E0277]: the trait bound `i32: From<u32>` is not satisfied
   --> libmars/src/control/x11.rs:148:36
    |
148 |         data.set_long(0, workspace.into());
    |                                    ^^^^ the trait `From<u32>` is not implemented for `i32`
    |
    = help: the following other types implement trait `From<T>`:
              <i32 as From<bool>>
              <i32 as From<i8>>
              <i32 as From<i16>>
              <i32 as From<u8>>
              <i32 as From<u16>>
              <i32 as From<NonZeroI32>>
    = note: required for `u32` to implement `Into<i32>`

error[E0277]: the trait bound `i32: From<u32>` is not satisfied
   --> libmars/src/control/x11.rs:163:36
    |
163 |         data.set_long(0, workspace.into());
    |                                    ^^^^ the trait `From<u32>` is not implemented for `i32`
    |
    = help: the following other types implement trait `From<T>`:
              <i32 as From<bool>>
              <i32 as From<i8>>
              <i32 as From<i16>>
              <i32 as From<u8>>
              <i32 as From<u16>>
              <i32 as From<NonZeroI32>>
    = note: required for `u32` to implement `Into<i32>`

error[E0308]: mismatched types
    --> libmars/src/control/x11.rs:172:26
     |
172  |         data.set_long(0, i64::from(mode));
     |              --------    ^^^^^^^^^^^^^^^ expected `i32`, found `i64`
     |              |
     |              arguments to this method are incorrect
     |
note: method defined here
    --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:2694:12
     |
2694 |     pub fn set_long(&mut self, index: usize, value: c_long) {
     |            ^^^^^^^^

error[E0308]: mismatched types
    --> libmars/src/control/x11.rs:173:26
     |
173  |         data.set_long(1, MarsWMStateTiled.to_xlib_atom(self.display) as i64);
     |              --------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
     |              |
     |              arguments to this method are incorrect
     |
note: method defined here
    --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:2694:12
     |
2694 |     pub fn set_long(&mut self, index: usize, value: c_long) {
     |            ^^^^^^^^
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
     |
173  |         data.set_long(1, (MarsWMStateTiled.to_xlib_atom(self.display) as i64).try_into().unwrap());
     |                          +                                                  +++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/control/x11.rs:228:27
    |
228 |     if supported.contains(&xatom) {
    |                  -------- ^^^^^^ expected `&u64`, found `&u32`
    |                  |
    |                  arguments to this method are incorrect
    |
    = note: expected reference `&u64`
               found reference `&u32`
note: method defined here
   --> /pbulk/work/lang/rust/work/rustc-1.73.0-src/library/core/src/slice/mod.rs:2511:12

error[E0308]: mismatched types
   --> libmars/src/draw/x11/canvas.rs:308:36
    |
308 |             swa.background_pixel = color;
    |             --------------------   ^^^^^ expected `u32`, found `u64`
    |             |
    |             expected due to the type of this binding

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:103:17
    |
103 |                 root,
    |                 ^^^^ expected `u64`, found `u32`
    |
help: you can convert a `u32` to a `u64`
    |
103 |                 root: root.into(),
    |                 +++++     +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:115:32
    |
115 |             x11b.wmcheck_win = xlib::XCreateSimpleWindow(display, root, 0, 0, 1, 1, 0, 0, 0);
    |             ----------------   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
    |             |
    |             expected due to the type of this binding

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:116:44
    |
116 |             xlib::XChangeProperty(display, x11b.wmcheck_win, NetSupportingWMCheck.to_xlib_atom(display), xlib::XA_WINDOW,
    |             ---------------------          ^^^^^^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:60:10
    |
60  |   pub fn XChangeProperty (_8: *mut Display, _7: c_ulong, _6: c_ulong, _5: c_ulong, _4: c_int, _3: c_int, _2: *const c_uchar, _1: c_int) -...
    |          ^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
116 |             xlib::XChangeProperty(display, x11b.wmcheck_win.try_into().unwrap(), NetSupportingWMCheck.to_xlib_atom(display), xlib::XA_WINDOW,
    |                                                            ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:118:44
    |
118 |             xlib::XChangeProperty(display, x11b.wmcheck_win, NetWMName.to_xlib_atom(display),
    |             ---------------------          ^^^^^^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:60:10
    |
60  |   pub fn XChangeProperty (_8: *mut Display, _7: c_ulong, _6: c_ulong, _5: c_ulong, _4: c_int, _3: c_int, _2: *const c_uchar, _1: c_int) -...
    |          ^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
118 |             xlib::XChangeProperty(display, x11b.wmcheck_win.try_into().unwrap(), NetWMName.to_xlib_atom(display),
    |                                                            ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:175:20
    |
175 |             event: client.window(),
    |                    ^^^^^^^^^^^^^^^ expected `u32`, found `u64`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:176:21
    |
176 |             window: client.window(),
    |                     ^^^^^^^^^^^^^^^ expected `u32`, found `u64`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:182:20
    |
182 |             above: XLIB_NONE,
    |                    ^^^^^^^^^ expected `u32`, found `u64`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:187:44
    |
187 |             xlib::XSendEvent(self.display, client.window(), xlib::False, xlib::StructureNotifyMask, &mut xevent);
    |             ----------------               ^^^^^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:650:10
    |
650 |   pub fn XSendEvent (_5: *mut Display, _4: c_ulong, _3: c_int, _2: c_long, _1: *mut XEvent) -> c_int,
    |          ^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
187 |             xlib::XSendEvent(self.display, client.window().try_into().unwrap(), xlib::False, xlib::StructureNotifyMask, &mut xevent);
    |                                                           ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:222:22
    |
222 |         if window == self.wmcheck_win {
    |            ------    ^^^^^^^^^^^^^^^^ expected `u32`, found `u64`
    |            |
    |            expected because this is `u32`
    |
help: you can convert `window` from `u32` to `u64`, matching the type of `self.wmcheck_win`
    |
222 |         if u64::from(window) == self.wmcheck_win {
    |            ++++++++++      +

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:335:60
    |
335 |         if let Some(client_rc) = Self::client_by_frame(wm, event.window) {
    |                                  ---------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                  |
    |                                  arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:661:8
    |
661 |     fn client_by_frame(wm: &(impl WindowManager<Self, A> + ?Sized), frame: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^                                              ----------
help: you can convert a `u32` to a `u64`
    |
335 |         if let Some(client_rc) = Self::client_by_frame(wm, event.window.into()) {
    |                                                                        +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:337:68
    |
337 |         } else if let Some(client_rc) = Self::client_by_window(wm, event.window) {
    |                                         ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                         |
    |                                         arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
337 |         } else if let Some(client_rc) = Self::client_by_window(wm, event.window.into()) {
    |                                                                                +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:339:35
    |
339 |         } else if event.window == self.root {
    |                   ------------    ^^^^^^^^^ expected `u32`, found `u64`
    |                   |
    |                   expected because this is `u32`
    |
help: you can convert `event.window` from `u32` to `u64`, matching the type of `self.root`
    |
339 |         } else if u64::from(event.window) == self.root {
    |                   ++++++++++            +

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:349:73
    |
349 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window){
    |                                              ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                              |
    |                                              arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
349 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window.into()){
    |                                                                                     +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:354:73
    |
354 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window) {
    |                                              ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                              |
    |                                              arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
354 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window.into()) {
    |                                                                                     +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:366:73
    |
366 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window) {
    |                                              ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                              |
    |                                              arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
366 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window.into()) {
    |                                                                                     +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:375:73
    |
375 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window) {
    |                                              ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                              |
    |                                              arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
375 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window.into()) {
    |                                                                                     +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:376:61
    |
376 |                         if event.data.get_long(1) as u64 == NetWMStateFullscreen.to_xlib_atom(self.display)
    |                            -----------------------------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
    |                            |
    |                            expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
376 |                         if event.data.get_long(1) as u64 == NetWMStateFullscreen.to_xlib_atom(self.display).into()
    |                                                                                                            +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:377:69
    |
377 | ...                   || event.data.get_long(2) as u64 == NetWMStateFullscreen.to_xlib_atom(self.display) {
    |                          -----------------------------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
    |                          |
    |                          expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
377 |                                 || event.data.get_long(2) as u64 == NetWMStateFullscreen.to_xlib_atom(self.display).into() {
    |                                                                                                                    +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:386:68
    |
386 |                         } else if event.data.get_long(1) as u64 == MarsWMStateTiled.to_xlib_atom(self.display)
    |                                   -----------------------------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                   |
    |                                   expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
386 |                         } else if event.data.get_long(1) as u64 == MarsWMStateTiled.to_xlib_atom(self.display).into()
    |                                                                                                               +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:387:69
    |
387 | ...                   || event.data.get_long(2) as u64 == MarsWMStateTiled.to_xlib_atom(self.display) {
    |                          -----------------------------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
    |                          |
    |                          expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
387 |                                 || event.data.get_long(2) as u64 == MarsWMStateTiled.to_xlib_atom(self.display).into() {
    |                                                                                                                +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:400:73
    |
400 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window) {
    |                                              ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                              |
    |                                              arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
400 |                     if let Some(client_rc) = Self::client_by_window(wm, event.window.into()) {
    |                                                                                     +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:411:28
    |
411 |         if event.window == self.root && !self.xrandr.supported {
    |            ------------    ^^^^^^^^^ expected `u32`, found `u64`
    |            |
    |            expected because this is `u32`
    |
help: you can convert `event.window` from `u32` to `u64`, matching the type of `self.root`
    |
411 |         if u64::from(event.window) == self.root && !self.xrandr.supported {
    |            ++++++++++            +

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:419:67
    |
419 |         let client = wm.clients().find(|c| c.borrow().window() == event.window).cloned();
    |                                            -------------------    ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                            |
    |                                            expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
419 |         let client = wm.clients().find(|c| c.borrow().window() == event.window.into()).cloned();
    |                                                                               +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:420:66
    |
420 |         let inner = wm.clients().find(|c| c.borrow().window() == event.window).map(|c| c.borrow().inner_dimensions());
    |                                           -------------------    ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                           |
    |                                           expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
420 |         let inner = wm.clients().find(|c| c.borrow().window() == event.window.into()).map(|c| c.borrow().inner_dimensions());
    |                                                                              +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:424:47
    |
424 |                 let x = if event.value_mask & (xlib::CWX as u64) != 0 {
    |                                               ^^^^^^^^^^^^^^^^^^ expected `u32`, found `u64`

error[E0277]: no implementation for `u32 & u64`
   --> libmars/src/wm/x11/backend.rs:424:45
    |
424 |                 let x = if event.value_mask & (xlib::CWX as u64) != 0 {
    |                                             ^ no implementation for `u32 & u64`
    |
    = help: the trait `BitAnd<u64>` is not implemented for `u32`
    = help: the following other types implement trait `BitAnd<Rhs>`:
              <u32 as BitAnd>
              <u32 as BitAnd<&u32>>
              <&'a u32 as BitAnd<u32>>
              <&u32 as BitAnd<&u32>>

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:429:47
    |
429 |                 let y = if event.value_mask & (xlib::CWY as u64) != 0 {
    |                                               ^^^^^^^^^^^^^^^^^^ expected `u32`, found `u64`

error[E0277]: no implementation for `u32 & u64`
   --> libmars/src/wm/x11/backend.rs:429:45
    |
429 |                 let y = if event.value_mask & (xlib::CWY as u64) != 0 {
    |                                             ^ no implementation for `u32 & u64`
    |
    = help: the trait `BitAnd<u64>` is not implemented for `u32`
    = help: the following other types implement trait `BitAnd<Rhs>`:
              <u32 as BitAnd>
              <u32 as BitAnd<&u32>>
              <&'a u32 as BitAnd<u32>>
              <&u32 as BitAnd<&u32>>

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:434:51
    |
434 |                 let width = if event.value_mask & (xlib::CWWidth as u64) != 0 {
    |                                                   ^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `u64`

error[E0277]: no implementation for `u32 & u64`
   --> libmars/src/wm/x11/backend.rs:434:49
    |
434 |                 let width = if event.value_mask & (xlib::CWWidth as u64) != 0 {
    |                                                 ^ no implementation for `u32 & u64`
    |
    = help: the trait `BitAnd<u64>` is not implemented for `u32`
    = help: the following other types implement trait `BitAnd<Rhs>`:
              <u32 as BitAnd>
              <u32 as BitAnd<&u32>>
              <&'a u32 as BitAnd<u32>>
              <&u32 as BitAnd<&u32>>

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:439:52
    |
439 |                 let height = if event.value_mask & (xlib::CWHeight as u64) != 0 {
    |                                                    ^^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `u64`

error[E0277]: no implementation for `u32 & u64`
   --> libmars/src/wm/x11/backend.rs:439:50
    |
439 |                 let height = if event.value_mask & (xlib::CWHeight as u64) != 0 {
    |                                                  ^ no implementation for `u32 & u64`
    |
    = help: the trait `BitAnd<u64>` is not implemented for `u32`
    = help: the following other types implement trait `BitAnd<Rhs>`:
              <u32 as BitAnd>
              <u32 as BitAnd<&u32>>
              <&'a u32 as BitAnd<u32>>
              <&u32 as BitAnd<&u32>>

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:502:76
    |
502 |         let client_rc = match wm.clients().find(|c| c.borrow().window() == event.window) {
    |                                                     -------------------    ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                                     |
    |                                                     expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
502 |         let client_rc = match wm.clients().find(|c| c.borrow().window() == event.window.into()) {
    |                                                                                        +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:521:80
    |
521 |         let client_option = if let Some(client_rc) = Self::client_by_frame(wm, event.window) {
    |                                                      ---------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                                      |
    |                                                      arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:661:8
    |
661 |     fn client_by_frame(wm: &(impl WindowManager<Self, A> + ?Sized), frame: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^                                              ----------
help: you can convert a `u32` to a `u64`
    |
521 |         let client_option = if let Some(client_rc) = Self::client_by_frame(wm, event.window.into()) {
    |                                                                                            +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:523:68
    |
523 |         } else if let Some(client_rc) = Self::client_by_window(wm, event.window) {
    |                                         ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                         |
    |                                         arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
523 |         } else if let Some(client_rc) = Self::client_by_window(wm, event.window.into()) {
    |                                                                                +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:536:60
    |
536 |         if let Some(client_rc) = Self::client_by_frame(wm, event.window) {
    |                                  ---------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                  |
    |                                  arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:661:8
    |
661 |     fn client_by_frame(wm: &(impl WindowManager<Self, A> + ?Sized), frame: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^                                              ----------
help: you can convert a `u32` to a `u64`
    |
536 |         if let Some(client_rc) = Self::client_by_frame(wm, event.window.into()) {
    |                                                                        +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:549:52
    |
549 |         let client_opt = Self::client_by_frame(wm, event.window);
    |                          ---------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                          |
    |                          arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:661:8
    |
661 |     fn client_by_frame(wm: &(impl WindowManager<Self, A> + ?Sized), frame: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^                                              ----------
help: you can convert a `u32` to a `u64`
    |
549 |         let client_opt = Self::client_by_frame(wm, event.window.into());
    |                                                                +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:576:80
    |
576 |         let client_option = if let Some(client_rc) = Self::client_by_frame(wm, event.window) {
    |                                                      ---------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                                      |
    |                                                      arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:661:8
    |
661 |     fn client_by_frame(wm: &(impl WindowManager<Self, A> + ?Sized), frame: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^                                              ----------
help: you can convert a `u32` to a `u64`
    |
576 |         let client_option = if let Some(client_rc) = Self::client_by_frame(wm, event.window.into()) {
    |                                                                                            +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:579:40
    |
579 |             Self::client_by_window(wm, event.window)
    |             ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |             |
    |             arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
579 |             Self::client_by_window(wm, event.window.into())
    |                                                    +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:587:27
    |
587 |         if event.event == root || client_rc.borrow().is_reparenting() {
    |            -----------    ^^^^ expected `u32`, found `u64`
    |            |
    |            expected because this is `u32`
    |
help: you can convert `event.event` from `u32` to `u64`, matching the type of `root`
    |
587 |         if u64::from(event.event) == root || client_rc.borrow().is_reparenting() {
    |            ++++++++++           +

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:599:75
    |
599 |         let already_managed = wm.clients().any(|c| c.borrow().window() == event.window);
    |                                                    -------------------    ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                                    |
    |                                                    expected because this is `u64`
    |
help: you can convert a `u32` to a `u64`
    |
599 |         let already_managed = wm.clients().any(|c| c.borrow().window() == event.window.into());
    |                                                                                       +++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:610:61
    |
610 |         if let Some(client_rc) = Self::client_by_window(wm, event.window) {
    |                                  ----------------------     ^^^^^^^^^^^^ expected `u64`, found `u32`
    |                                  |
    |                                  arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/wm/x11/backend.rs:665:8
    |
665 |     fn client_by_window(wm: &(impl WindowManager<Self, A> + ?Sized), window: u64) -> Option<Rc<RefCell<X11Client<A>>>> {
    |        ^^^^^^^^^^^^^^^^                                              -----------
help: you can convert a `u32` to a `u64`
    |
610 |         if let Some(client_rc) = Self::client_by_window(wm, event.window.into()) {
    |                                                                         +++++++

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:639:19
    |
639 |         self.root.x11_replace_property_long(self.display, NetSupported, xlib::XA_ATOM, data)
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:657:16
    |
657 |         window.x11_replace_property_long(self.display, WMState, wm_state_atom, &data);
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:691:19
    |
691 |         self.root.x11_replace_property_long(self.display, NetActiveWindow, xlib::XA_WINDOW, data);
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:700:19
    |
700 |         self.root.x11_replace_property_long(self.display, NetClientList, xlib::XA_WINDOW, data);
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:701:19
    |
701 |         self.root.x11_replace_property_long(self.display, NetClientListStacking, xlib::XA_WINDOW, data_stacked);
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:708:19
    |
708 |         self.root.x11_replace_property_long(self.display, NetCurrentDesktop, xlib::XA_CARDINAL, data);
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:727:19
    |
727 |         self.root.x11_replace_property_long(self.display, NetNumberOfDesktops, xlib::XA_CARDINAL, data);
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_set_text_list_property` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:730:19
    |
730 |         self.root.x11_set_text_list_property(self.display, NetDesktopNames, &names);
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_set_text_list_property`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/backend.rs:734:19
    |
734 |         self.root.x11_replace_property_long(self.display, NetWorkarea, xlib::XA_CARDINAL, data);
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:749:64
    |
749 |             let windows = match xlib::XQueryTree(self.display, self.root,
    |                                 ----------------               ^^^^^^^^^ expected `u32`, found `u64`
    |                                 |
    |                                 arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:593:10
    |
593 |   pub fn XQueryTree (_6: *mut Display, _5: c_ulong, _4: *mut c_ulong, _3: *mut c_ulong, _2: *mut *mut c_ulong, _1: *mut c_uint) -> c_int,
    |          ^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
749 |             let windows = match xlib::XQueryTree(self.display, self.root.try_into().unwrap(),
    |                                                                         ++++++++++++++++++++

error[E0308]: arguments to this function are incorrect
   --> libmars/src/wm/x11/backend.rs:786:27
    |
786 |             let success = xlib::XGrabPointer(self.display, self.root, xlib::False, MOUSEMASK as u32,
    |                           ^^^^^^^^^^^^^^^^^^               --------- expected `u32`, found `u64`
787 |                     xlib::GrabModeAsync, xlib::GrabModeAsync, XLIB_NONE, cursor, xlib::CurrentTime);
    |                                                               --------- expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:326:10
    |
326 |   pub fn XGrabPointer (_9: *mut Display, _8: c_ulong, _7: c_int, _6: c_uint, _5: c_int, _4: c_int, _3: c_ulong, _2: c_ulong, _1: c_ulong)...
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
786 |             let success = xlib::XGrabPointer(self.display, self.root.try_into().unwrap(), xlib::False, MOUSEMASK as u32,
    |                                                                     ++++++++++++++++++++
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
787 |                     xlib::GrabModeAsync, xlib::GrabModeAsync, XLIB_NONE.try_into().unwrap(), cursor, xlib::CurrentTime);
    |                                                                        ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:800:60
    |
800 |                 xlib::XMaskEvent(self.display, MOUSEMASK | xlib::ExposureMask | xlib::SubstructureRedirectMask, event.as_mut_ptr());
    |                                                            ^^^^^^^^^^^^^^^^^^ expected `i64`, found `i32`

error[E0277]: no implementation for `i64 | i32`
   --> libmars/src/wm/x11/backend.rs:800:58
    |
800 |                 xlib::XMaskEvent(self.display, MOUSEMASK | xlib::ExposureMask | xlib::SubstructureRedirectMask, event.as_mut_ptr());
    |                                                          ^ no implementation for `i64 | i32`
    |
    = help: the trait `BitOr<i32>` is not implemented for `i64`
    = help: the following other types implement trait `BitOr<Rhs>`:
              <i64 as BitOr>
              <i64 as BitOr<NonZeroI64>>
              <i64 as BitOr<&i64>>
              <&'a i64 as BitOr<i64>>
              <&i64 as BitOr<&i64>>

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:800:81
    |
800 |                 xlib::XMaskEvent(self.display, MOUSEMASK | xlib::ExposureMask | xlib::SubstructureRedirectMask, event.as_mut_ptr());
    |                                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i64`, found `i32`

error[E0277]: no implementation for `i64 | i32`
   --> libmars/src/wm/x11/backend.rs:800:79
    |
800 |                 xlib::XMaskEvent(self.display, MOUSEMASK | xlib::ExposureMask | xlib::SubstructureRedirectMask, event.as_mut_ptr());
    |                                                                               ^ no implementation for `i64 | i32`
    |
    = help: the trait `BitOr<i32>` is not implemented for `i64`
    = help: the following other types implement trait `BitOr<Rhs>`:
              <i64 as BitOr>
              <i64 as BitOr<NonZeroI64>>
              <i64 as BitOr<&i64>>
              <&'a i64 as BitOr<i64>>
              <&i64 as BitOr<&i64>>

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:800:48
    |
800 |                 xlib::XMaskEvent(self.display, MOUSEMASK | xlib::ExposureMask | xlib::SubstructureRedirectMask, event.as_mut_ptr());
    |                 ----------------               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, found `i64`
    |                 |
    |                 arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:538:10
    |
538 |   pub fn XMaskEvent (_3: *mut Display, _2: c_long, _1: *mut XEvent) -> c_int,
    |          ^^^^^^^^^^
help: you can convert an `i64` to an `i32` and panic if the converted value doesn't fit
    |
800 |                 xlib::XMaskEvent(self.display, (MOUSEMASK | xlib::ExposureMask | xlib::SubstructureRedirectMask).try_into().unwrap(), event.as_mut_ptr());
    |                                                +                                                               +++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:805:59
    |
805 |                     if (event.motion.time - last_time) <= (1000 / MAX_FRAMERATE) {
    |                        -------------------------------    ^^^^^^^^^^^^^^^^^^^^^^ expected `u32`, found `u64`
    |                        |
    |                        expected because this is `u32`
    |
help: you can convert `(event.motion.time - last_time)` from `u32` to `u64`, matching the type of `(1000 / MAX_FRAMERATE)`
    |
805 |                     if u64::from((event.motion.time - last_time)) <= (1000 / MAX_FRAMERATE) {
    |                        ++++++++++                               +

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:877:50
    |
877 |             if xlib::XQueryPointer(self.display, self.root, &mut dummy, &mut dummy, &mut x, &mut y,
    |                -------------------               ^^^^^^^^^ expected `u32`, found `u64`
    |                |
    |                arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:590:10
    |
590 |   pub fn XQueryPointer (_9: *mut Display, _8: c_ulong, _7: *mut c_ulong, _6: *mut c_ulong, _5: *mut c_int, _4: *mut c_int, _3: *mut c_int...
    |          ^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
877 |             if xlib::XQueryPointer(self.display, self.root.try_into().unwrap(), &mut dummy, &mut dummy, &mut x, &mut y,
    |                                                           ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:893:48
    |
893 |             xlib::XSetInputFocus(self.display, client.window(), xlib::RevertToPointerRoot, xlib::CurrentTime);
    |             --------------------               ^^^^^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:675:10
    |
675 |   pub fn XSetInputFocus (_4: *mut Display, _3: c_ulong, _2: c_int, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
893 |             xlib::XSetInputFocus(self.display, client.window().try_into().unwrap(), xlib::RevertToPointerRoot, xlib::CurrentTime);
    |                                                               ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/backend.rs:906:49
    |
906 |             xlib::XWarpPointer(self.display, 0, self.root, 0, 0, 0, 0, x, y);
    |             ------------------                  ^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:761:10
    |
761 |   pub fn XWarpPointer (_9: *mut Display, _8: c_ulong, _7: c_ulong, _6: c_int, _5: c_int, _4: c_uint, _3: c_uint, _2: c_int, _1: c_int) ->...
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
906 |             xlib::XWarpPointer(self.display, 0, self.root.try_into().unwrap(), 0, 0, 0, 0, x, y);
    |                                                          ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:54:61
    |
54  |             let frame = xlib:: XCreateSimpleWindow(display, root, x, y, w, h, 0, 0, 0);
    |                         --------------------------          ^^^^ expected `u32`, found `u64`
    |                         |
    |                         arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:167:10
    |
167 |   pub fn XCreateSimpleWindow (_9: *mut Display, _8: c_ulong, _7: c_int, _6: c_int, _5: c_uint, _4: c_uint, _3: c_uint, _2: c_ulong, _1: c...
    |          ^^^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
54  |             let frame = xlib:: XCreateSimpleWindow(display, root.try_into().unwrap(), x, y, w, h, 0, 0, 0);
    |                                                                 ++++++++++++++++++++

error[E0308]: mismatched types
  --> libmars/src/wm/x11/client.rs:80:28
   |
80 |             display, root, window, frame,
   |                            ^^^^^^ expected `u64`, found `u32`
   |
help: you can convert a `u32` to a `u64`
   |
80 |             display, root, window: window.into(), frame,
   |                            +++++++       +++++++

error[E0308]: mismatched types
  --> libmars/src/wm/x11/client.rs:80:36
   |
80 |             display, root, window, frame,
   |                                    ^^^^^ expected `u64`, found `u32`
   |
help: you can convert a `u32` to a `u64`
   |
80 |             display, root, window, frame: frame.into(),
   |                                    ++++++      +++++++

error[E0599]: no method named `x11_wm_normal_hints` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:118:53
    |
118 |         if let Ok((hints, _supplied)) = self.window.x11_wm_normal_hints(self.display) {
    |                                                     ^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_wm_normal_hints`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:131:45
    |
103 | impl<A: PartialEq> X11Client<A> {
    |      - this type parameter
...
131 |             if hints.flags & xlib::PSize != 0 {
    |                                             ^ expected type parameter `A`, found integer
    |
    = note: expected type parameter `A`
                         found type `{integer}`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:135:49
    |
103 | impl<A: PartialEq> X11Client<A> {
    |      - this type parameter
...
135 |             if hints.flags & xlib::PBaseSize != 0 {
    |                                                 ^ expected type parameter `A`, found integer
    |
    = note: expected type parameter `A`
                         found type `{integer}`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:138:55
    |
103 | impl<A: PartialEq> X11Client<A> {
    |      - this type parameter
...
138 |             } else if hints.flags & xlib::PMinSize != 0 {
    |                                                       ^ expected type parameter `A`, found integer
    |
    = note: expected type parameter `A`
                         found type `{integer}`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:143:50
    |
103 | impl<A: PartialEq> X11Client<A> {
    |      - this type parameter
...
143 |             if hints.flags & xlib::PResizeInc != 0 {
    |                                                  ^ expected type parameter `A`, found integer
    |
    = note: expected type parameter `A`
                         found type `{integer}`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:148:48
    |
103 | impl<A: PartialEq> X11Client<A> {
    |      - this type parameter
...
148 |             if hints.flags & xlib::PMaxSize != 0 {
    |                                                ^ expected type parameter `A`, found integer
    |
    = note: expected type parameter `A`
                         found type `{integer}`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:153:48
    |
103 | impl<A: PartialEq> X11Client<A> {
    |      - this type parameter
...
153 |             if hints.flags & xlib::PMinSize != 0 {
    |                                                ^ expected type parameter `A`, found integer
    |
    = note: expected type parameter `A`
                         found type `{integer}`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:158:47
    |
103 | impl<A: PartialEq> X11Client<A> {
    |      - this type parameter
...
158 |             if hints.flags & xlib::PAspect != 0 {
    |                                               ^ expected type parameter `A`, found integer
    |
    = note: expected type parameter `A`
                         found type `{integer}`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:243:16
    |
242 |     pub fn title_window(&self) -> Option<u64> {
    |                                   ----------- expected `std::option::Option<u64>` because of return type
243 |         return self.title_widget.as_ref().map(|w| w.wid());
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Option<u64>`, found `Option<u32>`
    |
    = note: expected enum `std::option::Option<u64>`
               found enum `std::option::Option<u32>`

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:254:59
    |
254 |         let mut widget = X11TextWidget::new(self.display, self.frame, 0, 0, hpad, vpad,
    |                          ------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |                          |
    |                          arguments to this function are incorrect
    |
note: associated function defined here
   --> libmars/src/draw/x11/widget.rs:169:12
    |
169 |     pub fn new(display: *mut xlib::Display, parent: xlib::Window, x: i32, y: i32, hpad: u32, vpad: u32,
    |            ^^^                              --------------------
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
254 |         let mut widget = X11TextWidget::new(self.display, self.frame.try_into().unwrap(), 0, 0, hpad, vpad,
    |                                                                     ++++++++++++++++++++

error[E0308]: arguments to this function are incorrect
   --> libmars/src/wm/x11/client.rs:293:17
    |
293 |                 xlib::XGrabButton(self.display, button, modifiers, window, xlib::False, mask,
    |                 ^^^^^^^^^^^^^^^^^                                  ------ expected `u32`, found `u64`
294 |                                   xlib::GrabModeAsync, xlib::GrabModeAsync, window, 0);
    |                                                                             ------ expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:323:10
    |
323 |   pub fn XGrabButton (_10: *mut Display, _9: c_uint, _8: c_uint, _7: c_ulong, _6: c_int, _5: c_uint, _4: c_int, _3: c_int, _2: c_ulong, _...
    |          ^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
293 |                 xlib::XGrabButton(self.display, button, modifiers, window.try_into().unwrap(), xlib::False, mask,
    |                                                                          ++++++++++++++++++++
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
294 |                                   xlib::GrabModeAsync, xlib::GrabModeAsync, window.try_into().unwrap(), 0);
    |                                                                                   ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:303:73
    |
303 |                 xlib::XGrabKey(self.display, keycode.into(), modifiers, self.frame, xlib::False,
    |                 -------------- arguments to this function are incorrect ^^^^^^^^^^ expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:324:10
    |
324 |   pub fn XGrabKey (_7: *mut Display, _6: c_int, _5: c_uint, _4: c_ulong, _3: c_int, _2: c_int, _1: c_int) -> c_int,
    |          ^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
303 |                 xlib::XGrabKey(self.display, keycode.into(), modifiers, self.frame.try_into().unwrap(), xlib::False,
    |                                                                                   ++++++++++++++++++++

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:327:21
    |
327 |         self.window.x11_replace_property_long(self.display, NetWMDesktop, xlib::XA_CARDINAL, data);
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:341:21
    |
341 |         self.window.x11_replace_property_long(self.display, NetWMDesktop, xlib::XA_CARDINAL, data);
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_attributes` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:356:33
    |
356 |             let fa = self.frame.x11_attributes(self.display).unwrap();
    |                                 ^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_attributes`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_attributes` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:357:32
    |
357 |             let ra = self.root.x11_attributes(self.display).unwrap();
    |                                ^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_attributes`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:359:46
    |
359 |             xlib::XSelectInput(self.display, self.root, ra.your_event_mask & !xlib::SubstructureNotifyMask);
    |             ------------------               ^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:649:10
    |
649 |   pub fn XSelectInput (_3: *mut Display, _2: c_ulong, _1: c_long) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
359 |             xlib::XSelectInput(self.display, self.root.try_into().unwrap(), ra.your_event_mask & !xlib::SubstructureNotifyMask);
    |                                                       ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:360:46
    |
360 |             xlib::XSelectInput(self.display, self.frame, fa.your_event_mask & !xlib::StructureNotifyMask & !xlib::SubstructureNotifyMask);
    |             ------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:649:10
    |
649 |   pub fn XSelectInput (_3: *mut Display, _2: c_ulong, _1: c_long) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
360 |             xlib::XSelectInput(self.display, self.frame.try_into().unwrap(), fa.your_event_mask & !xlib::StructureNotifyMask & !xlib::SubstructureNotifyMask);
    |                                                        ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:361:46
    |
361 |             xlib::XUnmapWindow(self.display, self.frame);
    |             ------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:745:10
    |
745 |   pub fn XUnmapWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
361 |             xlib::XUnmapWindow(self.display, self.frame.try_into().unwrap());
    |                                                        ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:362:46
    |
362 |             xlib::XUnmapWindow(self.display, self.window);
    |             ------------------               ^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:745:10
    |
745 |   pub fn XUnmapWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
362 |             xlib::XUnmapWindow(self.display, self.window.try_into().unwrap());
    |                                                         ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:365:46
    |
365 |             xlib::XSelectInput(self.display, self.root, ra.your_event_mask);
    |             ------------------               ^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:649:10
    |
649 |   pub fn XSelectInput (_3: *mut Display, _2: c_ulong, _1: c_long) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
365 |             xlib::XSelectInput(self.display, self.root.try_into().unwrap(), ra.your_event_mask);
    |                                                       ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:366:46
    |
366 |             xlib::XSelectInput(self.display, self.frame, fa.your_event_mask);
    |             ------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:649:10
    |
649 |   pub fn XSelectInput (_3: *mut Display, _2: c_ulong, _1: c_long) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
366 |             xlib::XSelectInput(self.display, self.frame.try_into().unwrap(), fa.your_event_mask);
    |                                                        ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:422:51
    |
422 |             xlib::XMoveResizeWindow(self.display, self.frame, self.x, self.y,
    |             -----------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:554:10
    |
554 |   pub fn XMoveResizeWindow (_6: *mut Display, _5: c_ulong, _4: c_int, _3: c_int, _2: c_uint, _1: c_uint) -> c_int,
    |          ^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
422 |             xlib::XMoveResizeWindow(self.display, self.frame.try_into().unwrap(), self.x, self.y,
    |                                                             ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:424:51
    |
424 |             xlib::XMoveResizeWindow(self.display, self.window,
    |             -----------------------               ^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:554:10
    |
554 |   pub fn XMoveResizeWindow (_6: *mut Display, _5: c_ulong, _4: c_int, _3: c_int, _2: c_uint, _1: c_uint) -> c_int,
    |          ^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
424 |             xlib::XMoveResizeWindow(self.display, self.window.try_into().unwrap(),
    |                                                              ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:440:46
    |
440 |             xlib::XRaiseWindow(self.display, self.frame);
    |             ------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:594:10
    |
594 |   pub fn XRaiseWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
440 |             xlib::XRaiseWindow(self.display, self.frame.try_into().unwrap());
    |                                                        ++++++++++++++++++++

error[E0308]: arguments to this function are incorrect
   --> libmars/src/wm/x11/client.rs:450:13
    |
450 |             xlib::XSetWindowBackground(self.display, self.frame, color);
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^               ----------  ----- expected `u32`, found `u64`
    |                                                      |
    |                                                      expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:697:10
    |
697 |   pub fn XSetWindowBackground (_3: *mut Display, _2: c_ulong, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
450 |             xlib::XSetWindowBackground(self.display, self.frame.try_into().unwrap(), color);
    |                                                                ++++++++++++++++++++
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
450 |             xlib::XSetWindowBackground(self.display, self.frame, color.try_into().unwrap());
    |                                                                       ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:451:46
    |
451 |             xlib::XClearWindow(self.display, self.frame);
    |             ------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:72:10
    |
72  |   pub fn XClearWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
451 |             xlib::XClearWindow(self.display, self.frame.try_into().unwrap());
    |                                                        ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:488:55
    |
488 |             xlib::XSetWindowBorderWidth(self.display, self.window, self.ibw);
    |             ---------------------------               ^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:701:10
    |
701 |   pub fn XSetWindowBorderWidth (_3: *mut Display, _2: c_ulong, _1: c_uint) -> c_int,
    |          ^^^^^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
488 |             xlib::XSetWindowBorderWidth(self.display, self.window.try_into().unwrap(), self.ibw);
    |                                                                  ++++++++++++++++++++

error[E0308]: arguments to this function are incorrect
   --> libmars/src/wm/x11/client.rs:495:13
    |
495 |             xlib::XSetWindowBorder(self.display, self.window, color);
    |             ^^^^^^^^^^^^^^^^^^^^^^               -----------  ----- expected `u32`, found `u64`
    |                                                  |
    |                                                  expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:699:10
    |
699 |   pub fn XSetWindowBorder (_3: *mut Display, _2: c_ulong, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
495 |             xlib::XSetWindowBorder(self.display, self.window.try_into().unwrap(), color);
    |                                                             ++++++++++++++++++++
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
495 |             xlib::XSetWindowBorder(self.display, self.window, color.try_into().unwrap());
    |                                                                    ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:503:55
    |
503 |             xlib::XSetWindowBorderWidth(self.display, self.frame, self.obw);
    |             ---------------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:701:10
    |
701 |   pub fn XSetWindowBorderWidth (_3: *mut Display, _2: c_ulong, _1: c_uint) -> c_int,
    |          ^^^^^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
503 |             xlib::XSetWindowBorderWidth(self.display, self.frame.try_into().unwrap(), self.obw);
    |                                                                 ++++++++++++++++++++

error[E0308]: arguments to this function are incorrect
   --> libmars/src/wm/x11/client.rs:510:13
    |
510 |             xlib::XSetWindowBorder(self.display, self.frame, color);
    |             ^^^^^^^^^^^^^^^^^^^^^^               ----------  ----- expected `u32`, found `u64`
    |                                                  |
    |                                                  expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:699:10
    |
699 |   pub fn XSetWindowBorder (_3: *mut Display, _2: c_ulong, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
510 |             xlib::XSetWindowBorder(self.display, self.frame.try_into().unwrap(), color);
    |                                                            ++++++++++++++++++++
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
510 |             xlib::XSetWindowBorder(self.display, self.frame, color.try_into().unwrap());
    |                                                                   ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:526:44
    |
526 |             xlib::XMapWindow(self.display, self.window);
    |             ----------------               ^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:537:10
    |
537 |   pub fn XMapWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
526 |             xlib::XMapWindow(self.display, self.window.try_into().unwrap());
    |                                                       ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:527:44
    |
527 |             xlib::XMapWindow(self.display, self.frame);
    |             ----------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:537:10
    |
537 |   pub fn XMapWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
527 |             xlib::XMapWindow(self.display, self.frame.try_into().unwrap());
    |                                                      ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:529:48
    |
529 |             xlib::XSetInputFocus(self.display, self.frame, xlib::RevertToPointerRoot, xlib::CurrentTime);
    |             --------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:675:10
    |
675 |   pub fn XSetInputFocus (_4: *mut Display, _3: c_ulong, _2: c_int, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
529 |             xlib::XSetInputFocus(self.display, self.frame.try_into().unwrap(), xlib::RevertToPointerRoot, xlib::CurrentTime);
    |                                                          ++++++++++++++++++++

error[E0599]: no method named `x11_wm_name` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:536:21
    |
536 |         self.window.x11_wm_name(self.display).unwrap_or_default()
    |                     ^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_wm_name`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:561:49
    |
561 |             xlib::XWarpPointer(self.display, 0, self.frame, 0, 0, 0, 0, x, y);
    |             ------------------                  ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:761:10
    |
761 |   pub fn XWarpPointer (_9: *mut Display, _8: c_ulong, _7: c_ulong, _6: c_int, _5: c_int, _4: c_uint, _3: c_uint, _2: c_int, _1: c_int) ->...
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
561 |             xlib::XWarpPointer(self.display, 0, self.frame.try_into().unwrap(), 0, 0, 0, 0, x, y);
    |                                                           ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:570:49
    |
570 |             xlib::XWarpPointer(self.display, 0, self.frame, 0, 0, 0, 0, x, y);
    |             ------------------                  ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:761:10
    |
761 |   pub fn XWarpPointer (_9: *mut Display, _8: c_ulong, _7: c_ulong, _6: c_int, _5: c_int, _4: c_uint, _3: c_uint, _2: c_int, _1: c_int) ->...
    |          ^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
570 |             xlib::XWarpPointer(self.display, 0, self.frame.try_into().unwrap(), 0, 0, 0, 0, x, y);
    |                                                           ++++++++++++++++++++

error[E0308]: arguments to this function are incorrect
   --> libmars/src/wm/x11/client.rs:621:13
    |
621 |             xlib::XReparentWindow(self.display, self.window, self.root, self.orig_pos.0, self.orig_pos.1);
    |             ^^^^^^^^^^^^^^^^^^^^^               -----------  --------- expected `u32`, found `u64`
    |                                                 |
    |                                                 expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:607:10
    |
607 |   pub fn XReparentWindow (_5: *mut Display, _4: c_ulong, _3: c_ulong, _2: c_int, _1: c_int) -> c_int,
    |          ^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
621 |             xlib::XReparentWindow(self.display, self.window.try_into().unwrap(), self.root, self.orig_pos.0, self.orig_pos.1);
    |                                                            ++++++++++++++++++++
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
621 |             xlib::XReparentWindow(self.display, self.window, self.root.try_into().unwrap(), self.orig_pos.0, self.orig_pos.1);
    |                                                                       ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:623:48
    |
623 |                 xlib::XMapWindow(self.display, self.window);
    |                 ----------------               ^^^^^^^^^^^ expected `u32`, found `u64`
    |                 |
    |                 arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:537:10
    |
537 |   pub fn XMapWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
623 |                 xlib::XMapWindow(self.display, self.window.try_into().unwrap());
    |                                                           ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:625:52
    |
625 |             xlib::XRemoveFromSaveSet(self.display, self.window);
    |             ------------------------               ^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:604:10
    |
604 |   pub fn XRemoveFromSaveSet (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
625 |             xlib::XRemoveFromSaveSet(self.display, self.window.try_into().unwrap());
    |                                                               ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:627:48
    |
627 |             xlib::XDestroyWindow(self.display, self.frame);
    |             --------------------               ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:190:10
    |
190 |   pub fn XDestroyWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
627 |             xlib::XDestroyWindow(self.display, self.frame.try_into().unwrap());
    |                                                          ++++++++++++++++++++

error[E0599]: no method named `x11_attributes` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:642:21
    |
642 |         self.window.x11_attributes(display)
    |                     ^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_attributes`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_class_hint` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:646:21
    |
646 |         self.window.x11_class_hint(display)
    |                     ^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_class_hint`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_close` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:651:21
    |
651 |         self.window.x11_close(display, error_handler);
    |                     ^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_close`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0308]: arguments to this function are incorrect
   --> libmars/src/wm/x11/client.rs:658:13
    |
658 |             xlib::XReparentWindow(display, self.window, self.root, 0, 0);
    |             ^^^^^^^^^^^^^^^^^^^^^          -----------  --------- expected `u32`, found `u64`
    |                                            |
    |                                            expected `u32`, found `u64`
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:607:10
    |
607 |   pub fn XReparentWindow (_5: *mut Display, _4: c_ulong, _3: c_ulong, _2: c_int, _1: c_int) -> c_int,
    |          ^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
658 |             xlib::XReparentWindow(display, self.window.try_into().unwrap(), self.root, 0, 0);
    |                                                       ++++++++++++++++++++
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
658 |             xlib::XReparentWindow(display, self.window, self.root.try_into().unwrap(), 0, 0);
    |                                                                  ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:659:47
    |
659 |             xlib::XRemoveFromSaveSet(display, self.window);
    |             ------------------------          ^^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:604:10
    |
604 |   pub fn XRemoveFromSaveSet (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
659 |             xlib::XRemoveFromSaveSet(display, self.window.try_into().unwrap());
    |                                                          ++++++++++++++++++++

error[E0308]: mismatched types
   --> libmars/src/wm/x11/client.rs:660:43
    |
660 |             xlib::XDestroyWindow(display, self.frame);
    |             --------------------          ^^^^^^^^^^ expected `u32`, found `u64`
    |             |
    |             arguments to this function are incorrect
    |
note: function defined here
   --> /pbulk/work/wm/marswm/work/vendor/x11-2.21.0/src/xlib.rs:190:10
    |
190 |   pub fn XDestroyWindow (_2: *mut Display, _1: c_ulong) -> c_int,
    |          ^^^^^^^^^^^^^^
help: you can convert a `u64` to a `u32` and panic if the converted value doesn't fit
    |
660 |             xlib::XDestroyWindow(display, self.frame.try_into().unwrap());
    |                                                     ++++++++++++++++++++

error[E0599]: no method named `x11_get_state` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:665:21
    |
665 |         self.window.x11_get_state(display)
    |                     ^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_get_state`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_get_text_list_property` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:669:21
    |
669 |         self.window.x11_get_text_list_property(display, property)
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_get_text_list_property`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_net_wm_state` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:673:21
    |
673 |         self.window.x11_net_wm_state(display)
    |                     ^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_net_wm_state`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_net_wm_state_add` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:677:21
    |
677 |         self.window.x11_net_wm_state_add(display, state);
    |                     ^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_net_wm_state_add`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_net_wm_state_remove` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:681:21
    |
681 |         self.window.x11_net_wm_state_remove(display, state);
    |                     ^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_net_wm_state_remove`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_read_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:685:21
    |
685 |         self.window.x11_read_property_long(display, property, prop_type)
    |                     ^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_read_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_read_property_string` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:689:21
    |
689 |         self.window.x11_read_property_string(display, property)
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_read_property_string`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_replace_property_long` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:693:21
    |
693 |         self.window.x11_replace_property_long(display, property, prop_type, data);
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_replace_property_long`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_set_state` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:697:21
    |
697 |         self.window.x11_set_state(display, state);
    |                     ^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_set_state`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_set_text_list_property` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:701:21
    |
701 |         self.window.x11_set_text_list_property(display, property, list);
    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_set_text_list_property`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_dimensions` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:705:20
    |
705 |         self.frame.x11_dimensions(display)
    |                    ^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_dimensions`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_geometry` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:709:20
    |
709 |         self.frame.x11_geometry(display)
    |                    ^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_geometry`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_get_window_types` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:713:21
    |
713 |         self.window.x11_get_window_types(display)
    |                     ^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_get_window_types`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_is_transient_for` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:717:21
    |
717 |         self.window.x11_is_transient_for(display)
    |                     ^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_is_transient_for`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_map` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:721:21
    |
721 |         self.window.x11_map(display);
    |                     ^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_map`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_message` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:725:21
    |
725 |         self.window.x11_message(display, msg_type, msg_format, msg_data)
    |                     ^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_message`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_supports_protocol` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:729:21
    |
729 |         self.window.x11_supports_protocol(display, protocol)
    |                     ^^^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_supports_protocol`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_unmap` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:733:21
    |
733 |         self.window.x11_unmap(display);
    |                     ^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_unmap`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_wm_protocols` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:737:21
    |
737 |         self.window.x11_wm_protocols(display)
    |                     ^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_wm_protocols`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_wm_name` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:741:21
    |
741 |         self.window.x11_wm_name(display)
    |                     ^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_wm_name`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

error[E0599]: no method named `x11_wm_normal_hints` found for type `u64` in the current scope
   --> libmars/src/wm/x11/client.rs:745:21
    |
745 |         self.window.x11_wm_normal_hints(display)
    |                     ^^^^^^^^^^^^^^^^^^^ method not found in `u64`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `window::X11Window` defines an item `x11_wm_normal_hints`, perhaps you need to implement it
   --> libmars/src/common/x11/window.rs:14:1
    |
14  | pub trait X11Window {
    | ^^^^^^^^^^^^^^^^^^^

Some errors have detailed explanations: E0277, E0308, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `libmars` (lib) due to 157 previous errors
*** Error code 101

Stop.
make[1]: stopped in /usr/pkgsrc/wm/marswm
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/wm/marswm