summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Xdefaults2
-rwxr-xr-xbin/ssh-add-helper3
-rw-r--r--i3/config6
-rw-r--r--urxvt/pass (renamed from urxvt/pwsafe)53
4 files changed, 11 insertions, 53 deletions
diff --git a/Xdefaults b/Xdefaults
index e3f0fba..99f865c 100644
--- a/Xdefaults
+++ b/Xdefaults
@@ -14,7 +14,7 @@ URxvt*scrollBar_right:true
URxvt*scrollBar:false
URxvt*font:6x10
URxvt*boldFont:6x10
-URxvt*perl-ext-common:default,matcher,pwsafe<M-p>
+URxvt*perl-ext-common:default,matcher,pass<M-p>
URxvt*perl-lib:/home/doy/.urxvt/
URxvt*matcher.button:3
URxvt*keysym.C-Return: perl:matcher
diff --git a/bin/ssh-add-helper b/bin/ssh-add-helper
index bfc2844..cae6f27 100755
--- a/bin/ssh-add-helper
+++ b/bin/ssh-add-helper
@@ -4,8 +4,7 @@ use warnings;
use IO::Pty::Easy;
my $hostname = `hostname`;
-open STDIN, '<', '/dev/tty';
-my $pass = `pwsafe -pE ssh.$hostname`;
+my $pass = `pass search ssh.$hostname`;
my $pty = IO::Pty::Easy->new;
$pty->spawn("ssh-add -t 1800 $ARGV[0]");
$pty->read;
diff --git a/i3/config b/i3/config
index c890c9a..7402e13 100644
--- a/i3/config
+++ b/i3/config
@@ -26,8 +26,6 @@ floating_maximum_size -1 x -1
for_window [class="Xmessage"] floating enable
for_window [class="qemu"] floating enable
for_window [class="Gimp"] floating enable
-for_window [instance="pwsafe"] floating enable
-for_window [instance="pwsafe"] move absolute position 0 px 0 px
for_window [instance="urxvt-kuake"] floating enable
for_window [instance="urxvt-kuake"] move absolute position 0 px 0 px
for_window [class="qemu-system-x86_64"] floating enable
@@ -54,8 +52,8 @@ for_window [class="feh"] move window to workspace 7
# start programs
bindsym $mod+o exec urxvtc
bindsym $mod+b exec firefox
-bindsym $mod+i exec dmenu -p "pwsafe -p" < /dev/null | xargs -I{} urxvtc -name pwsafe -geometry 47x2 -e pwsafe -p {}
-bindsym $mod+Shift+i exec dmenu -p "pwsafe -up" < /dev/null | xargs -I{} urxvtc -name pwsafe -geometry 47x2 -e pwsafe -up {}
+bindsym $mod+i exec dmenu -p "pass search" < /dev/null | xargs -I{} pass search -c {}
+bindsym $mod+Shift+i exec dmenu -p "pass search -u" < /dev/null | xargs -I{} pass search -u -c {}
bindsym $mod+r exec dmenu_run
bindsym --release $mod+s exec screenshot
diff --git a/urxvt/pwsafe b/urxvt/pass
index 153217b..e0f3057 100644
--- a/urxvt/pwsafe
+++ b/urxvt/pass
@@ -1,16 +1,14 @@
#! perl
-use IO::Pty::Easy;
-
sub on_init {
my ($self) = @_;
my $hotkey = $self->{argv}[0]
- || $self->x_resource ("pwsafe")
+ || $self->x_resource ("pass")
|| "M-w";
- $self->parse_keysym ($hotkey, "perl:pwsafe:start")
- or warn "unable to register '$hotkey' as pwsafe start hotkey\n";
+ $self->parse_keysym ($hotkey, "perl:pass:start")
+ or warn "unable to register '$hotkey' as pass start hotkey\n";
return;
}
@@ -18,7 +16,7 @@ sub on_init {
sub on_user_command {
my ($self, $cmd) = @_;
- $self->enter if $cmd eq 'pwsafe:start';
+ $self->enter if $cmd eq 'pass:start';
return;
}
@@ -33,7 +31,7 @@ sub enter {
);
#eval {
- $self->do_password;
+ $self->which_password;
#};
#if ($@) {
#$self->timed_message($@);
@@ -117,56 +115,19 @@ sub prompt_finish {
return;
}
-sub do_password {
- my ($self) = @_;
-
- $self->prompt('Password database password: ', 1, sub {
- my $pass = shift;
- if ($pass) {
- $self->which_password($pass);
- }
- else {
- $self->timed_msg('Aborted.');
- $self->leave;
- return;
- }
- });
-}
-
sub which_password {
my $self = shift;
- my $pass = shift;
$self->prompt('Password to insert: ', 0, sub {
my $passname = shift;
- my $pty = IO::Pty::Easy->new;
- $pty->spawn("pwsafe -pE $passname");
- my $read;
- while (1) {
- $read = $pty->read(0);
- last if $read =~ /passphrase for/;
- }
- $pty->write("$pass\n");
- my $password;
- while (1) {
- $password = $pty->read(0);
- last if $password =~ s/password for.*?: //;
- if ($password =~ /incorrect/) {
- $self->do_password;
- return;
- }
- if ($password =~ /(?:No|More than one) matching entr/) {
- $self->which_password($pass);
- return;
- }
- }
+ my $password = `pass search $passname`;
+
if ($password) {
$self->tt_write($password);
$self->leave;
}
else {
$self->msg("Unknown password $passname");
- $self->which_password($pass);
}
});
}