|
|
|
|
@ -25,8 +25,11 @@ kde-current-activity-name () { |
|
|
|
|
|
|
|
|
|
# Check if server has been started and start it otherwise |
|
|
|
|
emacs-server-start () { |
|
|
|
|
emacsclient -s "$(kde-current-activity-name)" -e '(version)' &> /dev/null || (/usr/bin/emacs --daemon="$(kde-current-activity-name)"; |
|
|
|
|
); |
|
|
|
|
if ! emacsclient -s "$(emacs-session-name)" -e '(version)' &> /dev/null; then |
|
|
|
|
autoload colors;colors |
|
|
|
|
echo Starting $fg[green]emacs daemon$reset_color with session $fg[red]$(emacs-session-name)$reset_color |
|
|
|
|
/usr/bin/emacs --daemon="$(emacs-session-name)" &>/dev/null; |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# This ensures that the right server is started; |
|
|
|
|
@ -36,18 +39,23 @@ emacs-server-start () { |
|
|
|
|
|
|
|
|
|
emacs-server-start |
|
|
|
|
|
|
|
|
|
if [[ "$SSH_CONNECTION" != '' ]]; then |
|
|
|
|
exec emacsclient -s ssh-server -t "$@" |
|
|
|
|
else |
|
|
|
|
|
|
|
|
|
# This ensures that a new frame is created if only the default (tty) |
|
|
|
|
# one is present. It also names the new frame, in case I decide to |
|
|
|
|
# create secondary frames (e.g. for the agenda). |
|
|
|
|
|
|
|
|
|
emacsclient -s "$(kde-current-activity-name)" -n -e "(if (> (length (frame-list)) 1) 't)" | grep t >/dev/null; |
|
|
|
|
emacsclient -s "$(emacs-session-name)" -n -e "(if (> (length (frame-list)) 1) 't)" | grep t >/dev/null; |
|
|
|
|
if [ "$?" = "1" ]; then |
|
|
|
|
emacsclient -s "$(kde-current-activity-name)" -c --frame-parameters="(quote (name . \"main-frame on $(kde-current-activity-name)\"))" "$@" |
|
|
|
|
exec emacsclient -s "$(emacs-session-name)" -c --frame-parameters="(quote (name . \"main-frame on $(emacs-session-name)\"))" "$@" |
|
|
|
|
else |
|
|
|
|
emacsclient -s "$(kde-current-activity-name)" "$@" |
|
|
|
|
exec emacsclient -s "$(emacs-session-name)" "$@" |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
STATUS=$?; |
|
|
|
|
|
|
|
|
|
# This does not seem to be needed anymore |
|
|
|
|
#emacsclient -s "$(kde-current-activity-name)" -e '(recenter-top-bottom)' |
|
|
|
|
#emacsclient -s "$(emacs-session-name)" -e '(recenter-top-bottom)' |
|
|
|
|
return $STATUS |
|
|
|
|
|