From: Simon Lees Based off an earlier patch by Tomas Cech. This patch does 2 things: 1. In both xdg-su and xdg-terminal enlightenment is detected but then no action is performed, this patch performs an action in these cases. 2. Rather than performing the generic action, specific enlightenment actions have been added. They use terminology rather than xterm as it is essientially the enlightenment terminal emulator and matches the terminology theme. --- scripts/xdg-su.in | 25 +++++++++++++++++++++++++ scripts/xdg-terminal.in | 17 +++++++++++++++++ 2 files changed, 42 insertions(+) --- a/scripts/xdg-su.in +++ b/scripts/xdg-su.in @@ -104,6 +104,27 @@ su_xfce() [ x"$1" != x"" ] || exit_failure_syntax +su_enlightenment() +{ +# Enlightenment doesn't have any reasonably working su/sudo graphical interface +# but terminology works as a drop in replacement for xterm and has a matching theme + if which terminology >/dev/null ; then + if [ -z "$user" ] ; then + terminology -g 60x5 -T "xdg-su: $cmd" -e "su -c '$cmd'" + else + terminology -g 60x5 -T "xdg-su: $cmd" -e "su -c '$cmd' '$user'" + fi + + if [ $? -eq 0 ]; then + exit_success + else + exit_failure_operation_failed + fi + else + su_generic + fi +} + user= cmd= while [ $# -gt 0 ] ; do @@ -167,6 +188,10 @@ case "$DE" in su_xfce ;; + enlightenment) + su_enlightenment + ;; + *) [ x"$user" = x"" ] && user=root exit_failure_operation_impossible "no graphical method available for invoking '$cmd' as '$user'" --- a/scripts/xdg-terminal.in +++ b/scripts/xdg-terminal.in @@ -176,6 +176,19 @@ terminal_lxde() fi } +terminal_enlightenment() +{ + if which terminology &>/dev/null; then + if [ x"$1" = x"" ]; then + terminology + else + terminology -e "$1" + fi + else + terminal_generic "$1" + fi +} + #[ x"$1" != x"" ] || exit_failure_syntax command= @@ -231,6 +244,10 @@ case "$DE" in lxde) terminal_lxde "$command" ;; + + enlightenment) + terminal_enlightenment "$command" + ;; generic) terminal_generic "$command"