diff --git a/kiauh.sh b/kiauh.sh index 9db6058..4fb5943 100755 --- a/kiauh.sh +++ b/kiauh.sh @@ -66,7 +66,7 @@ BRANCH_DEV_MOONRAKER=Arksine/dev-moonraker-testing BRANCH_SCURVE_SMOOTHING=dmbutyugin/scurve-smoothing BRANCH_SCURVE_SHAPING=dmbutyugin/scurve-shaping -print_error_msg(){ +print_msg(){ if [[ "$ERROR_MSG" != "" ]]; then echo -e "${red}" echo -e "#########################################################" @@ -74,11 +74,18 @@ print_error_msg(){ echo -e "#########################################################" echo -e "${default}" fi + if [ "$CONFIRM_MSG" != "" ]; then + echo -e "${green}" + echo -e "#########################################################" + echo -e "$CONFIRM_MSG " + echo -e "#########################################################" + echo -e "${default}" + fi } main_menu(){ print_header - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" #check install status klipper_status dwc2_status @@ -93,7 +100,7 @@ main_menu(){ clear print_header ERROR_MSG=" Sorry this function is not implemented yet!" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" main_ui;; 1) clear @@ -115,7 +122,7 @@ main_menu(){ clear print_header ERROR_MSG=" Sorry this function is not implemented yet!" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" main_ui;; Q|q) exit -1;; @@ -123,7 +130,7 @@ main_menu(){ clear print_header ERROR_MSG=" Unknown command '$action'" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" main_ui;; esac done @@ -140,25 +147,25 @@ install_menu(){ clear print_header install_klipper - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" install_ui;; 2) clear print_header dwc2_install_routine - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" install_ui;; 3) clear print_header mainsail_install_routine - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" install_ui;; 4) clear print_header octoprint_install_routine - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" install_ui;; Q|q) clear; main_menu; break;; @@ -166,7 +173,7 @@ install_menu(){ clear print_header ERROR_MSG=" Unknown command '$action'" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" install_ui;; esac done @@ -186,31 +193,31 @@ update_menu(){ clear print_header toggle_backups - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" update_ui;; 1) clear print_header update_klipper && ui_print_versions - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" update_ui;; 2) clear print_header update_dwc2fk && ui_print_versions - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" update_ui;; 3) clear print_header update_dwc2 && ui_print_versions - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" update_ui;; 4) clear print_header update_mainsail && ui_print_versions - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" update_ui;; Q|q) clear; main_menu; break;; @@ -218,7 +225,7 @@ update_menu(){ clear print_header ERROR_MSG=" Unknown command '$action'" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" ui_print_versions update_ui;; esac @@ -236,25 +243,25 @@ remove_menu(){ clear print_header remove_klipper - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" remove_ui;; 2) clear print_header remove_dwc2 - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" remove_ui;; 3) clear print_header remove_mainsail - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" remove_ui;; 4) clear print_header remove_octoprint - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" remove_ui;; Q|q) clear; main_menu; break;; @@ -262,7 +269,7 @@ remove_menu(){ clear print_header ERROR_MSG=" Unknown command '$action'" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" remove_ui;; esac done @@ -271,45 +278,54 @@ remove_menu(){ advanced_menu(){ print_header - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" + read_octoprint_service_status advanced_ui while true; do read -p "Perform action: " action; echo case "$action" in + 0) + clear + print_header + toggle_octoprint_service + read_octoprint_service_status + print_msg && CONFIRM_MSG="" && ERROR_MSG="" + advanced_ui;; 1) clear + print_header switch_menu - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" advanced_ui;; 2) clear print_header build_fw - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" advanced_ui;; 3) clear print_header flash_routine - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" advanced_ui;; 4) clear print_header get_usb_id - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" advanced_ui;; 5) clear print_header get_usb_id && write_printer_id - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" advanced_ui;; 6) clear print_header create_dwc2fk_cfg - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" advanced_ui;; Q|q) clear; main_menu; break;; @@ -317,7 +333,7 @@ advanced_menu(){ clear print_header ERROR_MSG=" Unknown command '$action'" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" advanced_ui;; esac done @@ -325,10 +341,9 @@ advanced_menu(){ } switch_menu(){ - print_header if [ -d $KLIPPER_DIR ]; then read_branch - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" switch_ui while true; do read -p "Perform action: " action; echo @@ -338,35 +353,35 @@ switch_menu(){ print_header switch_to_origin read_branch - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" switch_ui;; 2) clear print_header switch_to_scurve_shaping read_branch - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" switch_ui;; 3) clear print_header switch_to_scurve_smoothing read_branch - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" switch_ui;; 4) clear print_header switch_to_moonraker read_branch - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" switch_ui;; 5) clear print_header switch_to_dev_moonraker read_branch - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" switch_ui;; Q|q) clear; advanced_menu; break;; @@ -379,7 +394,7 @@ switch_menu(){ backup_menu(){ print_header - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" backup_ui while true; do read -p "Perform action: " action; echo @@ -388,7 +403,7 @@ backup_menu(){ clear print_header #function goes here - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" backup_ui;; Q|q) clear; main_menu; break;; @@ -396,7 +411,7 @@ backup_menu(){ clear print_header ERROR_MSG=" Unknown command '$action'" - print_error_msg && ERROR_MSG="" + print_msg && CONFIRM_MSG="" && ERROR_MSG="" backup_ui;; esac done diff --git a/scripts/functions.sh b/scripts/functions.sh index 71de49f..29cf093 100644 --- a/scripts/functions.sh +++ b/scripts/functions.sh @@ -219,3 +219,25 @@ flash_mcu(){ fi start_klipper } + +toggle_octoprint_service(){ + if systemctl is-enabled octoprint.service -q; then + status_msg "Service is enabled! Disabling now ..." + sudo systemctl stop octoprint && sudo systemctl disable octoprint -q + sleep 2 + CONFIRM_MSG=" Octoprint Service is now >>> DISABLED <<< !" + else + status_msg "Service is disabled! Enabling now ..." + sudo systemctl enable octoprint -q && sudo systemctl start octoprint + sleep 2 + CONFIRM_MSG=" Octoprint Service is now >>> ENABLED <<< !" + fi +} + +read_octoprint_service_status(){ + if ! systemctl is-enabled octoprint.service -q; then + OPRINT_SERVICE_STATUS="${green}[Enable]${default} Octoprint service " + else + OPRINT_SERVICE_STATUS="${red}[Disable]${default} Octoprint service " + fi +} \ No newline at end of file diff --git a/scripts/ui.sh b/scripts/ui.sh index e724eb9..d58308f 100644 --- a/scripts/ui.sh +++ b/scripts/ui.sh @@ -105,6 +105,9 @@ advanced_ui(){ top_border echo -e "| $(title_msg "~~~~~~~~~~~~~ [ Advanced Menu ] ~~~~~~~~~~~~~") | " hr + echo -e "| 0) $OPRINT_SERVICE_STATUS| " + hr + echo -e "| | " echo -e "| 1) [Switch Klipper version] | " echo -e "| | " echo -e "| 2) [Build Firmware] | " @@ -113,8 +116,6 @@ advanced_ui(){ echo -e "| 5) [Write Printer-ID to printer.cfg] | " echo -e "| 6) [Write DWC2-for-klipper config] | " echo -e "| | " - echo -e "| x) [Enable/Disable Octoprint service] | " - echo -e "| | " quit_footer }