Mir fehlt schon relativ lange die Möglichkeit am VDR Nachrichten abzusetzen, die Außer Info auch als Warnung oder Fehler angezeigt werden. Jetzt habe ich einen Patch geschrieben, der einen neuen Befehl einführt: MSGT (MessageType) - Analog zu MESG (Message)
Man kann die Meldungsfarbe beeinflussen, in dem man den ersten Buchstaben auf '%' für Warnung oder '@' für Fehler setzt. Der Patch ist angehängt.
Damit alte Skripte kompatibel bleiben, wird an MESG nichts verändert. Wenn Skripte den neuen Befehl verwenden wollen, müssen diese natürlich prüfen, ob der VDR das unterstützt.
Dazu habe ich ein Beispiel:
f_svdrpsend() {
if [[ "${1^^}" == 'MESG' ]] ; then
mapfile -t < <("$SVDRPSEND" MSGT "${@:2}") # Prüfen ob VDR den Befehl kennt
if [[ "${MAPFILE[1]}" == "500"* ]] ; then # MSGT nicht vorhanden
: "${2#@}" ; clean_arg="${_#%}" # '%' oder '@' entfernen
"$SVDRPSEND" MESG "$clean_arg" "${@:3}"
fi
else
"$SVDRPSEND" "$@" # Für alles andere durchreichen
fi
}
Display More
Das geht auch viel einfacher, in dem man die Meldung absetzt und die Antwort auswertet und gegebenenfalls neu absetzt.
Habe meine Idee mit kls diskutiert. Dabei sind verschiedene Ansätze entstanden, die alle Vor- und Nachteile haben:
- Neuer Befehl MSGT wie oben beschrieben. Alte Skripte bleiben kompatibel. Wer den neuen Befehl verwenden will muss prüfen, ob er im VDR vorhanden ist (Siehe Oben).
- MESG wir umgebaut und funktioniert wie MSGT. Alte Skripte bleiben kompatibel. Neue Skripte geben bei alten VDR das erste Zeichen mit aus (%Meldung).
- MESG mit der Variante Schlüsselwörter zu verwenden. Alte Skripte bleiben kompatibel. Neue Skripte geben bei alten VDR das Schlüsselwort mit aus (Warning: Meldung). Schlüsselwort wird nicht übersetzt.
Vor- und Nachteile:
1: + MESG bleibt unverändert. - Es muss geprüft werden, ob MSGT integriert ist.
2 und 3: + Kein neuer Befehl nötig. - Alte VDR geben zusätzliche Zeichen am Anfang aus (%, Warning:)
3: + Schlüsselwort ist "verständlich". - Schlüsselwort nur in Englisch
Nun die Frage, was am praktischen ist, bzw was für Meinungen es dazu gibt. Wie ist der Bedarf? Hat jemand weitere Vorschläge?
Mein Favorit wäre die 1.