remove x11rb_protocol, use re-exports from x11rb

main
Zynh0722 2024-01-31 17:10:50 -08:00
parent c220ea2a16
commit 5b58d8aef3
3 changed files with 4 additions and 5 deletions

1
Cargo.lock generated
View File

@ -59,7 +59,6 @@ dependencies = [
"anyhow",
"as-raw-xcb-connection",
"x11rb",
"x11rb-protocol",
]
[[package]]

View File

@ -8,5 +8,4 @@ edition = "2021"
[dependencies]
as-raw-xcb-connection = "1.0.1"
x11rb = { version = "0.13.0", features = ["extra-traits", "allow-unsafe-code"] }
x11rb-protocol = { version = "0.13.0", features = ["std"] }
anyhow = "1.0.79"

View File

@ -3,18 +3,19 @@ use std::process::exit;
use anyhow::anyhow;
use x11rb::{
connect, connection::Connection, protocol::xproto::ConnectionExt, xcb_ffi::ReplyError,
connect, connection::Connection, protocol::xproto::{ConnectionExt, Screen},
};
use x11rb_protocol::protocol::xproto::{ChangeWindowAttributesAux, EventMask, Screen};
fn become_wm<C: Connection>(conn: &C, screen: &Screen) -> anyhow::Result<()> {
use x11rb::{protocol::xproto::{ChangeWindowAttributesAux, EventMask}, xcb_ffi::ReplyError};
let change = ChangeWindowAttributesAux::default()
.event_mask(EventMask::SUBSTRUCTURE_REDIRECT | EventMask::SUBSTRUCTURE_NOTIFY);
let res = conn.change_window_attributes(screen.root, &change)?.check();
if let Err(ReplyError::X11Error(ref error)) = res {
use x11rb_protocol::protocol::ErrorKind;
use x11rb::protocol::ErrorKind;
if error.error_kind == ErrorKind::Access {
eprintln!("rswm: another window manager is already running");