summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxVerevkin <maxxverrr@gmail.com>2023-05-18 17:21:50 +0300
committerMaxVerevkin <maxxverrr@gmail.com>2023-05-18 17:21:50 +0300
commit6635606f19fb4650dd8dda3d71cb6ad73aeb4b9d (patch)
tree9a742b01114b8fd59c6f44a02663a9cabb9f41d5
parentfad73dba9f2351177996c352d8385904608535d5 (diff)
downloadi3bar-mango-6635606f19fb4650dd8dda3d71cb6ad73aeb4b9d.tar.gz
update wayrs-utils
-rw-r--r--Cargo.lock21
-rw-r--r--Cargo.toml2
-rw-r--r--src/protocol.rs1
-rw-r--r--src/state.rs12
4 files changed, 19 insertions, 17 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 71be33f..87afca5 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -442,9 +442,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8"
dependencies = [
"unicode-ident",
]
@@ -683,9 +683,9 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wayrs-client"
-version = "0.10.3"
+version = "0.10.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6df29eb1fab7b25c629f5e7c818e4509643102e1e909bdfcf4b342e0056ef552"
+checksum = "8efff4d6e2a63569d0c26cc6213523d5cf633abc5f43298265efddc4f084692b"
dependencies = [
"nix",
"thiserror",
@@ -694,18 +694,18 @@ dependencies = [
[[package]]
name = "wayrs-protocols"
-version = "0.10.4"
+version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c520c3952cdd3b1455d7266754de5b8ea4634b09fd6ba5d5c40bdd0a6cb95bf"
+checksum = "b9a43b66e8242067ed8b3f5aa8d546d1098697d16f578878b9e90c2022ddbba2"
dependencies = [
"wayrs-client",
]
[[package]]
name = "wayrs-scanner"
-version = "0.10.1"
+version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d850152fda7745af06e54f942fba8f2e50d1c80d3ee2006f3b059beef330028"
+checksum = "4a9a9c400010b242c478a119bffb9cacc02ddffac2e48e1232c2e16afab71691"
dependencies = [
"convert_case",
"proc-macro2",
@@ -716,14 +716,15 @@ dependencies = [
[[package]]
name = "wayrs-utils"
-version = "0.5.0"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e4f07b0947176066dd83cef1b0e855003d0ec5bc8914c358a8a5633e6cb34a9"
+checksum = "50eff17f453e530f0fefd22355c6b3e97dc85b80425f556c63c541ac31928041"
dependencies = [
"memmap2",
"shmemfdrs",
"thiserror",
"wayrs-client",
+ "wayrs-protocols",
"xcursor",
]
diff --git a/Cargo.toml b/Cargo.toml
index 928e8b9..68e91ec 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -19,7 +19,7 @@ signal-hook = { version = "0.3", default-features = false }
nix = { version = "0.26", default-features = false, features = ["fs", "poll"] }
wayrs-client = "0.10"
-wayrs-utils = { version = "0.5.0", features = ["cursor", "shm_alloc", "seats"] }
+wayrs-utils = { version = "0.6.0", features = ["cursor", "shm_alloc", "seats"] }
wayrs-protocols = { version = "0.10", features = ["wlr-layer-shell-unstable-v1", "viewporter", "fractional-scale-v1"] }
[profile.release]
diff --git a/src/protocol.rs b/src/protocol.rs
index 8e9a217..5b30463 100644
--- a/src/protocol.rs
+++ b/src/protocol.rs
@@ -1,4 +1,3 @@
-use wayrs_client;
pub use wayrs_client::protocol::*;
pub use wayrs_protocols::fractional_scale_v1::*;
pub use wayrs_protocols::viewporter::*;
diff --git a/src/state.rs b/src/state.rs
index de99179..6a1f701 100644
--- a/src/state.rs
+++ b/src/state.rs
@@ -8,7 +8,7 @@ use std::os::fd::{AsRawFd, RawFd};
use wayrs_client::connection::Connection;
use wayrs_client::global::{Global, GlobalExt, Globals, GlobalsExt};
use wayrs_client::proxy::Proxy;
-use wayrs_utils::cursor::{CursorImage, CursorTheme, ThemedPointer};
+use wayrs_utils::cursor::{CursorImage, CursorShape, CursorTheme, ThemedPointer};
use wayrs_utils::seats::{SeatHandler, Seats};
use wayrs_utils::shm_alloc::ShmAlloc;
@@ -31,6 +31,7 @@ pub struct State {
pub shared_state: SharedState,
+ cursor_theme: CursorTheme,
default_cursor: Option<CursorImage>,
}
@@ -61,9 +62,9 @@ impl State {
conn.add_registry_cb(wl_registry_cb);
- let cursor_theme = CursorTheme::new(None, None);
+ let cursor_theme = CursorTheme::new(conn, globals);
let default_cursor = cursor_theme
- .get_image("default")
+ .get_image(CursorShape::Default)
.map_err(|e| error = Err(e.into()))
.ok();
@@ -87,6 +88,7 @@ impl State {
wm_info_provider: wm_info_provider::bind_wayland(conn, globals, wm_info_cb),
},
+ cursor_theme,
default_cursor,
};
@@ -219,7 +221,7 @@ impl SeatHandler for State {
self.pointers.push(Pointer {
seat,
pointer,
- themed_pointer: ThemedPointer::new(conn, pointer, self.wl_compositor),
+ themed_pointer: self.cursor_theme.get_themed_pointer(conn, pointer),
current_surface: None,
x: 0.0,
y: 0.0,
@@ -232,8 +234,8 @@ impl SeatHandler for State {
fn pointer_removed(&mut self, conn: &mut Connection<Self>, seat: WlSeat) {
let pointer_i = self.pointers.iter().position(|p| p.seat == seat).unwrap();
let pointer = self.pointers.swap_remove(pointer_i);
- pointer.pointer.release(conn);
pointer.themed_pointer.destroy(conn);
+ pointer.pointer.release(conn);
}
}