* Initial support for using boxes for packing widgets.
* Make CapiTalIzation more consistent
* Move widgets to subdirectory
* Removed nolonger needed resize function.
* Small cleanup
* When switching mode, reuse view, don't rebuild it. Reduces artifacts.
* Needs cleaning up.
* Remove separate prompt argument, use display_name
* Simplify run-switcher code.
* Add notion of parents, and trigger parent update on resize.
* Use widget_get_height wrapper, avoid crash
* Size separator width based on height. (indent)
* TODO add margin to box.
* First draft version of listview.
* Add scrollbar to listview widget
* Add padding option to box
* Move access to global config out of widget. (1/2 done)
* Remove printf
* Make listview not access global config
* Add click support, implement on mode buttons.
* Re-introduce mouse handling on list-view.
* TODO draggin on scrollbar.
* Fix multi-select
* Fix warnings
* Fix include
* Only use get_display_data for displaying. (Except the select complete (ctrl-space), this needs fixing).
* Fix possible race condition in parallelization.
* Fix small bug in case-sensitive handling. (beware for collision in keybinding)
* Keep less lists around.
This patch adds a field lines_not_ascii to the MenuState structure. The
nth entry is 0 unless the nth member of MenuState.lines has a non-ascii
codepoint in it.
All comparison functions (menu_match_cb type) take an additional
argument to tell them if the thing they are matching is not_ascii. They
can use this to determine whether to collate and case-fold the
input (for non-ascii strings), or whether to use strstr/strcasestr (for
ascii strings).
The change is not currently implemented for flex matching, due to my
laziness. However, it should be a simple enough matter to add.
For my large input of 400,000 lines, this reduces typical filtering time
to about ten microseconds from about 2 seconds.