It’s a delightfully horrible chore at the best of times, and when you’re synchronizing across multiple systems it can become completely abhorrent. Perhaps the only other thing that can come close is email – and that was something that I was thrilled to figure out seven years ago with offlineimap (which I’m still using).
So I was thrilled to discover vdirsyncer, which follows a similar sensibility as offlineimap for contact management.
I need my address book at two times (three if you count my phone): When I’m sending e-mail, when I need an address, or when I need a phone number. The problem is that while many things will import vcards, very few of them natively use vcards. And for crying out loud, I hate having to fire up a web browser or email program every time I just need to remember Bob’s zip code.
So I created pplsearch . It’s written in bash, and along with zenity (and optionally the program ppl), is able to give you fast and relevant results from your addressbook. For example, I set up my Openbox menu to have it as an entry. You can search for any text or numbers you want:
and get a meaningful list of results:
and then select the one you want and get to browse (and copy data off of – looking at you, Thunderbird) the vcard (note that the output will be less clean if you don’t have ppl installed):
After I originally wrote this, I actually managed to find a way to display contact photos within zenity. So if you want that functionality, there’s now an addressbookhelper_v.sh script which will do that for you. That code is largely thanks to the contributions of Alexx Roche and Ben Bacarisse.
This has pretty much been my day today, and I’m pretty happy with what I’ve created here. This is one of those things that doesn’t see everyday use, but is a huge hassle when I need it. Now it’s all set up and (once I set some systemd timers for vdirsyncer) this will be running nicely – and without any input from Google.
There’s also a helper script there to help clean up simple vcard irregularities; take a look if ppl complains about your vcards.