PMCC-BioinformaticsCore / janis

[Alpha] Janis: an open source tool to machine generate type-safe CWL and WDL workflows
https://janis.readthedocs.io/
GNU General Public License v3.0
41 stars 13 forks source link

janis watch support 'q' for quit #20

Open bjpop opened 4 years ago

bjpop commented 4 years ago

It is not clear what is the preferred way to stop janis watch.

Currently I am just control-c, but that seems inelegant.

Some interactive Unix tools support pressing 'q' for quit (e.g. less).

This is a minor issue, but maybe janis watch could do the same, and perhaps print a message down the bottom that q will quit the program.

illusional commented 4 years ago

Hi @bjpop, this would be a good addition to to the watch screen.

I started working on this a while ago to support curses, or allowing janis watch to not clear the screen (like how htop does it). The "Press 'q' to quit" functionality is implemented here: management/workflowmanager.py#L353-L388.

I used the Python module blessed (and is actually still a dependency), but I ran into trouble with allowing the progress screen to scroll if you have many tasks, so I have put it on hold for now. I think it's possible by overriding the scroll and up/down keyboard events and only printing certain elements to memory, but very happy to take guidance on this.

Dev note: Uncomment workflowmanager.py#L316-L326 to re-enable this behaviour.