#!/bin/sh case "$(printf "new\nstop\nrestart\neshell\nmail" | dmenu -p "eserver: ")" in "restart") systemctl --user restart emacs; notify-send "eselect: Restarted Emacs server";; "stop") systemctl --user stop emacs; notify-send "eselect: Halted Emacs server";; "new") notify-send "eselect: Launching Emacs"; emacsclient -c -a emacs;; "eshell") notify-send "eselect: Launching Eshell"; emacsclient -c -a emacs --eval '(let ((b (or (get-buffer "*eshell*") (eshell)))) (switch-to-buffer b))';; "mail") notify-send "eselect: Launching notmuch"; emacsclient -c -a emacs --eval '(let ((b (or (get-buffer "*notmuch-hello*") (progn (notmuch) (get-buffer "*notmuch-hello*"))))) (switch-to-buffer b))';; esac