## Global always-available bindings * **Ctrl-n**: cycle selection to next pane * **Ctrl-p**: cycle selection to previous pane * **p**: punch in/punch out * **/**: search clients and projects (pulls up a modal with fuzzy search-as-you-type where Ctrl-n and Ctrl-p cycle the active suggestions, and **Enter** jumps you to the projects pane with that client or project selected) * **r**: refresh view - will go back to the database to reload all displayed data * **q**: quit * **Ctrl-c**: quit (not shown on bottom bar) * **Ctrl-d**: quit (not shown on bottom bar) ## Timer pane bindings * **Enter** (no active timer): punch back in to most recent project (and copy description) * **Enter** (timer active): punch out ## Projects pane bindings The projects pane shows a 2-level tree view of all clients, and all their projects beneath them. One row of this view (a client or a project) is always selected. When a user navigates away from the pane (ctrl-n, ctrl-p) they should their previous row selection should come back. * **j**: select next row * **k**: select previous row * **down arrow**: select next row (not shown on bottom bar) * **up arrow**: select previous row (not shown on bottom bar) * **Enter**: equivalent to `punch in -c [-p ]` (will punch in to the selected client or project, punching out if a different client/project is currently active) * **n**: new project * **N**: new client ## History pane - level 1: summaries The history pane will show recent time_entry history (sorted descending). At first it displays a 2-level tree view of dates, and `Client[ / Project]` rows beneath that with the total duration worked on that project in that day. If there were time entries for a client not associated with a project, those will be in a `Client` row. Like the projects pane, this always has a row selected. Date rows display the total for the day, but can't be selected - j and k and up and down arrows just skip over them. * **j** (and secretly down arrow): select next row * **k** (and secretly up arrow): select previous row * **Enter**: drill down on the selected date/project ## History pane - level 2: details When drilling down on a date and project (or just client), all the time_entry rows which made up that summary row total are displayed in reverse-chronological order. They also have a selection. * **j** (and down arrow): select next entry * **k** (and up arrow): select previous entry * **e**: edit selected entry (pulls up an edit form modal) * **d**: delete selected entry * **Enter**: "Resume" - punch into a new copy of this entry (potentially punching out of an existing one, mirroring `punch in` behavior) * **b**: back to level 1 view. escape key also does this but that doesn't show up on the bottom bar.