refactor worker code

This commit is contained in:
romkatv 2020-01-20 20:12:05 +01:00
commit e01b5d9529
3 changed files with 125 additions and 112 deletions

View file

@ -1,10 +1,3 @@
- assume worker works; drop support for synchronous evaluation of workerized prompts.
- call *_init methods from init_cacheable. their only purpose is to add stuff to two arrays:
_p9k_worker_functions and _p9k_worker_params. both arrays are cacheable. move all _p9__* param
initialization from *_init methods to _p9k_init_vars
- inside worker, eval stdout from async
- add two methods for the use inside *_sync: _p9k_worker_reply_begin and _p9k_worker_reply_end.
they simply print 'e' and $'\x1e'. *_sync can send params with `typeset -p` now.
- declare local _p9k_worker_reset in _p9k_worker_receive. it can be set when replies from worker
are eval'd. initial value 0. 1 means reset-prompt is needed. 2 for _p9k_set_prompt + reset-prompt.
- battery: when state or icon change, update with _p9k_set_prompt. make sure icons can be sent with