diff --git a/v2/debian-full.sh b/v2/debian-full.sh index 081ce47..504be35 100755 --- a/v2/debian-full.sh +++ b/v2/debian-full.sh @@ -135,15 +135,27 @@ if [[ "${DE}" == "xfce" || "${DDE}" == "xfce" ]]; then exit 1 fi - # 2. Copy files from source to destination recursively + # 2. Aggressively Stop Xfce Processes + say_yellow "Stopping Xfce Panel and Configuration Daemon to prevent settings overwrite..." + pkill xfce4-panel + pkill xfconfd + pkill xfwm4 + sleep 1 + + # 3. Copy files from source to destination recursively say_yellow "Copying all files and directories (including hidden ones) from $SOURCE_DIR to $DEST_DIR" shopt -s dotglob cp -vrf "$SOURCE_DIR"/* "$DEST_DIR"/ shopt -u dotglob - # 3. CRITICAL FIX: Reset the xfconf channel to force the daemon to re-read the file. - say_yellow "Forcing Xfconf daemon to reset panel settings and load the new XML..." - xfconf-query -c xfce4-panel -r / + # 4. Restart Xfce processes to load the new configuration + say_cyan "Restarting Xfce environment components to load the new layout..." + # Restart the Window Manager first + xfwm4 --replace & disown + # Restart the Panel + xfce4-panel & disown + say_green "Configurations copied and successfully loaded." + say_cyan "Panel and Window Manager restarted." fi