update_ui(){ top_border echo -e "| ${green}~~~~~~~~~~~~~~ [ Update Menu ] ~~~~~~~~~~~~~~${default} | " hr #echo -e "| Check the following website for important software | " #echo -e "| changes to the config file before updating Klipper: | " #echo -e "| | " #echo -e "| ${yellow}https://www.klipper3d.org/Config_Changes.html${default} | " #bottom_border #top_border echo -e "| 0) $BB4U_STATUS| " hr echo -e "| a) [Update all] | | | " echo -e "| | Local Vers: | Remote Vers: | " echo -e "| Klipper/Klipper API: |---------------|--------------| " echo -e "| 1) [Klipper] | $LOCAL_COMMIT | $REMOTE_COMMIT | " echo -e "| 2) [Moonraker] | $LOCAL_MOONRAKER_COMMIT | $REMOTE_MOONRAKER_COMMIT | " echo -e "| | | | " echo -e "| Klipper Webinterface: |---------------|--------------| " echo -e "| 3) [Mainsail] | $MAINSAIL_LOCAL_VER | $MAINSAIL_REMOTE_VER | " echo -e "| 4) [Fluidd] | $FLUIDD_LOCAL_VER | $FLUIDD_REMOTE_VER | " echo -e "| | | | " echo -e "| Touchscreen GUI: |---------------|--------------| " echo -e "| 5) [KlipperScreen] | $LOCAL_KLIPPERSCREEN_COMMIT | $REMOTE_KLIPPERSCREEN_COMMIT | " echo -e "| | | | " echo -e "| Other: |---------------|--------------| " echo -e "| 6) [DWC2-for-Klipper] | $LOCAL_DWC2FK_COMMIT | $REMOTE_DWC2FK_COMMIT | " echo -e "| 7) [DWC2 Web UI] | $DWC2_LOCAL_VER | $DWC2_REMOTE_VER | " echo -e "| |------------------------------| " echo -e "| 8) [System] | $DISPLAY_SYS_UPDATE | " quit_footer } update_menu(){ print_header #check system updates and compare component versions ui_print_versions print_msg && clear_msg read_bb4u_stat update_ui while true; do read -p "${cyan}Perform action:${default} " action; echo case "$action" in 0) clear print_header toggle_backups print_msg && clear_msg update_ui;; 1) clear print_header update_klipper && ui_print_versions print_msg && clear_msg update_ui;; 2) clear print_header update_dwc2fk && ui_print_versions print_msg && clear_msg update_ui;; 3) clear print_header update_dwc2 && ui_print_versions print_msg && clear_msg update_ui;; 4) clear print_header update_moonraker && ui_print_versions print_msg && clear_msg update_ui;; 5) clear print_header update_mainsail && ui_print_versions print_msg && clear_msg update_ui;; 6) clear print_header update_fluidd && ui_print_versions print_msg && clear_msg update_ui;; 7) clear print_header update_klipperscreen && ui_print_versions print_msg && clear_msg update_ui;; 8) clear print_header update_system && ui_print_versions print_msg && clear_msg update_ui;; a) clear print_header update_all && ui_print_versions print_msg && clear_msg update_ui;; Q|q) clear; main_menu; break;; *) clear print_header print_unkown_cmd print_msg && clear_msg ui_print_versions update_ui;; esac done update_menu }