diff options
Diffstat (limited to 'bin/ec')
-rwxr-xr-x | bin/ec | 46 |
1 files changed, 21 insertions, 25 deletions
@@ -1,30 +1,26 @@ #!/usr/bin/env bash -# Below is copied from network. I am not quite sure its purpose. Maybe I -# may need it someday. +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() { -# 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 +change_focus() { + emacsclient -n -e "(select-frame-set-input-focus (selected-frame))" > /dev/null +} -LC_CTYPE=zh_CN.UTF-8 emacsclient -a "" -n -c "$@" +# 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 |