aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/rbw.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/rbw.rs')
-rw-r--r--src/bin/rbw.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/bin/rbw.rs b/src/bin/rbw.rs
index bcdae01..02655a3 100644
--- a/src/bin/rbw.rs
+++ b/src/bin/rbw.rs
@@ -184,7 +184,25 @@ fn remove() {
}
fn lock() {
- todo!()
+ ensure_agent();
+
+ let mut sock = connect();
+ send(
+ &mut sock,
+ &rbw::agent::Request {
+ tty: std::env::var("TTY").ok(),
+ action: rbw::agent::Action::Lock,
+ },
+ );
+
+ let res = recv(&mut sock);
+ match res {
+ rbw::agent::Response::Ack => (),
+ rbw::agent::Response::Error { error } => {
+ panic!("failed to lock: {}", error)
+ }
+ _ => panic!("unexpected message: {:?}", res),
+ }
}
fn purge() {