forked from mirrored-repos/manjaro-tools
[util-iso-image] add and load desktop.map for DE detection
This commit is contained in:
parent
ee1d11bb3c
commit
38ecf53178
2 changed files with 24 additions and 28 deletions
1
Makefile
1
Makefile
|
@ -76,6 +76,7 @@ LIBS_ISO = \
|
||||||
|
|
||||||
SHARED_ISO = \
|
SHARED_ISO = \
|
||||||
data/pacman-gfx.conf \
|
data/pacman-gfx.conf \
|
||||||
|
data/desktop.map \
|
||||||
data/profile.conf.example
|
data/profile.conf.example
|
||||||
|
|
||||||
CPIOHOOKS = \
|
CPIOHOOKS = \
|
||||||
|
|
|
@ -166,25 +166,6 @@ configure_environment(){
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
declare -A desktop_list=(
|
|
||||||
[plasma]=startkde
|
|
||||||
[kde-plasma]=startkde
|
|
||||||
[gnome]=gnome-session
|
|
||||||
[xfce]=startxfce4
|
|
||||||
[cinnamon]=cinnamon-session-cinnamon
|
|
||||||
[mate]=mate-session
|
|
||||||
[enlightenment]=enlightenment_start
|
|
||||||
[LXDE]=lxsession
|
|
||||||
[lxqt]=lxqt-session
|
|
||||||
[pekwm]=pekwm
|
|
||||||
[pantheon]=pantheon-session
|
|
||||||
[budgie-desktop]=budgie-desktop
|
|
||||||
[i3]=i3
|
|
||||||
[openbox]=openbox-session
|
|
||||||
[fluxbox]=startfluxbox
|
|
||||||
[deepin]=startdde
|
|
||||||
)
|
|
||||||
|
|
||||||
# $1: chroot
|
# $1: chroot
|
||||||
# $2: user
|
# $2: user
|
||||||
configure_accountsservice(){
|
configure_accountsservice(){
|
||||||
|
@ -197,16 +178,30 @@ configure_accountsservice(){
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
load_desktop_map(){
|
||||||
|
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g" \
|
||||||
|
file=${DATADIR}/desktop.map
|
||||||
|
msg3 "Loading [$file] ..."
|
||||||
|
local desktop_map=$(sed "$_com_rm" "$file" \
|
||||||
|
| sed "$_space" \
|
||||||
|
| sed "$_clean")
|
||||||
|
echo ${desktop_map}
|
||||||
|
}
|
||||||
|
|
||||||
detect_desktop_env(){
|
detect_desktop_env(){
|
||||||
local xs=$1/usr/share/xsessions ex=$1/usr/bin
|
local xs=$1/usr/share/xsessions ex=$1/usr/bin key val map=( $(load_desktop_map) )
|
||||||
|
if [[ "${default_desktop_executable}" == "none" ]] || \
|
||||||
|
[[ ${default_desktop_file} == "none" ]]; then
|
||||||
msg2 "Trying to detect desktop environment ..."
|
msg2 "Trying to detect desktop environment ..."
|
||||||
for item in ${!desktop_list[@]};do
|
for item in "${map[@]}";do
|
||||||
if [[ -f $ex/${desktop_list[$item]} ]] && \
|
key=${item%:*}
|
||||||
[[ -f $xs/$item.desktop ]];then
|
val=${item#*:}
|
||||||
default_desktop_executable="${desktop_list[$item]}"
|
if [[ -f $xs/$key.desktop ]] && [[ -f $ex/$val ]];then
|
||||||
default_desktop_file="${item}"
|
default_desktop_file="$key"
|
||||||
|
default_desktop_executable="$val"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
msg2 "Detected: ${default_desktop_file}"
|
msg2 "Detected: ${default_desktop_file}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue