#!/bin/sh

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