wtfutil / wtf

The personal information dashboard for your terminal
http://wtfutil.com
Mozilla Public License 2.0
15.85k stars 804 forks source link

What and where are the Keybinding for WTF? #368

Closed E3V3A closed 5 years ago

E3V3A commented 5 years ago

Trying to understand what keybindings are used with WTF. So far the only keys that seem to do anything is the TAB key and up/down.

So are there others?

senorprogrammer commented 5 years ago

All keybindings are defined in keyboardIntercept. Search for that. There's one in main.go that controls the top-level navigation between widgets, and then each widget can have its own.

To see which ones are used per-widget, set focus on the widget and press / to bring up the help window.

E3V3A commented 5 years ago

Great! But that info should be on the front page!

It's impossible for users to guess what key controls are available, especially since they are each independent and only available in the code.

Should we really have to go search in the code of each module to find out what we can do with it?

func keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
    switch event.Key() {
    case tcell.KeyCtrlR:
        refreshAllWidgets()
    case tcell.KeyTab:
        focusTracker.Next()
    case tcell.KeyBacktab:
        focusTracker.Prev()
    case tcell.KeyEsc:
        focusTracker.None()
}

A table with all the codes would be tremendously helpful. Something like

Key Binding Widget Function
TAB main.go Cycle from module to module
SHIFT-TAB -- Cycle TAB backwards
ESC -- Refresh ALL widgets or Return from Menu
/ -- Open "Help" menu of selected widget

PS. It seem that for me, ESC is doing refresh, while CTRL-R is doing nothing...

senorprogrammer commented 5 years ago

Documented here: https://wtfutil.com/getting_started/

And on every module, for example: https://wtfutil.com/modules/github/

If there's a location it should be put that would be clearer than that, let me know.