#!/bin/sh

case "$(printf "new\nstop\nrestart\neshell" | 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 --socket-name=MAIN -c --alternate-editor=emacs;;
    "eshell")
        notify-send "Launching Eshell";
        emacsclient --socket-name=MAIN -c --alternate-editor=emacs --eval '(let ((b (or (get-buffer "*eshell*") (eshell))))
                                                    (switch-to-buffer b))'
esac