update bar-ws-monitor to work again

This commit is contained in:
Schrottkatze 2025-06-24 17:13:43 +02:00
parent 7f8869f14a
commit b5da9c89ad
Signed by: schrottkatze
SSH key fingerprint: SHA256:FPOYVeBy3QP20FEM42uWF1Wa/Qhlk+L3S2+Wuau/Auo
3 changed files with 20 additions and 9 deletions

4
Cargo.lock generated
View file

@ -689,9 +689,9 @@ dependencies = [
[[package]]
name = "niri-ipc"
version = "25.2.0"
version = "25.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01515d0a7e73f1f3bd0347100542c4c3f6ebc280688add12e7ed2af4c35af4fb"
checksum = "dc3e165f7854b2f83054a2e8f7024baa49666ad25cdb95b8fb9fd17c48045605"
dependencies = [
"serde",
"serde_json",

View file

@ -6,4 +6,4 @@ edition = "2021"
[dependencies]
serde = { version = "1.0.209", features = [ "derive" ] }
serde_json = "1.0.127"
niri-ipc = "25.2.0"
niri-ipc = "25.5.1"

View file

@ -21,13 +21,24 @@ const COLORS: [[&str; 2]; 7] = [
fn main() -> Result<(), std::io::Error> {
let mut state = EventStreamState::default();
let sock = Socket::connect()?;
let mut func = sock.send(Request::EventStream).and_then(|it| match it {
(Ok(Response::Handled), func) => Ok(func),
_ => unreachable!(),
})?;
let mut sock = Socket::connect()?;
// let mut func = sock.send(Request::EventStream).and_then(|it| match it {
// (Ok(Response::Handled), func) => Ok(func),
// _ => unreachable!(),
// })?;
// let mut func = sock.send(Request::EventStream).and_then(|it| match it {
// Ok(Response::Handled) => {}
// Ok(_) => panic!("???"),
// Err(e) => panic!("e"),
// });
let r = sock.send(Request::EventStream)?;
match r {
Ok(Response::Handled) => {}
e => panic!("unexpected {e:?}"),
}
while let Ok(ev) = (func)() {
let mut receiver = sock.read_events();
while let Ok(ev) = receiver() {
// check only relevant later, only done here to avoid a clone
let ev_is_ws_related = matches!(
&ev,