add dynamic edit_configs menu

merge-requests/260/head
Bernhard Landauer 7 years ago
parent 834920405a
commit 763ccc5e78

@ -15,6 +15,7 @@ LIBS = \
lib/util.sh \
lib/util-advanced.sh \
lib/util-base.sh \
lib/util-config.sh \
lib/util-desktop.sh \
lib/util-disk.sh \
lib/util-menu.sh

@ -17,11 +17,11 @@ DATADIR='@datadir@'
[[ -r ${LIBDIR}/util.sh ]] && source ${LIBDIR}/util.sh
import ${LIBDIR}/util-menu.sh
import ${LIBDIR}/ini_val.sh
import ${LIBDIR}/util-base.sh
import ${LIBDIR}/util-desktop.sh
import ${LIBDIR}/util-disk.sh
import ${LIBDIR}/ini_val.sh
import ${LIBDIR}/util-menu.sh
import ${DATADIR}/translations/english.trans
if [[ -e /run/miso/bootmnt ]]; then

@ -0,0 +1,138 @@
edit_mkinitcpio(){
nano "${MOUNTPOINT}/etc/mkinitcpio.conf"
dialog --backtitle "$VERSION - $SYSTEM ($ARCHI)" --yesno "${_MMRunMkinit}?" 0 0 && {
run_mkinitcpio 2>$ERR
check_for_error "run_mkinitcpio" "$?"
}
}
edit_configs() {
local PARENT="$FUNCNAME"
# Clear the file variables
local options=() functions=("-") i=0 f='' choice=0 fn=''
for f in ${MOUNTPOINT}/home/*/.extend.xinitrc; do
((i++))
options+=( $i ".extend.xinitrc ($(echo "$f"|cut -d'/' -f4 ))" )
functions+=( "nano ${f}" )
done
for f in ${MOUNTPOINT}/home/*/.xinitrc; do
((i++))
options+=( $i ".xinitrc ($(echo "$f"|cut -d'/' -f4 ))" )
functions+=( "nano ${f}" )
done
for f in ${MOUNTPOINT}/home/*/.extend.Xresources; do
((i++))
options+=( $i ".extend.Xresources ($(echo "$f"|cut -d'/' -f4 ))" )
functions+=( "nano ${f}" )
done
for f in ${MOUNTPOINT}/home/*/.Xresources; do
((i++))
options+=( $i ".Xresources ($(echo "$f"|cut -d'/' -f4 ))" )
functions+=( "nano ${f}" )
done
if [[ -e ${MOUNTPOINT}/etc/crypttab ]]; then
((i++))
options+=( $i "crypttab" )
functions+=( "nano ${MOUNTPOINT}/etc/crypttab" )
fi
if [[ -e ${MOUNTPOINT}/etc/fstab ]]; then
((i++))
options+=( $i "fstab" )
functions+=( "nano ${MOUNTPOINT}/etc/fstab" )
fi
if [[ -e ${MOUNTPOINT}/etc/hostname ]]; then
((i++))
options+=( $i "hostname" )
functions+=( "nano ${MOUNTPOINT}/etc/hostname" )
fi
if [[ -e ${MOUNTPOINT}/etc/hosts ]]; then
((i++))
options+=( $i "hosts" )
functions+=( "nano ${MOUNTPOINT}/etc/hosts" )
fi
if [[ -e ${MOUNTPOINT}/etc/systemd/journald.conf ]]; then
((i++))
options+=( $i "journald" )
functions+=( "nano ${MOUNTPOINT}/etc/systemd/journald.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/conf.d/keymaps ]]; then
((i++))
options+=( $i "keymaps" )
functions+=( "nano ${MOUNTPOINT}/etc/conf.d/keymaps" )
fi
if [[ -e ${MOUNTPOINT}/etc/locale.conf ]]; then
((i++))
f=$(grep -o "=.*$" ${MOUNTPOINT}/etc/locale.conf -m 1)
options+=( $i "locales (${f:1})" )
functions+=( "nano ${MOUNTPOINT}/etc/locale.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/lightdm/lightdm.conf ]]; then
((i++))
options+=( $i "lightdm" )
functions+=( "nano ${MOUNTPOINT}/etc/lightdm/lightdm.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/lxdm/lxdm.conf ]]; then
((i++))
options+=( $i "lxdm" )
functions+=( "nano ${MOUNTPOINT}/etc/lxdm/lxdm.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/mkinitcpio.conf ]]; then
((i++))
options+=( $i "mkinitcpio" )
functions+=( "edit_mkinitcpio" )
fi
if [[ -e ${MOUNTPOINT}/etc/rc.conf ]]; then
((i++))
options+=( $i "openrc" )
functions+=( "nano ${MOUNTPOINT}/etc/rc.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/pacman.conf ]]; then
((i++))
options+=( $i "pacman" )
functions+=( "nano ${MOUNTPOINT}/etc/pacman.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/sddm.conf ]]; then
((i++))
options+=( $i "sddm" )
functions+=( "nano ${MOUNTPOINT}/etc/sddm.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/sudoers.conf ]]; then
((i++))
options+=( $i "sudoers" )
functions+=( "nano ${MOUNTPOINT}/etc/sudoers.conf" )
fi
if [[ -e ${MOUNTPOINT}/etc/default/grub ]]; then
((i++))
options+=( $i "grub" )
functions+=( "nano ${MOUNTPOINT}/etc/default/grub" )
fi
if [[ -e ${MOUNTPOINT}/boot/syslinux/syslinux.cfg ]]; then
((i++))
options+=( $i "syslinux" )
functions+=( "nano ${MOUNTPOINT}/boot/syslinux/syslinux.cfg" )
fi
if [[ -e ${MOUNTPOINT}/etc/vconsole.conf ]]; then
((i++))
options+=( $i "vconsole" )
functions+=( "nano ${MOUNTPOINT}/etc/vconsole.conf" )
fi
((i++))
options+=( $i "$_Back" )
functions+=( "return 0" )
while ((1)); do
submenu 13
DIALOG " $_SeeConfOptTitle " --default-item ${HIGHLIGHT_SUB} --menu "$_SeeConfOptBody" 0 0 $i \
"${options[@]}" 2>${ANSWER}
HIGHLIGHT_SUB=$(<${ANSWER})
choice="${HIGHLIGHT_SUB:-0}"
case "$choice" in
0) break ;; # btn cancel
*)
fn="${functions[$choice]}" # find attach working function in array
[ -n "$fn" ] && $fn
esac
done
}

@ -34,7 +34,10 @@ main_menu() {
;;
"3") check_base && config_base_menu
;;
"4") check_base && edit_configs
"4") check_base && {
import ${LIBDIR}/util-config.sh
edit_configs
}
;;
"5") check_base && {
import ${LIBDIR}/util-advanced.sh
@ -211,88 +214,6 @@ install_graphics_menu() {
esac
}
edit_configs() {
declare -i loopmenu=1
while ((loopmenu)); do
local PARENT="$FUNCNAME"
# Clear the file variables
FILE=""
user_list=""
submenu 13
DIALOG " $_SeeConfOptTitle " --default-item ${HIGHLIGHT_SUB} --menu "\n$_SeeConfOptBody\n " 0 0 13 \
"1" "/etc/vconsole.conf" \
"2" "/etc/locale.conf" \
"3" "/etc/hostname" \
"4" "/etc/hosts" \
"5" "/etc/sudoers" \
"6" "/etc/mkinitcpio.conf" \
"7" "/etc/fstab" \
"8" "/etc/crypttab" \
"9" "grub/syslinux" \
"10" "lxdm/lightdm/sddm" \
"11" "/etc/pacman.conf" \
"12" "~/.xinitrc" \
"13" "$_Back" 2>${ANSWER}
HIGHLIGHT_SUB=$(cat ${ANSWER})
case $(cat ${ANSWER}) in
"1") [[ -e ${MOUNTPOINT}/etc/vconsole.conf ]] && FILE="${MOUNTPOINT}/etc/vconsole.conf"
;;
"2") [[ -e ${MOUNTPOINT}/etc/locale.conf ]] && FILE="${MOUNTPOINT}/etc/locale.conf"
;;
"3") [[ -e ${MOUNTPOINT}/etc/hostname ]] && FILE="${MOUNTPOINT}/etc/hostname"
;;
"4") [[ -e ${MOUNTPOINT}/etc/hosts ]] && FILE="${MOUNTPOINT}/etc/hosts"
;;
"5") [[ -e ${MOUNTPOINT}/etc/sudoers ]] && FILE="${MOUNTPOINT}/etc/sudoers"
;;
"6") [[ -e ${MOUNTPOINT}/etc/mkinitcpio.conf ]] && FILE="${MOUNTPOINT}/etc/mkinitcpio.conf"
;;
"7") [[ -e ${MOUNTPOINT}/etc/fstab ]] && FILE="${MOUNTPOINT}/etc/fstab"
;;
"8") [[ -e ${MOUNTPOINT}/etc/crypttab ]] && FILE="${MOUNTPOINT}/etc/crypttab"
;;
"9") [[ -e ${MOUNTPOINT}/etc/default/grub ]] && FILE="${MOUNTPOINT}/etc/default/grub"
[[ -e ${MOUNTPOINT}/boot/syslinux/syslinux.cfg ]] && FILE="$FILE ${MOUNTPOINT}/boot/syslinux/syslinux.cfg"
if [[ -e ${MOUNTPOINT}${UEFI_MOUNT}/loader/loader.conf ]]; then
files=$(ls ${MOUNTPOINT}${UEFI_MOUNT}/loader/entries/*.conf)
for i in ${files}; do
FILE="$FILE ${i}"
done
fi
;;
"10") [[ -e ${MOUNTPOINT}/etc/lxdm/lxdm.conf ]] && FILE="${MOUNTPOINT}/etc/lxdm/lxdm.conf"
[[ -e ${MOUNTPOINT}/etc/lightdm/lightdm.conf ]] && FILE="${MOUNTPOINT}/etc/lightdm/lightdm.conf"
[[ -e ${MOUNTPOINT}/etc/sddm.conf ]] && FILE="${MOUNTPOINT}/etc/sddm.conf"
;;
"11") [[ -e ${MOUNTPOINT}/etc/pacman.conf ]] && FILE="${MOUNTPOINT}/etc/pacman.conf"
;;
"12") user_list=$(ls ${MOUNTPOINT}/home/ | sed "s/lost+found//")
for i in ${user_list}; do
[[ -e ${MOUNTPOINT}/home/$i/.xinitrc ]] && FILE="$FILE ${MOUNTPOINT}/home/$i/.xinitrc"
done
;;
*) loopmenu=0
return 0
;;
esac
if [[ $FILE != "" ]]; then
nano $FILE
if [[ $FILE == "${MOUNTPOINT}/etc/mkinitcpio.conf" ]]; then
dialog --backtitle "$VERSION - $SYSTEM ($ARCHI)" --yesno "\n${_MMRunMkinit}?\n " 0 0 && {
run_mkinitcpio 2>$ERR
check_for_error "run_mkinitcpio" "$?"
}
fi
else
DIALOG " $_ErrTitle " --msgbox "\n$_SeeConfErrBody\n " 0 0
fi
done
}
advanced_menu() {
declare -i loopmenu=1
while ((loopmenu)); do

Loading…
Cancel
Save