aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/ec40
1 files changed, 22 insertions, 18 deletions
diff --git a/bin/ec b/bin/ec
index 4a4dfb9..78483a7 100755
--- a/bin/ec
+++ b/bin/ec
@@ -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