#!/usr/bin/env bash # Below is copied from network. I am not quite sure its purpose. Maybe I # may need it someday. # # 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 LC_CTYPE=zh_CN.UTF-8 emacsclient -a "" -n -c "$@"