Note that items with (!) have high priority. libsmartcols ------------ - (!) add libscols_column->json_type and scols_column_set_jsontype() to generate proper JSON output. Now the library uses quotes (= all is string) for everything. See for example SIZE in "lsblk --json --bytes" output. script ------ - (!) add terminal type ($TERM), columns and lines to the header line, something like: Script started on 2018-03-05 13:02:08+0100 [term="xterm-256color", lines=53, columns=190] see https://github.com/karelzak/util-linux/issues/583 - think about optional "event" records in timing file to save information about non-data changes like signals (SIGWINCH, SIGSTOP, SIGCONT, etc.) in format: