Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.


Bring your editing experience to the next level with context-based actions for emacs


elcontext is available on MELPA. Add the MELPA repositories with the following code in your init file:

(require 'package)
(add-to-list 'package-archives '("melpa" . "") t)

Install elcontext by running:

M-x package-install RET elcontext RET

Add the following code to your init file to continuously check for valid contexts:

(require 'elcontext)

Alternatively if you are using use-package you can use the following configuration:

(use-package elcontext
  :ensure t


Use M-x elcontext for on overview of all contexts. Within this overview several hydras will guide through the API, press ? to open the help hydra.

Contexts can consist of a

  • name,
  • location (only for macOS),
  • timespan,
  • directory,
  • and action.


If a part of a context is omitted this part is always valid e.g. no location means anywhere, no time means anytime. Each command is triggered once a day.

Use Cases

Work / Home development environment

Start all work applications when you're in the office, stop them when you're home (and start others). This was the original reason to create elcontext. It integrates well with prodigy. You can define all applications you need at work or home as prodigy-services.

Add yours!

If your using elcontext I am happy to hear about your use cases!


No releases published


No packages published