Only show desktop icons when ready

This commit is contained in:
Bob Mottram 2016-07-30 13:12:32 +01:00
parent 78508be07d
commit 7d02a03a92
2 changed files with 61 additions and 42 deletions

View File

@ -575,27 +575,6 @@ function mesh_client_startup_applications {
mkdir -p $rootdir/home/$MY_USERNAME/.config/autostart mkdir -p $rootdir/home/$MY_USERNAME/.config/autostart
fi fi
echo '[Desktop Entry]' > $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo 'Name=Tox Chat' >> $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo 'Type=Application' >> $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo 'Comment=Chat, VoIP, Video' >> $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo 'TryExec=qtox -p data' >> $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo 'Exec=qtox -p data' >> $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo 'Icon=qtox' >> $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo 'StartupNotify=true' >> $rootdir/home/$MY_USERNAME/Desktop/tox.desktop
echo '[Desktop Entry]' > $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Version=1.0' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Name=New Identity' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Type=Application' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Comment=Create a new identity' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Exec=mate-terminal -e freedombone-mesh-reset' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Icon=user-away' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Terminal=false' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Categories=Application;' >> $rootdir/home/$MY_USERNAME/Desktop/new_identity.desktop
#cp $rootdir/home/$MY_USERNAME/Desktop/tox.desktop $rootdir/home/$MY_USERNAME/.config/autostart/tox.desktop
chroot "$rootdir" chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config chroot "$rootdir" chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.config
} }
@ -614,16 +593,6 @@ function mesh_desktop_icons {
echo 'Icon=terminal' >> $rootdir/home/$MY_USERNAME/Desktop/terminal.desktop echo 'Icon=terminal' >> $rootdir/home/$MY_USERNAME/Desktop/terminal.desktop
echo 'StartupNotify=true' >> $rootdir/home/$MY_USERNAME/Desktop/terminal.desktop echo 'StartupNotify=true' >> $rootdir/home/$MY_USERNAME/Desktop/terminal.desktop
# browse
echo '[Desktop Entry]' > $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Name=Mesh' >> $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Type=Application' >> $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Comment=Browse the mesh' >> $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
echo 'TryExec=meshweb' >> $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Exec=meshweb' >> $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
echo "Icon=$BROWSER" >> $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
echo 'StartupNotify=true' >> $rootdir/home/$MY_USERNAME/Desktop/mesh.desktop
chroot "$rootdir" chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop chroot "$rootdir" chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Desktop
} }

View File

@ -463,6 +463,48 @@ function create_tox_user {
toxid -u $MY_USERNAME -n data toxid -u $MY_USERNAME -n data
chown -R ${MY_USERNAME}:${MY_USERNAME} /home/${MY_USERNAME}/.config chown -R ${MY_USERNAME}:${MY_USERNAME} /home/${MY_USERNAME}/.config
fi fi
if [ ! -d /home/$MY_USERNAME/Desktop ]; then
return
fi
echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/tox.desktop
echo 'Name=Tox Chat' >> /home/$MY_USERNAME/Desktop/tox.desktop
echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/tox.desktop
echo 'Comment=Chat, VoIP, Video' >> /home/$MY_USERNAME/Desktop/tox.desktop
echo 'TryExec=qtox -p data' >> /home/$MY_USERNAME/Desktop/tox.desktop
echo 'Exec=qtox -p data' >> /home/$MY_USERNAME/Desktop/tox.desktop
echo 'Icon=qtox' >> /home/$MY_USERNAME/Desktop/tox.desktop
echo 'StartupNotify=true' >> /home/$MY_USERNAME/Desktop/tox.desktop
chown ${MY_DESKTOP}:${MY_DESKTOP} /home/$MY_USERNAME/Desktop/*
}
function show_desktop_icons {
if [ ! -d /home/$MY_USERNAME/Desktop ]; then
return
fi
echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Name=Mesh' >> /home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Comment=Browse the mesh' >> /home/$MY_USERNAME/Desktop/mesh.desktop
echo 'TryExec=meshweb' >> /home/$MY_USERNAME/Desktop/mesh.desktop
echo 'Exec=meshweb' >> /home/$MY_USERNAME/Desktop/mesh.desktop
echo "Icon=$BROWSER" >> /home/$MY_USERNAME/Desktop/mesh.desktop
echo 'StartupNotify=true' >> /home/$MY_USERNAME/Desktop/mesh.desktop
echo '[Desktop Entry]' > /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Version=1.0' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Name=New Identity' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Type=Application' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Comment=Create a new identity' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Exec=mate-terminal -e freedombone-mesh-reset' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Icon=user-away' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Terminal=false' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
echo 'Categories=Application;' >> /home/$MY_USERNAME/Desktop/new_identity.desktop
chown ${MY_DESKTOP}:${MY_DESKTOP} /home/$MY_USERNAME/Desktop/*
} }
function disable_password_logins { function disable_password_logins {
@ -680,6 +722,20 @@ function setup_amnesic_data {
fi fi
} }
function setup_dconf {
if [ -d /home/${MY_USERNAME}/Desktop ]; then
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
dconf write /org/mate/caja/desktop/computer-icon-visible false
dconf write /org/mate/caja/desktop/home-icon-visible false
dconf write /org/mate/caja/desktop/network-icon-visible false
dconf write /org/mate/caja/desktop/trash-icon-visible false
dconf write /org/mate/caja/desktop/volumes-visible false
dconf write /org/mate/desktop/media-handling/automount-open false
fi
}
# whether to reset the identity # whether to reset the identity
set_new_identity= set_new_identity=
if [ $2 ]; then if [ $2 ]; then
@ -716,6 +772,8 @@ if [ -f $MESH_INSTALL_SETUP ]; then
fi fi
echo $'Beginning mesh node setup' >> $INSTALL_LOG echo $'Beginning mesh node setup' >> $INSTALL_LOG
setup_dconf
tomb slam all tomb slam all
enable_batman_daemon enable_batman_daemon
create_ram_disk 1 create_ram_disk 1
@ -737,20 +795,12 @@ if [ -f $MESH_INSTALL_SETUP ]; then
rm $MESH_INSTALL_SETUP rm $MESH_INSTALL_SETUP
systemctl disable mesh-setup.service systemctl disable mesh-setup.service
else else
# kill the MATE file manager which pops up when
# encrypted drives are mounted if [ -d /home/${MY_USERNAME}/Desktop ]; then
pkill caja pkill caja
fi fi
if [ -d /home/${MY_USERNAME}/Desktop ]; then show_desktop_icons
# Remove the Icon from the desktop
dconf write /org/mate/caja/desktop/computer-icon-visible false
dconf write /org/mate/caja/desktop/home-icon-visible false
dconf write /org/mate/caja/desktop/network-icon-visible false
dconf write /org/mate/caja/desktop/trash-icon-visible false
dconf write /org/mate/caja/desktop/volumes-visible false
dconf write /org/mate/desktop/media-handling/automount-open false
fi
mesh_restart_daemons mesh_restart_daemons
if [ ! -f $MESH_INSTALL_COMPLETED ]; then if [ ! -f $MESH_INSTALL_COMPLETED ]; then