def start_rescue_mode_ui(anaconda): """Start the rescue mode UI.""" ksdata_rescue = None if anaconda.ksdata.rescue.seen: ksdata_rescue = anaconda.ksdata.rescue scripts = anaconda.ksdata.scripts storage = anaconda.storage reboot = True if conf.target.is_image: reboot = False if flags.automatedInstall and anaconda.ksdata.reboot.action not in [KS_REBOOT, KS_SHUTDOWN]: reboot = False rescue = Rescue(storage, ksdata_rescue, reboot, scripts) rescue.initialize() # We still want to choose from multiple roots, or unlock encrypted devices # if needed, so we run UI even for kickstarts (automated install). App.initialize() loop = App.get_event_loop() loop.set_quit_callback(tui_quit_callback) spoke = RescueModeSpoke(rescue) ScreenHandler.schedule_screen(spoke) App.run()
def start_rescue_mode_ui(anaconda): """Start the rescue mode UI.""" ksdata_rescue = None if anaconda.ksdata.rescue.seen: ksdata_rescue = anaconda.ksdata.rescue scripts = anaconda.ksdata.scripts storage = anaconda.storage reboot = True if conf.target.is_image: reboot = False if flags.automatedInstall and anaconda.ksdata.reboot.action not in [ KS_REBOOT, KS_SHUTDOWN ]: reboot = False rescue = Rescue(storage, ksdata_rescue, reboot, scripts) rescue.initialize() # We still want to choose from multiple roots, or unlock encrypted devices # if needed, so we run UI even for kickstarts (automated install). App.initialize() loop = App.get_event_loop() loop.set_quit_callback(tui_quit_callback) spoke = RescueModeSpoke(rescue) ScreenHandler.schedule_screen(spoke) App.run()
def changeVNCPasswdWindow(self): """ Change the password to a sane parameter. We ask user to input a password that (len(password) > 6 and len(password) <= 8) or password == ''. """ message = _("VNC password must be six to eight characters long.\n" "Please enter a new one, or leave blank for no password.") App.initialize() loop = App.get_event_loop() loop.set_quit_callback(tui_quit_callback) spoke = VNCPassSpoke(self.anaconda.ksdata, None, None, None, message) ScreenHandler.schedule_screen(spoke) App.run() self.password = self.anaconda.ksdata.vnc.password
def changeVNCPasswdWindow(self): """ Change the password to a sane parameter. We ask user to input a password that (len(password) > 6 and len(password) <= 8) or password == ''. """ message = _("VNC password must be six to eight characters long.\n" "Please enter a new one, or leave blank for no password.") App.initialize() loop = App.get_event_loop() loop.set_quit_callback(tui_quit_callback) spoke = VNCPassSpoke(self.anaconda.ksdata, None, None, message) ScreenHandler.schedule_screen(spoke) App.run() self.password = self.anaconda.ksdata.vnc.password
def ask_vnc_question(anaconda, vnc_server, message): """ Ask the user if TUI or GUI-over-VNC should be started. :param anaconda: instance of the Anaconda class :param vnc_server: instance of the VNC server object :param str message: a message to show to the user together with the question """ App.initialize() loop = App.get_event_loop() loop.set_quit_callback(tui_quit_callback) spoke = AskVNCSpoke(anaconda.ksdata, message) ScreenHandler.schedule_screen(spoke) App.run() if anaconda.ksdata.vnc.enabled: if not anaconda.gui_mode: log.info("VNC requested via VNC question, switching Anaconda to GUI mode.") anaconda.display_mode = constants.DisplayModes.GUI flags.usevnc = True vnc_server.password = anaconda.ksdata.vnc.password
def ask_vnc_question(anaconda, vnc_server, message): """ Ask the user if TUI or GUI-over-VNC should be started. :param anaconda: instance of the Anaconda class :param vnc_server: instance of the VNC server object :param str message: a message to show to the user together with the question """ App.initialize() loop = App.get_event_loop() loop.set_quit_callback(tui_quit_callback) spoke = AskVNCSpoke(anaconda.ksdata, message) ScreenHandler.schedule_screen(spoke) App.run() if anaconda.ksdata.vnc.enabled: if not anaconda.gui_mode: log.info("VNC requested via VNC question, switching Anaconda to GUI mode.") anaconda.display_mode = constants.DisplayModes.GUI flags.usevnc = True vnc_server.password = anaconda.ksdata.vnc.password
# input is then required from the user. if num2 == 0: return InputState.DISCARDED self._message = int(num1 / num2) # Because this input is processed we need to show this screen (show the result). # This will call refresh so our new result will be processed inside of the refresh() # method. return InputState.PROCESSED_AND_REDRAW else: # Not input for our screen, try other default inputs. This will result in the # same state as DISCARDED when no default option is used. return key if __name__ == "__main__": # Initialize application (create scheduler and event loop). App.initialize() # Create our screen. screen = DividerScreen() # Schedule screen to the screen scheduler. # This can be called only after App.initialize(). ScreenHandler.schedule_screen(screen) # Run the application. You must have some screen scheduled # otherwise it will end in an infinite loop. App.run()
def __init__(self): super().__init__("Counter Screen") self._counter = 0 def closed(self): super().closed() self.screen_ready = False def setup(self, args=None): super().setup(args) self._counter += 1 return True def refresh(self, args=None): """Write message to user.""" super().refresh(args) w = TextWidget("Counter {}".format(self._counter)) self.window.add_with_separator(CenterWidget(w)) @property def counter(self): return self._counter if __name__ == "__main__": App.initialize() hub = Hub() ScreenHandler.schedule_screen(hub) App.run()
return InputState.PROCESSED_AND_CLOSE return key if __name__ == "__main__": # Read the KVM Configuration c_parser = ConfigParser() kvms = c_parser.parse_configs("./tui/configs") os_configs = c_parser.parse_os_configs("./tui/configs") # Initialize application (create scheduler and event loop). App.initialize() # Create our screen. screen = MainMenu() # Schedule screen to the screen scheduler. # This can be called only after App.initialize(). ScreenHandler.schedule_screen(screen, args={ "kvms": kvms, "os": os_configs }) # Run the application. You must have some screen scheduled # otherwise it will end in an infinite loop. App.run()