adding preference option for dynamic input blocking

/inpblock is now having subcommands 'timeout' and 'dynamic'
with:

/inpblock timeout <milliseconds>

and

/inpblock dynamic <on|off>

Defaults are:

/inpblock timeout 500
/inpblock dynamic on

To get the old behavior specify:

/inpblock timeout 20
/inpblock dynamic off

The dynamic mode will block incrementally after something
should be written to the window or after a key was pressed. So pressing
a key would set the timeout to 0ms and after 10 timeouts to the next
bigger one.

Example (with dynamic mode on):

"/inpblock timeout 50"

timeout series:

10x 0ms
10x 10ms (0ms + 10 times since last keypress)
10x 30ms (10ms + 20 times since last keypress)
*x50ms until next key was pressed or
This commit is contained in:
Simon Effenberg
2015-01-12 11:32:32 +01:00
parent c7ff3255b8
commit 34148e2101
6 changed files with 62 additions and 14 deletions

View File

@@ -623,14 +623,20 @@ static struct cmd_t command_defs[] =
NULL } } },
{ "/inpblock",
cmd_inpblock, parse_args, 1, 1, &cons_inpblock_setting,
{ "/inpblock millis", "Input blocking delay.",
{ "/inpblock millis",
cmd_inpblock, parse_args, 2, 2, &cons_inpblock_setting,
{ "/inpblock [timeout|dynamic] [millis|on|off]", "Input blocking delay (dynamic or static).",
{ "/inpblock [timeout|dynamic] [millis|on|off]",
"----------------",
"Time to wait in milliseconds before reading input from the terminal buffer, defaults to 20.",
"Valid values are 1-1000.",
"A higher value will result in less CPU usage, but a noticable delay for response to input.",
"A lower value will result in higher CPU usage, but faster response to input.",
"Setting for how long to wait for input before checking for new messages or checking for state",
"changes like 'idle'.",
"timeout : Time to wait in milliseconds before reading input from the terminal buffer, defaults to 500.",
" : Valid values are 1-1000.",
"dynamic : Either use the timeout statically or use a dynamic variant which is responsive after an input",
" : and blocks longer (up to the specified 'timeout').",
" : on|off",
"A higher value will result in less CPU usage (irrespective if dynamic is on or off), but a noticable",
"delay for response to input if dynamic is off.",
"A lower value will result in higher CPU usage, but faster response to input if dynamic is off.",
NULL } } },
{ "/notify",