Input Hints #
Input Hints is feature that provides user with hints for available actions as part of the status bar.
Technically the hint consists of the displayed message with placeholders (%1
, %2
, …)
corresponding to each key sequence, and key sequences. One hint can contain one sequence ([M]
change mode
) or multiple ones ([U]/[J] increase / decrease number of sides
). Each sequence can
consist of one or more keys (for example [shift][M]
). Placeholders can be placed anywhere in the
hint message, however hints should follow [key] action
convention. Available keys are defined
within Gui::InputHint::UserInput
enum.
Messages for hints should respect these rules:
- Start with input, then lowercase letter, hint is not a sentence, e.g.
%1 pick radius
. - Keep hints as short as possible, avoid redundancy if context is clear, e.g.
%1 pick arc center
instead of1% pick center of an arc
. - Start with modifiers only (
ctrl
,alt
,shift
, etc.) if they affect other inputs, then mouse inputs, then normal keys. - Ideally within groups hints should be ordered by frequency of use (more common actions should be first).
- Try to be specific - instead of
change mode
try creating a dynamic hint with the name of the next mode. - If actions are similar but differ in minor detail - they can be combined, e.g.
%1 / %2 decrease / increase side
,%1, %2 or %3 constrain axis
. - Remember to use translate function!
- Due to limited space available - try to keep the list of actions short, ideally no more than 6 hints. Focus on the most common and important actions.
- Avoid adding unnecessary hints, e.g. don’t show navigation commands as hints, when tools are active and don’t show hints which are currently not possible due to other actions.
- If hints change dynamically - keep common hints between states of the tool used. If given action is removed, it is a strong suggestion that it is no longer available.