sway + input #40
@ -362,6 +362,11 @@ pub enum WSCommand {
|
|||||||
SwayCloseWorkspace { workspace: String },
|
SwayCloseWorkspace { workspace: String },
|
||||||
SwayChangeWorkspace { workspace: String },
|
SwayChangeWorkspace { workspace: String },
|
||||||
SwayGetWorkspaces,
|
SwayGetWorkspaces,
|
||||||
|
// New input commands
|
||||||
|
InputKeys { keys: String },
|
||||||
|
MouseMove { x: i32, y: i32 },
|
||||||
|
MouseScroll { x: i32, y: i32 },
|
||||||
|
MouseClick { button: String },
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn handle_message(
|
async fn handle_message(
|
||||||
@ -472,5 +477,33 @@ async fn handle_message(
|
|||||||
let workspaces = base::sway_get_workspace_names().await?;
|
let workspaces = base::sway_get_workspace_names().await?;
|
||||||
Ok(Some(json!(workspaces)))
|
Ok(Some(json!(workspaces)))
|
||||||
}
|
}
|
||||||
|
WSCommand::InputKeys { keys } => {
|
||||||
|
base::input(keys)
|
||||||
|
.await
|
||||||
|
.map(|_| json!({}))
|
||||||
|
.map_err(anyhow::Error::new)?;
|
||||||
|
Ok(None)
|
||||||
|
}
|
||||||
|
WSCommand::MouseMove { x, y } => {
|
||||||
|
base::mouse_move(x, y)
|
||||||
|
.await
|
||||||
|
.map(|_| json!({}))
|
||||||
|
.map_err(anyhow::Error::new)?;
|
||||||
|
Ok(None)
|
||||||
|
}
|
||||||
|
WSCommand::MouseScroll { x, y } => {
|
||||||
|
base::mouse_scroll(x, y)
|
||||||
|
.await
|
||||||
|
.map(|_| json!({}))
|
||||||
|
.map_err(anyhow::Error::new)?;
|
||||||
|
Ok(None)
|
||||||
|
}
|
||||||
|
WSCommand::MouseClick { button } => {
|
||||||
|
base::mouse_click(button)
|
||||||
|
.await
|
||||||
|
.map(|_| json!({}))
|
||||||
|
.map_err(anyhow::Error::new)?;
|
||||||
|
Ok(None)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user