#!/bin/bash case "$(printf "new\nstop\nrestart\neshell" | dmenu -p "eserver: ")" in "restart") emacsclient -s MAIN --eval "(kill-emacs)"; notify-send "Halted Emacs server"; emacs --bg-daemon=MAIN; notify-send "Restarted Emacs server";; "stop") emacsclient -s MAIN --eval "(kill-emacs)"; notify-send "Halted Emacs server";; "new") notify-send "Launching Emacs"; emacsclient -s MAIN -c -a=emacs;; "eshell") notify-send "Launching Eshell"; emacsclient -s MAIN -c -a=emacs --eval '(let ((b (or (get-buffer "*eshell*") (eshell)))) (switch-to-buffer b))' esac