HomeSetup Developer Handbook
Standard-Tools
Table of contents
CLI Terminal Tools
__hhs_mchoose
usage: __hhs_mchoose [options] <output_file> <title> <items...>
Options:
-c : All options are initially checked instead of unchecked.
Arguments:
output_file : The output file where the results will be stored.
title : The text to be displayed before rendering the items.
items : The items to be displayed for choosing. Must be greater than 1.
Examples:
Choose numbers from 1 to 20 (start with all options checked):
=> __hhs_mchoose /tmp/out.txt 'Mark the desired options' {1..20} && cat /tmp/out.txt
Choose numbers from 1 to 20 (start with all options unchecked):
=> __hhs_mchoose -c /tmp/out.txt 'Mark the desired options' {1..20} && cat /tmp/out.txt
Notes:
- A temporary file is suggested to used with this command: $ mktemp.
- The outfile must not exist or it be an empty file.
- To initialize items individually, provide items on form: name=[True|False].
Purpose
Choose options from a list using a navigable menu.
Returns
- 0 on success and if chosen items were Accepted.
- 127 if the user Canceled (Q pressed).
- non-zero for all other cases.
Parameters
- $1 Required : The output file where the results will be stored.
- $2 Required : The text to be displayed before rendering the items.
- $3..$N Required : The items to be displayed for choosing.
Examples
__hhs_mchoose /tmp/out.txt 'Mark the desired options' {1..20}
Output
Mark the desired options
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
[Enter] Accept [↑↓] Navigate [Space] Mark [I] Invert [Esc] Quit [1..20] Goto:
__hhs_mchoose -c /tmp/out.txt 'Unmark the undesired options' {1..20}
Output
Unmark the undesired options
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
[Enter] Accept [↑↓] Navigate [Space] Mark [I] Invert [Esc] Quit [1..20] Goto:
MSelect tool
__hhs_mselect
usage: __hhs_mselect <output_file> <title> <items...>
Arguments:
output_file : The output file where the result will be stored.
title : The text to be displayed before rendering the items.
items : The items to be displayed for selecting.
Examples:
Select a number from 1 to 100:
=> __hhs_mselect /tmp/out.txt 'Please select one option' {1..100} && cat /tmp/out.txt
Notes:
- If only one option is available, mselect will select it and return.
- A temporary file is suggested to used with this command: $ mktemp.
- The outfile must not exist or it be an empty file.
Purpose
Select an option from a list using a navigable menu.
Returns
- 0 on success and if the selected item was Accepted.
- 127 if the user Canceled (Q pressed).
- non-zero for all other cases.
Parameters
- $1 Required : The output file where the result will be stored.
- $2 Required : The text to be displayed before rendering the items.
- $3..$N Required : The items to be displayed for selecting.
Examples
__hhs_mselect /tmp/out.txt 'Please select one option' {1..100}
Output
Please select one option
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
[Enter] Select [↑↓] Navigate [Esc] Quit [1..100] Goto:
MInput tool
__hhs_minput
usage: __hhs_minput <output_file> <title> <form_fields...>
Arguments:
output_file : The output file where the results will be stored.
title : The text to be displayed before rendering the items.
fields : A list of form fields: Label|Mode|Type|Min/Max len|Perm|Value
Fields:
Field tokens (in-order):
<Label> : The field label. Consisting only of alphanumeric characters and under‐scores.
[Mode] : The input mode. One of {[text]|password|checkbox|select|masked}.
[Type] : The input type. One of {letters|numbers|words|masked|[anything]}.
[Min/Max len] : The minimum and maximum length of characters allowed. Defaults to [0/30].
[Perm] : The field permissions. One of {r|[rw]}. Where \"r\" for Read Only ; \"rw\" for Read & Write.
Examples:
Form with 4 fields (Name,Age,Password,Role,Accept Conditions):
=> __hhs_minput /tmp/out.txt 'Please fill the form below:' 'Name|||5/30|rw|' 'Age||numbers|1/3||' 'Password|password||5|rw|' 'Role||||r|Admin' 'Accept Conditions|checkbox||||'
Notes:
- Optional fields will assume a default value if they are not specified.
- A temporary file is suggested to used with this command: $ mktemp.
Purpose
Provide a terminal form input with simple validation.
Returns
- 0 on success and form was validated and Accepted.
- 127 if the user Canceled (Esc pressed).
- non-zero for all other cases.
Parameters
- $1 Required : The output file where the results will be stored.
- $2 Required : The text to be displayed before rendering the items.
- $3..$N Required : The form fields to be displayed for input.
Examples
__hhs_minput /tmp/out.txt 'Please fill the form below:' \
'Name|||5/30|rw|' \
'Age|masked|masked|1/3|| ;###' \
'Password|password||5|rw|' \
'Role|select||4/5|rw|Admin;<User>;Guest' \
'Locked||||r|locked value' \
'Accept Conditions|checkbox||||'
Output
Please fill the form below:
Name : : 0/30
Age : ### : 0/3
Password : : 0/30
Role : User : 2/3
Locked : locked value : 12/30
Accept Conditions : : 1/30
the name
[Enter] Submit [↑↓] Navigate [↹] Next [Space] Toggle [^P] Paste [Esc] Quit