Devboard displays columns stacked horizontally, like a Kanban board.
Each column is a "To Do Something" and presents information in a data table.
Data tables have a header line with labels, and multiple rows
presenting information collected from source items. An item can be a project,
an issue, a pull request, or an object from another provider.
The default board uses Git projects and collects their status, commits,
branches, and tags.
Press Ctrl+R to scan all columns again. On the default Git board, Ctrl+Shift+R fetches remote data before scanning each project.
To start using Devboard, try to run the devboard command
in your terminal. It will show you a default board with four columns:
If the columns are empty and collapsed, that is normal.
It's because Devboard does not know where to look for your projects.
By default, it looks into the dev folder in your home/user directory.
To change that directory, you can modify it directly in the default board,
located in your user configuration directory (use devboard --show-config-dir),
or you can set the DEVBOARD_PROJECTS environment variable:
Boards keep these default shortcuts unless they override the same keys. Custom boards can add shortcuts and column actions.
Key
Action
?
Show help for the current board
Ctrl+K
Show or hide the Keys panel
Ctrl+P
Open the command palette
Ctrl+C or Esc
Exit from the main board
Ctrl+R
Refresh all columns
Ctrl+F5
Force-refresh all columns
Ctrl+F
Filter all columns
Ctrl+E
Collapse or expand the focused column
Ctrl+X
Maximize the focused column or restore its previous layout
The Keys panel includes shortcuts hidden from the footer and updates when focus changes. The command palette also provides item refresh, column refresh, their forced versions, and Filter column, without default shortcuts.
In the filter prompt, press Enter to apply the text or Esc to cancel. Submit empty text to clear the filter. The default filter searches displayed cells and ignores case.
Navigation key
Action
Tab / Shift+Tab
Move focus forward / backward between widgets, including collapsed columns
Up / Down
Move the row cursor
Left / Right
Scroll the table horizontally
Page Up / Page Down
Move the row cursor by a page
Ctrl+Home / Ctrl+End
Move to the first / last row
Home / End
Scroll to the left / right edge of the table
Use Space to toggle a row's checkbox. Pressing Enter emits Textual's row-selection event, which the default board does not handle.
Default application shortcuts leave unmodified letters available for custom board and column actions. Special characters such as ?, *, and ! have built-in bindings. See the tutorial to customize bindings.
The default Git board adds these actions in the focused column:
Column
Key
Action
To Commit
S
Show Git status
To Commit
D
Show Git diff
To Pull
P
Pull the branch from origin; blocked if the project has uncommitted changes
To Pull
D
Force-delete the local branch without a confirmation prompt
To Push
P
Push the branch to origin
The To Release column has no additional shortcuts.
Try to move focus to different columns with the Tab and Shift+Tab keys.
In the "To Pull" column, try to start a background action
that will pull a branch using the P key.
If action started successfully, you should see a notification:
Upon success, you'll see a success notification,
and the row will be removed from the table:
If there is an error, you'll see an error notification:
Sometimes the column will prevent you from applying action,
for example when the repository is dirty:
Devboard will also prevent applying multiple actions rapidly
to the same project, to prevent race conditions:
Column actions apply to selected visible rows in the focused column. If no visible rows are selected, actions use the current row. Hidden rows retain their selections but do not participate in actions.
To select a row, press Space. To unselect it, press Space again.
To select all visible rows, press Ctrl+A or *. If all visible rows are selected, this clears their selection.
To reverse the selection of visible rows, press !.
Press Shift+Up or Shift+Down to move to the previous or next row and toggle that row's selection.