From 760f695f53aadc18a55ccfee3bfcbd705826aeea Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 4 Aug 2020 21:11:24 -0400 Subject: [PATCH] Prettify output in emacsclient-activities --- emacsclient-activities | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/emacsclient-activities b/emacsclient-activities index 26573ad..92a38cc 100755 --- a/emacsclient-activities +++ b/emacsclient-activities @@ -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