
Hello,
First, sorry for the delay in response Joachim.
And sorry for xmonad ml for potentially messing up the timeline.
I do not seem to find Joachim's original mail in my box nor do I know how
to rattach to it.
So I copied/pasted from archive the email's content to which I reply below.
ardumont
Dear ardumont,
I started using pass and was about to implement a prompt on my own when I noticed that you already did something in that direction. But from reading the code, I have a some worries:
I’d expect the getPasswords :: String -> IO [String] getPasswords passwordStoreDir = liftM (map takeBaseName) $ getDirectoryContents passwordStoreDir to break if the passwords are stored in subdirectories. I believe you need to recursively traverse the directory.
Of course you are right. I did not see it at the time because I did not use subdirectories. Now this need is staring right at me :D Some people saw this shortcoming too http://blog.tarn-vedra.de/posts/xmonad-password-store.html.
It would be cleaner if you could simply ask pass for the list of passwords, but that does not seem to be possible. Maybe you should contact the author and suggest a new parameter to "pass list" that would change the output to be a simple list, instead of the tree output.
Recently, it got back to my todo list.
Also, code like selectPassword passLabel = spawn $ "pass --clip " ++ passLabel could be a problem if the password label contains shell characters. You probably want to use safeSpawn from XMonad.Util.Run.
Indeed. Thanks for pointing it.
Greetings, Joachim
Sorry for the delay, got sidetracked by so many stuff I did not even see your email. I think you fixed all this https://mail.haskell.org/pipermail/xmonad/2015-February/014554.html. Thanks! Cheers, -- tony / @ardumont ----------------------------------------------------------------- gpg fingerprint BF00 203D 741A C9D5 46A8 BE07 52E2 E984 0D10 C3B8