X-Git-Url: http://47.100.26.94:8080/?a=blobdiff_plain;f=scripts%2Femacs_toggle.applescript;h=7870b6d6e2ad1c87edde69a728cb849238e007d9;hb=70e2f651c7c18ab0631648fa8ac4972248f63c6f;hp=f034a4e95185508c11770f8c32d4448febc1d1e5;hpb=5df35baa55cdad0cb6b0fc70fb2ff512bc2bfe9c;p=dotfiles.git diff --git a/scripts/emacs_toggle.applescript b/scripts/emacs_toggle.applescript index f034a4e..7870b6d 100644 --- a/scripts/emacs_toggle.applescript +++ b/scripts/emacs_toggle.applescript @@ -1,15 +1,13 @@ -#tell application "System Events" -# tell application process "Emacs" -# if visible then -# set visible to false -# else -# set visible to true -# tell application "Emacs" to activate -# end if -# end tell -#end tell + +## this scirpt works together with Quicksilver +## copy/link this file to ~/Library/Application Support/Quicksilver/Action +## and set a toggle event on Quicksilver preference # ## http://brettterpstra.com/2011/01/22/quick-tip-applescript-application-toggle/ +# +# +#Version 1.0 toggle emacs front + set appName to "Emacs" set startIt to false tell application "System Events" @@ -25,3 +23,31 @@ if startIt then tell application appName to activate end if +## version 2.0 - using emacs daemon and client +##set appName to "Emacs" +##set startIt to false +##tell application "System Events" +## 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 "/usr/local/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 "/usr/local/bin/emacsclient -c -n" +## set startIt to true +## else if frontmost of process "Emacs" then +## set visible of process "Emacs" to false +## else +## set frontmost of process "Emacs" to true +## end if +## on error +## -- daemon is not running, start the daemon and open a frame +## do shell script "/usr/local/bin/emacs --daemon" +## do shell script "/usr/local/bin/emacsclient -c -n" +## set startIt to true +## end try +##end tell +## +##-- bring the visible frame to the front +##if startIt then +## tell application "Emacs" to activate +##end if