Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-11-28 | Refactor string vector code. | Phil Jones | |
Previously, string vectors were built by reading input line-by line, and multiple copies of string vectors were made when searching. Now, input is read into one big buffer, and string vectors only contain references to the strings in this buffer. This both speeds up reading of input, and avoids unnecessary copying of strings in various places. The main downside currently is that input read from stdin is no longer UTF-8 normalised. This means, for example, that a search for `e` won't necessarily match `é`. Normalisation is very slow relative to the rest of tofi, however, and not needed for most use-cases. This could either be solved by accepting the slowdown, or making this an option, such as --unicode or --unicode-normalize. | |||
2022-11-19 | Add missing errno.h include. | Phil Jones | |
2022-11-19 | Add support for pasting from clipboard. | Phil Jones | |
2022-11-01 | Add alternative key binding to delete a word. | Maksim | |
2022-10-23 | Synchronise rendering with surface update. | Phil Jones | |
This fixes an issue where receiving multiple keypresses in the time taken to draw a frame could cause input to be out of sync with the display. | |||
2022-10-23 | Replace wchar and friends with Unicode handling. | Phil Jones | |
All text handling should now be explicitly UTF-8 or UTF-32, removing the ambiguity around wchar_t and related functions. | |||
2022-10-21 | Initial input handling cleanup. | Phil Jones | |
Also changed keyboard shortcuts to use physical keycodes, rather than XKB keysyms. This means shortcuts don't shift when keyboard layout is changed. |