forked from mirrored-repos/manjaro-tools
buildiso: readd DE detection and write vars to live.conf
This commit is contained in:
parent
274c4f1707
commit
c86feb1368
3 changed files with 58 additions and 0 deletions
1
Makefile
1
Makefile
|
@ -77,6 +77,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 = \
|
||||||
|
|
17
data/desktop.map
Normal file
17
data/desktop.map
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
openbox:openbox-session
|
||||||
|
bspwm:bspwm-session
|
||||||
|
jwm:jwm
|
||||||
|
i3:i3
|
||||||
|
fluxbox:startfluxbox
|
||||||
|
pekwm:pekwm
|
||||||
|
plasma:startkde
|
||||||
|
gnome:gnome-session
|
||||||
|
xfce:startxfce4
|
||||||
|
cinnamon:cinnamon-session-cinnamon
|
||||||
|
mate:mate-session
|
||||||
|
enlightenment:enlightenment_start
|
||||||
|
LXDE:lxsession
|
||||||
|
lxqt:lxqt-session
|
||||||
|
pantheon:pantheon-session
|
||||||
|
budgie-desktop:budgie-desktop
|
||||||
|
deepin:startdde
|
|
@ -190,6 +190,38 @@ configure_services(){
|
||||||
info "Done configuring [%s]" "${initsys}"
|
info "Done configuring [%s]" "${initsys}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_valid_de(){
|
||||||
|
if [[ ${default_desktop_executable} != "none" ]] && \
|
||||||
|
[[ ${default_desktop_file} != "none" ]]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
load_desktop_map(){
|
||||||
|
local _space="s| ||g" _clean=':a;N;$!ba;s/\n/ /g' _com_rm="s|#.*||g" \
|
||||||
|
file=${DATADIR}/desktop.map
|
||||||
|
local desktop_map=$(sed "$_com_rm" "$file" \
|
||||||
|
| sed "$_space" \
|
||||||
|
| sed "$_clean")
|
||||||
|
echo ${desktop_map}
|
||||||
|
}
|
||||||
|
|
||||||
|
detect_desktop_env(){
|
||||||
|
local xs=$1/usr/share/xsessions ex=$1/usr/bin key val map=( $(load_desktop_map) )
|
||||||
|
default_desktop_file="none"
|
||||||
|
default_desktop_executable="none"
|
||||||
|
for item in "${map[@]}";do
|
||||||
|
key=${item%:*}
|
||||||
|
val=${item#*:}
|
||||||
|
if [[ -f $xs/$key.desktop ]] && [[ -f $ex/$val ]];then
|
||||||
|
default_desktop_file="$key"
|
||||||
|
default_desktop_executable="$val"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
write_live_session_conf(){
|
write_live_session_conf(){
|
||||||
msg2 "Configuring live session ..."
|
msg2 "Configuring live session ..."
|
||||||
local path=$1${DATADIR}
|
local path=$1${DATADIR}
|
||||||
|
@ -214,6 +246,13 @@ write_live_session_conf(){
|
||||||
echo '' >> ${conf}
|
echo '' >> ${conf}
|
||||||
echo '# iso name' >> ${conf}
|
echo '# iso name' >> ${conf}
|
||||||
echo "iso_name=${iso_name}" >> ${conf}
|
echo "iso_name=${iso_name}" >> ${conf}
|
||||||
|
|
||||||
|
echo '' >> ${conf}
|
||||||
|
echo '# default_desktop_file' >> ${conf}
|
||||||
|
echo "default_desktop_file=${default_desktop_file}" >> ${conf}
|
||||||
|
echo '' >> ${conf}
|
||||||
|
echo '# default_desktop_executable' >> ${conf}
|
||||||
|
echo "default_desktop_executable=${default_desktop_executable}" >> ${conf}
|
||||||
}
|
}
|
||||||
|
|
||||||
configure_hosts(){
|
configure_hosts(){
|
||||||
|
@ -245,6 +284,7 @@ configure_system(){
|
||||||
|
|
||||||
configure_live_image(){
|
configure_live_image(){
|
||||||
msg "Configuring [live-image]"
|
msg "Configuring [live-image]"
|
||||||
|
detect_desktop_env "$1"
|
||||||
configure_hosts "$1"
|
configure_hosts "$1"
|
||||||
configure_plymouth "$1"
|
configure_plymouth "$1"
|
||||||
configure_lsb "$1"
|
configure_lsb "$1"
|
||||||
|
|
Loading…
Reference in a new issue