The main topic of this release is customizable bindings in the TUI. The initial idea was to replace the function keys (F-key) with other bindings, because not all keyboards have them and not everyone likes to use them. Our internal discussions revealed that everyone has their own strong opinions on what the best bindings are…
So, along with removing the F-keys and changing the default bindings in the TUI, we provide the ability to configure your own key bindings. This is the first part of changing related to bindings, the more updates will come soon.
We also made some improvements in the voting for witnesses and proposals process.
New bindings without F-keys
You can now find the new bindings everywhere in the TUI. The old function key (F-key) bindings were replaced with letter
or Ctrl+letter
bindings. The most important binding information is usually displayed in the footer or on the corresponding buttons. However, you can always view all the bindings, including the internal ones, in the palette by clicking Show keys and help panel
.
Global/app bindings
Global bindings are defined with Ctrl+letter
and work across many views.
Currently, the following global bindings are available:
Ctrl+x
- clear notifications
Ctrl+d
- go to the dashboard (available in unlocked mode)
Ctrl+o
- load a transaction from a file (available in unlocked mode)
Ctrl+s
- go to settings (profile configuration) (available in unlocked mode)
Ctrl+t
- go to the transaction summary (cart) (available in unlocked mode)
Ctrl+q
- quit
View-specific bindings
View-specific bindings depend on the current view and the functions available in it. They are usually predefined as a single letter. Note that these bindings cannot be used inside the text input fields. Focus navigation works the same way as in web browsers - using Tab
and Shift+Tab
.
Example:
You can find dashboard-specific bindings in the dashboard footer.
How to change default bindings?
The new version of Clive includes two additional files located in the Clive working directory:
- custom_bindings.toml
- default_bindings.toml
The default_bindings.toml
file contains all the bindings that can be changed along with their default key. The bindings are grouped into sections. This file is intended for reference only - to modify key bindings, you should edit the custom_bindings.toml
file instead.
The custom_bindings.toml
is empty by default. Using the default_bindings.toml
as a reference, you can redefine all or only a few bindings here. If you skip the binding definition, then default is used. If you do so, don’t forget to include the section headers.
Example:
A snippet from custom_bindings.toml
where you can configure your global and dashboard-specific bindings :
[app]
clear_notifications = "ctrl+x"
dashboard = "ctrl+d"
load_transaction_from_file = "ctrl+o"
settings = "ctrl+s"
transaction_summary = "ctrl+t"
quit = "ctrl+q"
[dashboard]
operations = "o"
switch_working_account = "w"
add_account = "a"
lock = "ctrl+l"
Governance - simplified voting process
We simplified the process of voting for witnesses or proposals. We removed the Add to cart
and Finalize
bindings from this view.
To change your vote for a witness or proposal, simply check or uncheck the box next to your chosen option.
- If you check the box, the vote/unvote is added to the cart.
- If you uncheck it, the vote/unvote is removed from the cart.
Note that multiple proposal votes can be submitted in a single operation.
So don’t worry if a new vote/unvote doesn’t create a separate operation in the cart - up to five vote/unvote for proposals can be included in the single operation.
Complete list of corrected issues
The scripts that allow you to run Clive are here:
https://gtg.openhive.network/get/clive/