Wrapper-Skript für Emacsclient

Im letzten Beitrag stellte ich ein Init-Skript zum Starten von Emacs als Daemon während des Starts des Betriebssystems vor. Um sich fortan zu dem Daemonprozess zu verbinden, wird das Programm emacsclient verwendet. Folgendes Skript kann als Wrapper verwendet werden, um emacsclient komfortables starten zu können.

#!/bin/sh
# 
# Copyright (C) 2012 Manuel Grob
# 
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

[ `pidof emacs` ] || gksudo "sh -c 'service emacs.<username> stop && service emacs.<username> start'"
exec emacsclient -ca "" "$@"

Der Wrapper prüft, ob eine Instanz von Emacs existiert und startet gegebenfalls den Editor als Daemon über das zuletzt vorgestellte Init-Skript. Dem Shellskript kann als Argument eine Datei übergeben werden, die mit Emacs bearbeitet werden soll.

Mit dem emacsclient-Argument -a kann ein alternativer Editor angegeben werden, der verwendet werden soll, falls der Client kein Emacsprozess findet. Dies sollte bei der Verwendung dieses Skript in der Regel nicht vorkommen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.