Skip to content

Interactive CLI Mode

David Leins edited this page Feb 5, 2019 · 3 revisions

About

The CLI UI is a slim user interface based on the urwid python library. Initially the intention behind this UI was to provide a semi-graphical interface on minimal systems that have no xserver installed. The idea was, that one could connect to a machine running hyperion and start the cli interface to have direct access to the server control. Once the architecture changed to a larger scale server/client model, that thought became obsolete, but at that point the CLI UI could do anything the PyQt UI was able to do (in terms of control functionality) and I found myself always using it because its fast and handy, so I decided to keep it.

Example Screenshot

Image: Interactive CLI (February 2019)

1: Title of the currently loaded config file.

2: Dynamic tab bar that allows only displaying components of a specific group.

3: List of components. A component entry (from left to right) consists of the component id (component name@component host), a status description with an additional color code and a start, a stop, a check and a show log button.

4: A small menu bar containing buttons that trigger actions involving all components.

5: Toggled logs are shown in this part of the window. Every new log widget is inserted as last object in a grid spanning over the rest of the window.

6: Menu widget containing host information. Host status is displayed via color code, clicking a host will one out of two things: if the host is connected, the respective log of the host (slave or server) is opened in the log grid. If it's not connected, an attempt to connect is started.

7: This part of the window displays the UI log (if started in standalone mode, this includes the server log output). This section always overlays but it can be toggled by pressing the K key. With an 'L' keypress the log is set to active scrolling mode (can be scrolled up or down with respective arrow keys). If a log is not in scrolling mode it will always display the bottom line.

TODO: Controls

Clone this wiki locally