#!/bin/sh set -e FILES_TO_DIVERT=" /etc/gtk-2.0/gtkrc /etc/lightdm/lightdm-gtk-greeter.conf /etc/plymouth/plymouthd.conf /etc/sddm.conf.d/kde_settings.conf /etc/xdg/compton.conf /etc/xdg/gtk-3.0/settings.ini /etc/xdg/kdeglobals /etc/xdg/konsolerc /etc/xdg/kscreenlockerrc /etc/xdg/kwinrc /etc/xdg/plasmarc /etc/xdg/qt5ct/qt5ct.conf /etc/xdg/qterminal.org/qterminal.ini /etc/xdg/xfce4/helpers.rc /etc/xdg/xfce4/panel/default.xml /etc/xdg/xfce4/terminal/terminalrc /etc/xdg/xfce4/whiskermenu/defaults.rc /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml /etc/xdg/Thunar/uca.xml /etc/xdg/Thunar/accels.scm /etc/xdg/yakuakerc " # END FILES_TO_DIVERT install_all() { local opt=$1 for file in $FILES_TO_DIVERT do install_config_file "$file" "$opt" done } install_config_file() { local file=$1 local opt=$2 local orig_file="/usr/share/kali-themes$file" if [ "$opt" = "force" ] || ([ ! -e $file ] && [ -e $orig_file ]); then echo "Installing $orig_file as $file" mkdir -p $(dirname $file) cp $orig_file $file fi } remove_config_file() { rm -f $1 dpkg-divert --rename --package kali-themes \ --divert "$1.original" \ --remove "$1" } if [ "$1" = "configure" ]; then if [ -z "$2" ]; then # Initial install install_all force else # Upgrade all files once if dpkg --compare-versions "$2" lt "2019.4.18"; then install_all force fi if dpkg --compare-versions "$2" lt "2020.2.3"; then # Force upgrade modified config files install_config_file /etc/xdg/xfce4/terminal/terminalrc force install_config_file /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml force install_config_file /etc/xdg/kscreenlockerrc force fi if dpkg --compare-versions "$2" lt "2021.1.1"; then remove_config_file /etc/xdg/Trolltech.conf fi if dpkg --compare-versions "$2" lt "2021.2.0"; then install_config_file /etc/lightdm/lightdm-gtk-greeter.conf force fi if dpkg --compare-versions "$2" lt "2021.2.1"; then install_config_file /etc/xdg/xfce4/whiskermenu/defaults.rc force fi if dpkg --compare-versions "$2" lt "2021.2.3"; then install_config_file /etc/xdg/Thunar/uca.xml force install_config_file /etc/xdg/Thunar/accels.scm force fi if dpkg --compare-versions "$2" lt "2021.3.0"; then install_config_file /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml force install_config_file /etc/xdg/qterminal.org/qterminal.ini force install_config_file /etc/xdg/kdeglobals force install_config_file /etc/xdg/xfce4/helpers.rc force fi if dpkg --compare-versions "$2" lt "2021.4.1"; then install_config_file /etc/xdg/kwinrc force fi if dpkg --compare-versions "$2" lt "2021.4.2"; then install_config_file /etc/xdg/qt5ct/qt5ct.conf force install_config_file /etc/xdg/xfce4/panel/default.xml force install_config_file /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml force fi # Install remaining new files install_all fi # Disable some backgrounds in Gnome and KDE while read file; do mkdir -p "$(dirname $file)/disabled" dpkg-divert --rename --package kali-themes \ --divert "$(dirname $file)/disabled/$(basename $file)" \ --add "$file" done << EOF /usr/share/gnome-background-properties/debian-futureprototype.xml /usr/share/gnome-background-properties/debian-homeworld.xml /usr/share/gnome-background-properties/debian-joy-inksplat.xml /usr/share/gnome-background-properties/debian-joy.xml /usr/share/gnome-background-properties/debian-lines.xml /usr/share/gnome-background-properties/debian-moonlight.xml /usr/share/gnome-background-properties/debian-softwaves.xml /usr/share/gnome-background-properties/debian-spacefun.xml /usr/share/gnome-background-properties/gnome-backgrounds.xml /usr/share/wallpapers/FuturePrototype /usr/share/wallpapers/FuturePrototypeWithLogo /usr/share/wallpapers/homeworld /usr/share/wallpapers/homeworld_wallpaper /usr/share/wallpapers/Joy /usr/share/wallpapers/JoyInksplat /usr/share/wallpapers/JoyLockScreen /usr/share/wallpapers/Lines /usr/share/wallpapers/LinesLockScreen /usr/share/wallpapers/moonlight /usr/share/wallpapers/MoonlightLockScreen /usr/share/wallpapers/SoftWaves /usr/share/wallpapers/SoftWavesLockScreen /usr/share/wallpapers/SpaceFun EOF # Configure /root/.face to have a red-background avatar if [ ! -e /root/.face ]; then cp /usr/share/kali-themes/.face-root.svg /root/.face fi ln -sf /root/.face /root/.face.icon # If installed, replace default-browser with firefox in xfce4-panel if dpkg-query --list firefox-esr | grep -q "^[ih][HUFWti] " ; then echo "firefox-esr package found, replacing default-browser in xfce4-panel" sed -i 's/xfce4-web-browser/firefox-esr/' /etc/xdg/xfce4/panel/default.xml fi # Copy grub theme to /boot mkdir -p /boot/grub/themes/kali # Remove old symlink created by postinst in 2020.3.0 rm -f /boot/grub/themes/kali/background.png cp -r /usr/share/grub/themes/kali/* /boot/grub/themes/kali/ # Set grub theme background # Use background with 16x9 aspect ratio for efi installations detected # by the presence of grub-efi* packages (not the grub-efi*-bin which don’t # necessary account for grub being the active bootloader). if dpkg-query --list grub-efi* | grep -v "^... grub-efi[^[:space:]]*-bin" | grep -q "^[ih][HUFWti] " ; then echo "grub-efi* packages found, using 16/9 as default grub background ratio" cp /boot/grub/themes/kali/grub-16x9.png /boot/grub/themes/kali/background.png else echo "No grub-efi* package found, using 4/3 as default grub background ratio" cp /boot/grub/themes/kali/grub-4x3.png /boot/grub/themes/kali/background.png fi # Rebuild the grub configuration with our config changes if which update-grub >/dev/null; then update-grub || true fi # Rebuild the initrd for plymouth if which update-initramfs >/dev/null; then update-initramfs -u fi fi #DEBHELPER#