Skip to content

Manage your vCard contacts inside Emacs with Helm and khard (and vdirsyncer).

Notifications You must be signed in to change notification settings

timmli/helm-khard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

helm-khard: A Helm interface for khard

Manage your vCard contacts inside Emacs with Helm and khard (and vdirsyncer).

This README uses Org mode.

Features

  • Search contacts (with Helm)
  • Insert arbitrary contact fields into buffer
  • Add, remove, merge contacts (with khard)
  • Modify contacts (with khard)
  • Sync contacts with remote server (with vdirsyncer)
  • Copy & move contacts between address books (with khard)
  • Export, import or visit contact file (VCF)
  • Integration into mu4e

Installation

Helm-khard depends on khard for accessing and modifying locally stored contacts (each contact as single VCF), and uses vdirsyncer to synchronize these contacts with a remote CardDAV server.

helm-khard.png

Requirements outside Emacs

Note that khard and vdirsyncer must also be properly configured. Please refer to their respective documentation on how to achieve this. An example configuration can be found in the tests directory of helm-khard.

Installation with Melpa

Not yet available.

Installation from Github

Download helm-khard.el to your .emacs.d folder and add the following code to your init file:

(use-package helm-khard
  :load-path "relative/path/to/helm-khard/")

Optionally, you can also download the tests directory.

Usage

M-x helm-khard

If you want to play around with helm-khard, you can evaluate tests/helm-khard-test.el and run M-x helm-khard-test.

Configuration of helm-khard

Helm-khard variables

Certain helm-khard variables are customizable, see (customize-group "helm-khard").

The following are probably the most relevant ones:

  • helm-khard-vdirsyncer-command: Specify vdirsyncer command as string.
  • helm-khard-sync-after-editing: If non-nil, synchronize local and remote contacts after editing a contact.
  • helm-khard-sync-during-initialization: If non-nil, synchronize local and remote contacts during initionalization.
  • helm-khard-insert-with-organisation: If non-nil, add organisation when inserting a contact.
  • helm-khard-candidate-format-plist: Specifies the sequence and column width of formatted candidates. When the width is nil, the corresponding field is not trimmed of filled.

Integration with mu4e address completion

When mu4e is loaded, one can add the helm-khard contacts to the mu4e contacts for autocompletion by advising mu4e--update-contacts like this:

(advice-add 'mu4e--update-contacts :after #'helm-khard--inject-contacts-into-mu4e)

Ideas & plans

As for my own needs, helm-khard is feature-complete.

Alternative and related Emacs packages

About

Manage your vCard contacts inside Emacs with Helm and khard (and vdirsyncer).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published