1 |
#!/bin/sh |
2 |
#--------------------------------------------------------------- |
3 |
# Project : Mageia |
4 |
# Module : bin |
5 |
# File : editor |
6 |
# Author : David Walser |
7 |
# Created On : Thu Apr 3 16:26:54 2012 |
8 |
# Purpose : launch a text editor |
9 |
#--------------------------------------------------------------- |
10 |
|
11 |
strip_texteditor_var() { |
12 |
if [[ -n "$TEXTEDITOR" ]]; then |
13 |
if [[ `basename "$TEXTEDITOR"` == "editor" ]]; then |
14 |
unset TEXTEDITOR |
15 |
elif ! which $TEXTEDITOR > /dev/null 2>&1; then |
16 |
unset TEXTEDITOR |
17 |
fi |
18 |
fi |
19 |
} |
20 |
|
21 |
strip_texteditor_var |
22 |
if [[ -z "$TEXTEDITOR" ]]; then |
23 |
|
24 |
# using GNOME |
25 |
if [[ -n "$GNOME_DESKTOP_SESSION_ID" ]]; then |
26 |
TEXTEDITOR="gedit" |
27 |
fi |
28 |
|
29 |
#using KDE |
30 |
if [[ -n "$KDE_FULL_SESSION" ]]; then |
31 |
TEXTEDITOR="kwrite" |
32 |
fi |
33 |
|
34 |
|
35 |
strip_texteditor_var |
36 |
|
37 |
[[ -z "$TEXTEDITOR" ]] && TEXTEDITOR=`which kwrite 2> /dev/null` |
38 |
[[ -z "$TEXTEDITOR" ]] && TEXTEDITOR=`which gedit 2> /dev/null` |
39 |
|
40 |
if [[ -z "$TEXTEDITOR" ]]; then |
41 |
EMACS=`/usr/sbin/update-alternatives --list emacs` |
42 |
if [[ -n "$EMACS" ]]; then |
43 |
if [[ `basename "$EMACS"` = "emacs-nox" ]]; then |
44 |
TEXTEDITOR="xvt -e emacs" |
45 |
else |
46 |
TEXTEDITOR="emacs" |
47 |
fi |
48 |
fi |
49 |
fi |
50 |
|
51 |
[[ -z "$TEXTEDITOR" ]] && which vim > /dev/null 2>&1 && TEXTEDITOR="xvt -e vim" |
52 |
[[ -z "$TEXTEDITOR" ]] && which nano > /dev/null 2>&1 && TEXTEDITOR="xvt -e nano" |
53 |
fi |
54 |
|
55 |
if [[ -n "$TEXTEDITOR" ]]; then |
56 |
exec $TEXTEDITOR "$@" |
57 |
else |
58 |
echo "no text editor detected" |
59 |
fi |
60 |
|
61 |
# editor ends here |