diff options
author | Guangxiong Lin <[email protected]> | 2022-03-22 23:48:01 +0800 |
---|---|---|
committer | Guangxiong Lin <[email protected]> | 2022-03-22 23:50:57 +0800 |
commit | 248fc7fca0b684c27234acd34011d5a67570bdd2 (patch) | |
tree | 40c5fc549b16349e0a04a169a076cc89ccf26d1f /bin/ec | |
parent | 390f25523d441204962ba146fe1aefdaf4c2dede (diff) | |
download | dotfiles-248fc7fca0b684c27234acd34011d5a67570bdd2.tar.gz dotfiles-248fc7fca0b684c27234acd34011d5a67570bdd2.tar.bz2 dotfiles-248fc7fca0b684c27234acd34011d5a67570bdd2.zip |
Update ec (emacs)
Diffstat (limited to 'bin/ec')
-rwxr-xr-x | bin/ec | 40 |
1 files changed, 22 insertions, 18 deletions
@@ -2,25 +2,29 @@ export LC_CTYPE=zh_CN.UTF-8 -# Number of current visible frames, -# Emacs daemon always has a visible frame called F1 -visible_frames() { - emacsclient -a "" -e '(length (visible-frame-list))' -} +# Number of current visible frames, +# Emacs daemon always has a visible frame called F1 +visible_frames() { + emacsclient -a "" -e '(length (visible-frame-list))' +} -change_focus() { +change_focus() { emacsclient -n -e "(select-frame-set-input-focus (selected-frame))" > /dev/null -} +} -# try switching to the frame incase it is just minimized -# will start a server if not running -test "$(visible_frames)" -eq "1" && change_focus -if [ "$(visible_frames)" -lt "2" ]; then # need to create a frame - # -c $@ with no args just opens the scratch buffer - emacsclient -n -c "$@" && change_focus -else # there is already a visible frame besides the daemon, so - change_focus - # -n $@ errors if there are no args - test "$#" -ne "0" && emacsclient -n "$@" -fi +if [[ $(uname) == Darwin ]]; then + # try switching to the frame incase it is just minimized + # will start a server if not running + test "$(visible_frames)" -eq "1" && change_focus + if [ "$(visible_frames)" -lt "2" ]; then # need to create a frame + # -c $@ with no args just opens the scratch buffer + emacsclient -n -c "$@" && change_focus + else # there is already a visible frame besides the daemon, so + change_focus + # -n $@ errors if there are no args + test "$#" -ne "0" && emacsclient -n "$@" + fi +else + emacsclient -a "" -n -c "$@" +fi |