summaryrefslogtreecommitdiffstats
path: root/linux/bin/neo-compose
diff options
context:
space:
mode:
authordennis <dennis@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-11-19 21:52:38 +0000
committerdennis <dennis@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2008-11-19 21:52:38 +0000
commita8a7e8d2c940aef18b9f6e93dd51671b7268909e (patch)
tree638ae909bd6c2927ae076df8a3f6e36503c54bbe /linux/bin/neo-compose
parent15c7a806d41d8544a90813387691fb539a44c808 (diff)
Verbesserung von Björn Seifert: Die neo-compose wurde so umgeschrieben, dass sie das gleiche System von Konfigurationsdateien und -variablen wie die asdf/uiae-Skripte verwendet.
Das heißt, dass in der config-Datei jetzt die Variablen $NEO_COMPOSE und $NEO_ORIG_COMPOSE auf die richtigen Pfade zeigen müssen. Sollte eine Variable $NEO_OWN_COMPOSE definiert sein, die zu einer Datei mit eigenen Compose-Änderungen zeigt, dann wird diese auch berücksichtigt. git-svn-id: https://svn.neo-layout.org@1229 b9310e46-f624-0410-8ea1-cfbb3a30dc96
Diffstat (limited to '')
-rwxr-xr-xlinux/bin/neo-compose44
1 files changed, 36 insertions, 8 deletions
diff --git a/linux/bin/neo-compose b/linux/bin/neo-compose
index 01742b4..2f31bfb 100755
--- a/linux/bin/neo-compose
+++ b/linux/bin/neo-compose
@@ -1,16 +1,44 @@
#!/bin/sh
-# Was hier passiert: Zusammenfügen der alten Compose und der Neo-Ergänzungen
+# Was hier passiert: Zusammenf체gen der alten Compose und der Neo-Erg채nzungen
# in die Datei ~/.XCompose, die normalerweise beim Starten der Desktopumgebung
# geladen wird.
-# In der Datei ~/.Compose.eigene kann man noch eigene Ergänzungen der Compose
-# hinzufügen, falls einem die Erweiterungen durch Neo-Compose nicht ausreichen.
+# Der Pfad zu den Dateien wird in den Umgebungsvariablen $NEO_COMPOSE und
+# $NEO_ORIG_COMPOSE festgelegt, wobei bei letzterer der Default-Pfad ausreichend
+# sein sollte.
+# In der Variablen $NEO_OWN_COMPOSE kann eine Datei definiert werden, in der
+# man noch eigene Erg채nzungen der Compose hinzuf체gen kann, falls einem die
+# Erweiterungen durch Neo-Compose nicht ausreichen.
-# Verzeichnis, in dem sich die originale Compose befindet (hier Bsp. Fedora):
-COMP_ALT=/usr/share/X11/locale/en_US.UTF-8/Compose
+if [ -f "${NEO_CONFIG}" ]; then
+ . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}"
+elif [ -f "${HOME}"/.neorc ]; then
+ . "${HOME}"/.neorc || die "Failed to source ${HOME}/.neorc"
+elif [ -f /etc/neo.conf ]; then
+ . /etc/neo.conf || die "Failed to source /etc/neo.conf"
+else
+ echo "No configuration file found. Using default values, this might fail!"
+fi
-# Verzeichnis, in dem sich die Datei Compose.neo befindet:
-COMP_NEO=~/programmieren/Projekt/NEO/svn-neo/neo-layout.org/Compose/Compose.neo
+# Default values
+NEO_COMPOSE=${NEO_COMPOSE:-$HOME/neo/Compose.neo}
+NEO_ORIG_COMPOSE=${NEO_ORIG_COMPOSE:-/usr/share/X11/locale/en_US.UTF-8/Compose}
-cat $COMP_ALT $COMP_NEO ~/.Compose.eigene > ~/.XCompose
+die() {
+ echo "$@" >&2
+ exit 1
+}
+
+
+if [ ! -f "${NEO_COMPOSE}" ]; then
+ die "Failed to read ${NEO_COMPOSE}. Check your configuration!"
+elif [ ! -f "${NEO_ORIG_COMPOSE}" ]; then
+ die "Failed to read ${NEO_ORIG_COMPOSE}. Check your configuration!"
+elif [ ! "a${NEO_OWN_COMPOSE}" = "a" ]; then
+ if [ ! -f "${NEO_OWN_COMPOSE}" ]; then
+ die "Failed to read ${NEO_OWN_COMPOSE}. Check your configuration!"
+ fi
+fi
+
+cat "${NEO_ORIG_COMPOSE}" "${NEO_COMPOSE}" "${NEO_OWN_COMPOSE}" > ~/.XCompose