diff options
Diffstat (limited to 'src/bin/rbw.rs')
-rw-r--r-- | src/bin/rbw.rs | 20 |
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() { |