Skip to content

Instantly share code, notes, and snippets.

@hadongsoo
Created October 16, 2016 04:33
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hadongsoo/8ce386f7654074e185f9def4fd394931 to your computer and use it in GitHub Desktop.
Save hadongsoo/8ce386f7654074e185f9def4fd394931 to your computer and use it in GitHub Desktop.
emacs for daemon
tell application "Terminal"
try
-- we look for <= 2 because Emacs --daemon seems to always have an entry in visibile-frame-list even if there isn't
set frameVisible to do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -e '(<= 2 (length (visible-frame-list)))'"
if frameVisible is not "t" then
-- there is a not a visible frame, launch one
do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -c -n"
end if
on error
-- daemon is not running, start the daemon and open a frame
do shell script "/Applications/Emacs.app/Contents/MacOS/Emacs --daemon"
do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -c -n"
end try
end tell
-- bring the visible frame to the front
tell application "Emacs" to activate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment