From 33520a46b510a13cc2a64d1f34e21cd4c50be654 Mon Sep 17 00:00:00 2001 From: LGUG2Z Date: Sun, 18 Sep 2022 08:30:00 -0700 Subject: [PATCH] fix(cli): open resp sock before sending query This commit ensures that a response socket is opened before sending a query request from komorebic to komorebi. Additionally, I have taken this opportunity to ensure that all socket files are created in DATA_DIR. fix #218 --- komorebi/src/process_command.rs | 10 +++++----- komorebic/src/main.rs | 14 ++++++++------ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/komorebi/src/process_command.rs b/komorebi/src/process_command.rs index 84c43310..416df9ea 100644 --- a/komorebi/src/process_command.rs +++ b/komorebi/src/process_command.rs @@ -49,9 +49,9 @@ use crate::BORDER_ENABLED; use crate::BORDER_HWND; use crate::BORDER_OVERFLOW_IDENTIFIERS; use crate::CUSTOM_FFM; +use crate::DATA_DIR; use crate::FLOAT_IDENTIFIERS; use crate::HIDING_BEHAVIOUR; -use crate::HOME_DIR; use crate::INITIAL_CONFIGURATION_LOADED; use crate::LAYERED_WHITELIST; use crate::MANAGE_IDENTIFIERS; @@ -416,7 +416,7 @@ impl WindowManager { Err(error) => error.to_string(), }; - let mut socket = HOME_DIR.clone(); + let mut socket = DATA_DIR.clone(); socket.push("komorebic.sock"); let socket = socket.as_path(); @@ -439,7 +439,7 @@ impl WindowManager { } .to_string(); - let mut socket = HOME_DIR.clone(); + let mut socket = DATA_DIR.clone(); socket.push("komorebic.sock"); let socket = socket.as_path(); @@ -831,7 +831,7 @@ impl WindowManager { SocketMessage::NotificationSchema => { let notification = schema_for!(Notification); let schema = serde_json::to_string_pretty(¬ification)?; - let mut socket = HOME_DIR.clone(); + let mut socket = DATA_DIR.clone(); socket.push("komorebic.sock"); let socket = socket.as_path(); @@ -841,7 +841,7 @@ impl WindowManager { SocketMessage::SocketSchema => { let socket_message = schema_for!(SocketMessage); let schema = serde_json::to_string_pretty(&socket_message)?; - let mut socket = HOME_DIR.clone(); + let mut socket = DATA_DIR.clone(); socket.push("komorebic.sock"); let socket = socket.as_path(); diff --git a/komorebic/src/main.rs b/komorebic/src/main.rs index b773878a..0a833b71 100644 --- a/komorebic/src/main.rs +++ b/komorebic/src/main.rs @@ -1106,7 +1106,7 @@ fn main() -> Result<()> { )?; } SubCommand::State => { - let home = HOME_DIR.clone(); + let home = DATA_DIR.clone(); let mut socket = home; socket.push("komorebic.sock"); let socket = socket.as_path(); @@ -1122,9 +1122,10 @@ fn main() -> Result<()> { }, }; + let listener = UnixListener::bind(&socket)?; + send_message(&SocketMessage::State.as_bytes()?)?; - let listener = UnixListener::bind(&socket)?; match listener.accept() { Ok(incoming) => { let stream = BufReader::new(incoming.0); @@ -1140,7 +1141,7 @@ fn main() -> Result<()> { } } SubCommand::Query(arg) => { - let home = HOME_DIR.clone(); + let home = DATA_DIR.clone(); let mut socket = home; socket.push("komorebic.sock"); let socket = socket.as_path(); @@ -1156,9 +1157,10 @@ fn main() -> Result<()> { }, }; + let listener = UnixListener::bind(&socket)?; + send_message(&SocketMessage::Query(arg.state_query).as_bytes()?)?; - let listener = UnixListener::bind(&socket)?; match listener.accept() { Ok(incoming) => { let stream = BufReader::new(incoming.0); @@ -1342,7 +1344,7 @@ fn main() -> Result<()> { println!("File successfully formatted for PRs to https://github.com/LGUG2Z/komorebi-application-specific-configuration"); } SubCommand::NotificationSchema => { - let home = HOME_DIR.clone(); + let home = DATA_DIR.clone(); let mut socket = home; socket.push("komorebic.sock"); let socket = socket.as_path(); @@ -1376,7 +1378,7 @@ fn main() -> Result<()> { } } SubCommand::SocketSchema => { - let home = HOME_DIR.clone(); + let home = DATA_DIR.clone(); let mut socket = home; socket.push("komorebic.sock"); let socket = socket.as_path();