Closed FlorianReimold closed 2 years ago
I would love to work on this issue! :)
I like this!
@Kerstin-Keller proposed to me that we could use ftxui for this task instead of ncurses. This seems like much better solution to me (especially if we are going to support Windows), this library supports Linux/macOS/Windows and is much higher level than ncurses/pdcurses which should make code much simpler, also its quite popular. I'll write sample app to investigate it a bit further.
I am open to anything, ncurses just happens to be the more popular library. The curses API has originated in the 80th though, so you probably can do much better nowadays.
I've written small top clone which lists processes and shows RAM usage to test ftxui, so far I really like it, it's crossplatform, easily extensible, contains pretty much all components (such as tables, graphs etc.) we need, and if we need something specific it shouldn't be that hard to implement, it supports mouse input and (In my opinion) functional design of library is very elegant and intuitive to work with.
@brakmic-aleksandar I was spying on who is using FTXUI and how => Happy you like it!
If in the future, you need something to be developed or fixed, please don't hesitate to ask. There are WebAssembly examples that are worth looking to discover the existing elements. https://arthursonzogni.com/FTXUI/examples/?file=component/homescreen
It's merged!
Is your feature request related to a problem? Please describe.
At the moment, have 2 eCAL Mon applications:
The eCAL Mon GUI, which is feature rich and easy to use
The eCAL Mon CLI, which has basically no features (at least it feels like that đ), cannot be used from scripts (due to its blocking behaviour) and just overall feels unfinished and not well thought through.
So the latter one is the one we should improve. Especially if we more and more target headless machines and embedded systems, there really is a need for a proper eCAL monitor that can directly run on those systems.
Describe the solution you'd like
An eCAL Monitor that has 2 main modes:
A classic command line mode having MANY options. This mode should print a very clean STDOUT, either by default, or via an additonal parameter (
--cleanoutput
đ¤?), so this mode can also be used by other software and scripts to determine the state of anything in the eCAL network. In this mode, eCAL Mon CLI must always terminate in a forseeable (or configurable) time, so other scripts are not blocked.An ncurses mode for interactive use. Like htop. But for eCAL. I am sure that every developer would love such a thing.