cylc / cylc-ui

Web app for monitoring and controlling Cylc workflows
https://cylc.github.io
GNU General Public License v3.0
37 stars 27 forks source link

Keyboard interaction for desktop & laptop use #140

Open sadielbartholomew opened 5 years ago

sadielbartholomew commented 5 years ago

To complement mouse clicks & movement (or touches for mobile & tablet) as the main & comprehensive means to interact with the UI, we could (eventually) support basic keyboard control.

Some possibilities:

Most common actions to assign to keystrokes, such as 'save', 'undo-redo' & 'cut-copy-paste', do not make sense in the context of workflows (or at least, would be ambiguous under those terms), though certain ones such as 'open-close' & 'select all' could be applicable (for view panels/tabs, & for elements in nested lists for Tree View & gscan, respectively).

  1. arrow (up, down, left, right) keys for navigating through:
    1. the current selection on items from lists such as in gscan & the Tree View;
    2. displayed graph nodes, if we can apply some algorithm to make a sensible choice for what the node 'left' (for example) to another would be (perhaps based on the displayed dependency chain)?
    3. different views?
  2. keyboard shortcuts, for example to:
    1. execute menu items for the selected item (task, job, workflow, etc.)
    2. open & close views;
    3. zoom in/out within views;
    4. toggle between various displayed elements (e.g. between showing tasks or jobs only, or both alongside each other).

Questions:

My thoughts:

kinow commented 5 years ago

Sounds like a good idea, and most users of Cylc would be familiar with vim, command line, etc. So +1.

In GitHub UI, there are several shortcuts. If you open a large file (e.g. https://github.com/python/cpython/blob/master/Python/compile.c) it is possible to experiment with a few:

I think we just need to make sure to have documentation like they do so users can reference to that.

MartinRyan commented 5 years ago

Gestures, for devices like ipads and touchscreen laptops could be useful... https://github.com/mlyknown/vue-gesture

oliver-sanders commented 2 years ago

/ for search (i.e. task filter)

wxtim commented 1 year ago

IMO these should be consistent with Cylc TUI