summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-05Sort results by match position.Phil Jones
Search results will now be sorted by history first, then by the position of the match, such that a match at the start of a result will appear before a match later in the result.
2022-06-30Add dependency on librtJohannes Wikner
This is required for shm_open and shm_unlink on some systems.
2022-06-30Fix buffers sometimes going out of sync.Phil Jones
This was caused by some unneeded leftover logic that resulted in surface_draw being called without a corresponding entry_update.
2022-06-29Add Ctrl-j and Ctrl-k keybindings.Phil Jones
2022-06-28Select next result on Tab.Phil Jones
2022-06-28Version 0.1.1Phil Jones
Fix typo in meson.build
2022-06-27Version 0.1.0.Phil Jones
2022-06-27Add default output selection.Phil Jones
Tofi should now appear on whatever the compositor's default output is (usually the focused one), unless --output has been given.
2022-06-27Update license date and fix typo in readme.Phil Jones
2022-06-26Add optional background around selected result.Phil Jones
2022-06-26Fix some minor memory error typos.Phil Jones
2022-06-26Fix multiple output handling.Phil Jones
The --output option can be passed to select a specific output to appear on. Which output is chosen otherwise is currently random, as I don't know yet how to determine which one the user's currently on.
2022-06-26Add --late-keyboard-init benchmarks to readme.Phil Jones
2022-06-26Add --late-keyboard-init option.Phil Jones
2022-06-26Update readme.Phil Jones
2022-06-26Remove spurious debug log.Phil Jones
2022-06-26Add generated markdown manpages.Phil Jones
2022-06-26Add default theme screenshot and fix typo.Phil Jones
2022-06-26Add bash completions.Phil Jones
Also change --font-name option to just --font.
2022-06-25Add screenshots.Phil Jones
2022-06-25Add example themes and allow # in colors.Phil Jones
2022-06-25Correct border rendering with alpha.Phil Jones
2022-06-25Add manpages.Phil Jones
2022-06-25Add option to disable font hinting.Phil Jones
Also improve text on non-hidpi screens.
2022-06-25Don't double-draw background colour on first draw.Phil Jones
This improves start-up performance for large windows.
2022-06-25Fix padding and split into top/bottom/left/right.Phil Jones
2022-06-24Horizontal mode fixes.Phil Jones
Implement horizontal mode for Pango, and add min-input-width option.
2022-06-24Allow double-quoted strings in config file.Phil Jones
2022-06-24Correct clipping with rounded corners.Phil Jones
Currently the clipping region is still a plain rectangle bounded by the outer rounded rectangle. A rounded rectangle clip would be nice, but unfortunately Cairo leaves antialiasing artifacts if we do this.
2022-06-23Fix default sizes and hide_cursor option.Phil Jones
2022-06-23Combine Harfbuzz & Pango backends.Phil Jones
Tofi now uses Harfbuzz if a file is passed to --font-name, and Pango otherwise.
2022-06-23Remove Cairo scale factor.Phil Jones
The scale factor is now only used to scale font sizes, not all Cairo drawing operations. This makes pixel-sized options correct.
2022-06-23Add tofi-run symlink.Phil Jones
Invoking 'tofi' now acts like dmenu, expecting newline-separated options on stdin. Also fix history file handling and add an option to disable it.
2022-06-23Add config file name to error messages.Phil Jones
2022-06-23Allow percentages for window size & margins.Phil Jones
2022-06-21Add result selection.Phil Jones
2022-06-21Minor parsing bugfixes.Phil Jones
2022-06-21Add config file handling.Phil Jones
Single letter style arguments have been removed.
2022-06-21Add various command line arguments.Phil Jones
There are too many really to use single-character args, so the next step should be a config file.
2022-06-11Add compgen caching.Phil Jones
A list of commands is now stored in $XDG_CACHE_HOME/.cache/tofi-compgen, and regenerated as necessary.
2022-06-10Various small changes.Phil Jones
- Split the compgen and history sorting parts of compgen(), for future dmenu-like work. - Add a separate tofi-compgen executable. - Remove harfbuzz-glib usage, as we shouldn't be doing any complicated unicode stuff.
2022-06-10Minor cleanup.Phil Jones
2022-06-10Cleanup and comment HarfBuzz code.Phil Jones
2022-06-10Space Pango lines correctly.Phil Jones
2022-06-10Add indents to log functions.Phil Jones
2022-06-10Use doubles for harfbuzz glyph coordinates.Phil Jones
Previously integers were used, effectively removing any sub-pixel positioning.
2022-06-10Remove unneeded Pango layouts.Phil Jones
We don't actually need a separate pango layout for each piece of text, as we only use them one-by-one anyway, so just use one instead.
2022-06-10Comment out malloc debug logs.Phil Jones
2022-06-10Delay second buffer initialisation.Phil Jones
We don't actually need to initialise our second Cairo context / surface until after the first one has been painted to the screen. This commit therefore delays this initialisation (or at least the expensive memcpy), granting a significant reduction in startup time. The downside is that main() and entry_init() are now tied together somewhat, but hopefully the comments help.
2022-06-10Avoid an unnecessary copy of the image buffer.Phil Jones
By pointing Cairo at the mmap-ed file used to create wl_shm buffers, we can eliminate a memcpy() on every draw, providing a decent speedup (especially for large window sizes). This comes at the expense of having to keep track of two Cairo contexts, one for each of our two buffers used for double buffering. Additionally, a single memcpy() is still required for initialisation of the second buffer, so the startup latency isn't affected much.