summaryrefslogtreecommitdiffstats
path: root/mail/mew/files/user-install.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mew/files/user-install.tmpl')
-rw-r--r--mail/mew/files/user-install.tmpl374
1 files changed, 374 insertions, 0 deletions
diff --git a/mail/mew/files/user-install.tmpl b/mail/mew/files/user-install.tmpl
new file mode 100644
index 0000000..ee1a7ad
--- /dev/null
+++ b/mail/mew/files/user-install.tmpl
@@ -0,0 +1,374 @@
+#!/bin/sh
+
+PREFIX=%%PREFIX%%
+EMACSDIR=%%EMACSDIR%%
+ELISPDIR=%%ELISPDIR%%
+SAMPLEDIR=%%SAMPLEDIR%%
+
+AWK=%%AWK%%
+CAT=%%CAT%%
+CP=%%CP%%
+ECHO=%%ECHO%%
+MKDIR="%%MKDIR%%"
+RM=%%RM%%
+SED=%%SED%%
+TOUCH=%%TOUCH%%
+DIALOG=/usr/bin/dialog
+
+select()
+{
+ local Language key
+ Language="\
+Choose a language when you write mails.\n\
+ (Now is \"${language}\" selected.)"
+ ${DIALOG} --title "Choose the Language" \
+ --hline "Select Items and Quit when finished" \
+ --menu "${Language}" -1 -1 2 \
+ English "English" \
+ Japanese "japanese" \
+ 2> /tmp/menu.$$
+ retval=$?
+ key=`${CAT} /tmp/menu.$$|${SED} -e 's/\"//g'`
+ ${RM} -f /tmp/menu.$$
+ case $retval in
+ 0) if [ -z ${key} ]; then return; fi ;;
+ 1) return ;;
+ 255) return ;;
+ esac
+ language=${key}
+# echo citation:key=${key},dot_emacs=${dot_emacs}>>/tmp/temp
+}
+
+input_data()
+# argument No.1 ($1) : Key words (string)
+# argument No.2 ($2) : Variable for the Key words (string)
+# argument No.3 ($3) : unit for the variable (string)
+{
+ local key
+# echo '$1='$1
+# echo '$2='$2
+# echo '$3='$3
+# exit 1
+# echo '${nameserver}='${mail_address}
+# eval echo '${'$2'}'
+ eval key='${'$2'}'
+# echo key=${key}
+# exit 1
+ if [ ! -z ${key} ]; then
+ ${DIALOG} --title "Confirm $1" \
+ --hline "Press Yes/No" \
+ --yesno "$1 $3 has set \"${key}\". Is this OK?" -1 -1
+ retval=$?
+ if [ X"${retval}" = "X0" -o X"${retval}" = "X255" ]; then return; fi
+ fi
+ ${DIALOG} --title "Set $1 $3" \
+ --hline "Write $1 $3" \
+ --inputbox "Specify $1 $3" -1 -1 \
+ 2> /tmp/input.$$
+ eval $2=`${CAT} /tmp/input.$$`
+ ${RM} -f /tmp/input.$$
+}
+
+options()
+{
+ local Options keys del_keys
+ Options="\
+Please select Mew functions that you want to. To select a function, \n\
+use the arrow keys to move to it and press [SPACE]. To de-select it, \n\
+press [SPACE] again. Select OK or Cancel to leave this menu."
+ del_keys="Highlight Citation Cite_Change Sign_Change"
+ ${DIALOG} --title "Select Mew functions" \
+ --hline "" \
+ --checklist "${Options}" -1 -1 4 \
+ Highlight "highlight body for Mew(Japanese)" ${options_Highlight} \
+ Citation "Citation with the mail." ${options_Citation} \
+ Cite_Change "Change citation English <--> Japanese." ${options_Cite_Change} \
+ Sign_Change "Change signature English <--> Japanese." ${options_Sign_Change} \
+ 2> /tmp/checklist.$$
+ retval=$?
+ keys=`${CAT} /tmp/checklist.$$|${SED} -e 's/\"//g'`
+ ${RM} -f /tmp/checklist.$$
+ case $retval in
+ 1) return ;;
+ 255) return ;;
+ esac
+ dot_emacs=""
+# echo keys=$keys
+ for k in ${keys}; do
+ del_keys=`${ECHO} ${del_keys}|${SED} -e "s/ *${k}//g"`
+# echo del_keys=${del_keys}
+# echo k=$k
+ case ${k} in
+ Highlight)
+ dot_emacs="${dot_emacs} dot.emacs-highlight-body.el"
+ options_Highlight=ON
+ ;;
+ Citation)
+ citation
+# echo options:key=${k},dot_emacs=${dot_emacs}>>/tmp/temp
+ options_Citation=ON
+ ;;
+ Cite_Change)
+ dot_emacs="${dot_emacs} dot.emacs-cite-change.el"
+ options_Cite_Change=ON
+ ;;
+ Sign_Change)
+ dot_emacs="${dot_emacs} dot.emacs-signature-change.el"
+ options_Sign_Change=ON
+ ;;
+ esac
+ done
+# exit 1
+ for k in ${del_keys}; do
+# echo k=$k
+ case ${k} in
+ Highlight)
+ dot_emacs=`${ECHO} ${dot_emacs}|${SED} -e "s/ *dot\.emacs-highlight-body\.el//"`
+ options_Highlight=OFF
+ ;;
+ Citation)
+ options_Citation=OFF
+ ;;
+ Cite_Change)
+ dot_emacs=`${ECHO} ${dot_emacs}|${SED} -e "s/ *dot\.emacs-cite-change\.el//"`
+ options_Cite_Change=OFF
+ ;;
+ Sign_Change)
+ dot_emacs=`${ECHO} ${dot_emacs}|${SED} -e "s/ *dot\.emacs-signature-change\.el//"`
+ options_Sign_Change=OFF
+ ;;
+ esac
+ done
+# echo dot_emacs=${dot_emacs}
+# echo del_keys=${del_keys}
+# exit 1
+}
+
+citation()
+{
+ dot_emacs=`${ECHO} ${dot_emacs}|${SED} -e "s/ *dot\.emacs-cite.[a-z]*//g"`
+ case ${language} in
+ English)
+ dot_emacs="${dot_emacs} dot.emacs-cite.el"
+ ;;
+ Japanese)
+ dot_emacs="${dot_emacs} dot.emacs-cite.ja.el"
+ ;;
+ esac
+# echo citation:key=${key},dot_emacs=${dot_emacs}>>/tmp/temp
+}
+
+case ${TERM} in
+emacs)
+ ${ECHO} "Here is \"Emacs\" shell. Try on other terminal."
+ exit 1
+ ;;
+esac
+
+version="%%VERSION%%"
+#version="1.92"
+
+SEDCMD='${SED}
+ -e "s,%%prefix%%,${PREFIX},g"
+ -e "s,%%emacsdir%%,${EMACSDIR},g"
+ -e "s,%%elispdir%%,${ELISPDIR},g"
+ -e "s,%%version%%,${version},g"
+ -e "s,%%nameserver%%,${nameserver},g"
+ -e "s,%%mail_address%%,${mail_address},g"
+ -e "s,%%domain_name%%,${domain_name},g"
+ -e "s,%%default_domain_name%%,${default_domain_name},g"
+ -e "s,%%signature%%,${signature},g"'
+
+###
+# Check ~/.backup directory exist.
+#
+${MKDIR} ${HOME}/.backup
+
+###
+# Backup all files.
+#
+${CP} ${HOME}/${dot_emacs_file} ${HOME}/.backup/${dot_emacs_file}.$$
+${CP} ${HOME}/.im/Config ${HOME}/.backup/Config.$$
+
+###
+# Check ~/.im/Config file exist.
+#
+if [ ! -f ${HOME}/.im/Config ]; then
+ ${ECHO} "${HOME}/.im/Config: Not found. Do imsetup first."
+ exit 1
+else
+ mail_address=`${AWK} '/^Address=/{sub(/^Address=/,"");print}' ${HOME}/.im/Config`
+ domain_name=`${AWK} '/^FromDomain=/{sub(/^FromDomain=/,"");print}' ${HOME}/.im/Config`
+ default_domain_name=`${AWK} '/^ToDomain=/{sub(/^ToDomain=/,"");print}' ${HOME}/.im/Config`
+ if [ X"${mail_address}" = "X%%mail_address%%" ]; then
+ mail_address=""
+ else
+ ${CP} ${HOME}/.im/Config ${HOME}/.backup/Config
+ ${SED} -e 's/^\(Address=\).*$/\1%%mail_address%%/' \
+ < ${HOME}/.backup/Config > ${HOME}/.im/Config
+ fi
+ if [ X"${domain_name}" = "X%%domain_name%%" ]; then
+ domain_name=""
+ else
+ ${CP} ${HOME}/.im/Config ${HOME}/.backup/Config
+ ${SED} -e 's/^\(FromDomain=\).*$/\1%%domain_name%%/' \
+ < ${HOME}/.backup/Config > ${HOME}/.im/Config
+ fi
+ if [ X"${default_domain_name}" = "X%%default_domain_name%%" ]; then
+ default_domain_name=""
+ else
+ ${CP} ${HOME}/.im/Config ${HOME}/.backup/Config
+ ${SED} -e 's/^\(ToDomain=\).*$/\1%%default_domain_name%%/' \
+ < ${HOME}/.backup/Config > ${HOME}/.im/Config
+ fi
+fi
+
+###
+# Copy "aliases" if none
+#
+if [ ! -f ${HOME}/.im/Aliases ]; then
+ ${CP} ${SAMPLEDIR}/Aliases ${HOME}/.im
+fi
+
+###
+# Set user environment : nameserver, signature
+#
+options_Highlight=OFF
+options_Citation=OFF
+options_Cite_Change=OFF
+options_Sign_Change=OFF
+language=English
+dot_emacs_file=.emacs
+
+PreSet="\
+This is the main menu of the Mew configuration pre-settings. Please \n\
+select one of the options below by using the arrow keys or typing the \n\
+first character of the option name you intend to set. Invoke an option \n\
+by pressing [ENTER] or [TAB-ENTER] to exit the settings."
+
+answer=None
+while [ ! X"${answer}" = "XQuit" ]; do
+ ${DIALOG} --title "Pre-set Mew configurations" \
+ --hline "To select an item press [Enter] on the item" \
+ --menu "${PreSet}" -1 -1 3 \
+ Language "Determine language in use on Mew" \
+ DotEmacs "Choose dot.emacs files being to use" \
+ Quit "Quit this menu" \
+ 2> /tmp/menu.$$
+ retval=$?
+ answer=`${CAT} /tmp/menu.$$|${SED} -e 's/\"//g'`
+ ${RM} -f /tmp/menu.$$
+ case $retval in
+ 0) if [ -z ${answer} ]; then ${ECHO} "Nothing selected"; contiue; fi ;;
+ 1) break ;;
+ 255) break ;;
+ esac
+ case ${answer} in
+ Language)
+ select
+ ;;
+ DotEmacs)
+ input_data "Emacs dot.emacs file name" "dot_emacs_file" ""
+ ;;
+ Quit)
+ answer=Quit
+ ;;
+ esac
+done
+
+#echo language=${language}
+#echo dot_emacs_file=${dot_emacs_file}
+#exit 1
+
+MainMenu="\
+This is the main menu of the Mew configuration settings. Please select \n\
+one of the options below by using the arrow keys or typing the first \n\
+character of the option name you intend to set. Invoke an option by \n\
+pressing [ENTER] or [TAB-ENTER] to exit the settings."
+
+answer=None
+while [ ! X"${answer}" = "XQuit" ]; do
+ ${DIALOG} --title "Set Mew configurations" \
+ --hline "Select Items and Quit when finished" \
+ --menu "${MainMenu}" -1 -1 6 \
+ NameServer "Name server Domain name" \
+ MailAddress "Your mail address (with FQDN)" \
+ DomainName "Your domain name" \
+ DefaultDomain "Default domain name in abbrivation" \
+ Options "Various options on using Mew" \
+ Quit "Quit this menu" \
+ 2> /tmp/menu.$$
+ retval=$?
+ answer=`${CAT} /tmp/menu.$$`
+ ${RM} -f /tmp/menu.$$
+ case $retval in
+ 0) if [ -z ${answer} ]; then
+ ${ECHO} "Nothing selected"
+ exit 1
+ fi
+ ;;
+ 1) ${ECHO} "Cancel pressed."
+ exit 1
+ ;;
+ 255) ${ECHO} "ESC pressed."
+ exit 1
+ ;;
+ esac
+ case ${answer} in
+ NameServer)
+ input_data "Name Server" "nameserver" ""
+ ;;
+ MailAddress)
+ input_data "Mail Address" "mail_address" ""
+ ;;
+ DomainName)
+ input_data "Domain Name" "domain_name" ""
+ ;;
+ DefaultDomain)
+ input_data "Default Domain Name" "default_domain_name" ""
+ ;;
+ Options)
+# options
+ ;;
+ Quit)
+ answer=Quit
+ ;;
+ esac
+done
+
+#echo 'nameserver='${nameserver}
+#echo 'mail_address='${mail_address}
+#echo 'domain_name='${domain_name}
+#echo 'defaut_domain_name='${default_domain_name}
+
+#exit 1
+
+###
+# Custumize startup files with selected options.
+#
+dot_emacs="dot.emacs.el ${dot_emacs}"
+eval ${SEDCMD} < ${HOME}/.im/Config > ${HOME}/.backup/Config
+
+###
+# Add Mew startup setting to ~/.emacs
+#
+if [ -f ${dot_emacs_file} ]; then
+ ${SED} -e '/^;;;* Mew ;*$/,/^;;; *Mew end$/d' < ${HOME}/${dot_emacs_file} \
+ > ${HOME}/.backup/${dot_emacs_file}
+else
+ ${ECHO} "Create new \"dot.emacs\" file: ${dot_emacs_file}"
+fi
+
+#echo 'dot_emacs='${dot_emacs}
+for f in ${dot_emacs}; do
+ ${CAT} ${SAMPLEDIR}/dot.emacs/${f} |\
+ eval ${SEDCMD} >> ${HOME}/.backup/${dot_emacs_file}
+done
+${ECHO} ";;; Mew end" \
+ >> ${HOME}/.backup/${dot_emacs_file}
+${CP} ${HOME}/.backup/${dot_emacs_file} ${HOME}/${dot_emacs_file}
+
+###
+# Copy im Config file to ~/.im
+#
+${CP} ${HOME}/.backup/Config ${HOME}/.im/Config
OpenPOWER on IntegriCloud