diff options
author | Guangxiong Lin <[email protected]> | 2022-03-20 18:41:45 +0800 |
---|---|---|
committer | Guangxiong Lin <[email protected]> | 2022-03-20 18:41:45 +0800 |
commit | e64253adc84b62a01660e7de276ba61711f7421f (patch) | |
tree | 366c84346d3097fa99a6dca6b29350d5c8b53681 /bin | |
parent | 630a82c2f5c242c81671c823e7e88a95f232c7ab (diff) | |
download | dotfiles-e64253adc84b62a01660e7de276ba61711f7421f.tar.gz dotfiles-e64253adc84b62a01660e7de276ba61711f7421f.tar.bz2 dotfiles-e64253adc84b62a01660e7de276ba61711f7421f.zip |
Improve emacsclient
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/ec | 30 | ||||
-rwxr-xr-x | bin/ek | 12 | ||||
-rwxr-xr-x | bin/et | 3 |
3 files changed, 45 insertions, 0 deletions
@@ -0,0 +1,30 @@ +#!/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 + +emacsclient -a "" -n -c "$@" @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +server_running () { + emacsclient -a "false" -e "(boundp 'server-process)" +} + +if [ "t" == "$(server_running)" ]; then + emacsclient -e '(kill-emacs)' + echo "Emacs server is killed" +else + echo "Emacs server is not running" +fi @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +exec emacsclient -a "" -c -t "$@" |