=> 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 quote v1.0.33
   Compiling syn v2.0.41
   Compiling serde v1.0.193
   Compiling pkg-config v0.3.27
   Compiling libc v0.2.151
   Compiling utf8parse v0.2.1
   Compiling anstyle-parse v0.2.3
   Compiling x11 v2.21.0
   Compiling serde_derive v1.0.193
   Compiling anstyle-query v1.0.2
   Compiling hashbrown v0.14.3
   Compiling colorchoice v1.0.0
   Compiling equivalent v1.0.1
   Compiling anstyle v1.0.4
   Compiling anstream v0.6.5
   Compiling indexmap v2.1.0
   Compiling strsim v0.10.0
   Compiling itoa v1.0.10
   Compiling ryu v1.0.16
   Compiling clap_lex v0.6.0
   Compiling heck v0.4.1
   Compiling unsafe-libyaml v0.2.10
   Compiling serde_yaml v0.9.27
   Compiling clap_derive v4.4.7
   Compiling clap_builder v4.4.11
   Compiling xdg v2.5.2
   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