(Scripts)~fix eselect

Big issue with emacsclient when launching alternate editor with eval
instructions: it considers the --eval Lisp code a file name, which it
opens as a buffer.  Instead, use -a "" which launches Emacs with
daemon on if no daemon is running.

Also, instead of using a SystemD service for Emacs, let's just manage
it via emacsclient.  Less dependence on it then.
This commit is contained in:
2024-07-25 02:37:20 +01:00
parent ed097b0482
commit 571a896f7c

View File

@@ -2,18 +2,19 @@
case "$(printf "new\nstop\nrestart\neshell\nmail" | dmenu -p "eserver: ")" in
"restart")
systemctl --user restart emacs;
emacsclient --eval "(save-buffers-kill-emacs)";
emacs --bg-daemon;
notify-send "eselect: Restarted Emacs server";;
"stop")
systemctl --user stop emacs;
emacsclient --eval "(save-buffers-kill-emacs)";
notify-send "eselect: Halted Emacs server";;
"new")
notify-send "eselect: Launching Emacs";
emacsclient -c -a "emacs";;
emacsclient -c -a "";;
"eshell")
notify-send "eselect: Launching Eshell";
emacsclient -c -a "emacs" --eval '(progn (eshell) (delete-other-windows))';;
emacsclient -c -a "" --eval "(progn (eshell) (delete-other-windows))";;
"mail")
notify-send "eselect: Launching notmuch";
emacsclient -c -a "emacs" --eval '(progn (notmuch) (delete-other-windows))';;
emacsclient -c -a "" --eval "(progn (notmuch) (delete-other-windows))";;
esac