summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-08-03Add key repeat.Phil Jones
2022-08-02Add a few more function attributes.Phil Jones
2022-07-31Add checks for old wayland versions.Phil Jones
2022-07-30Add option to colour matching portion of results.Phil Jones
This was done by breaking the selected result into three parts, and rendering each separately. A side-effect is that ligatures split when a match ends inside them, but I think that's the correct behaviour (rather than highlighting the whole ligature). There may be issues with some non-latin languages that make much more extensive use of ligatures / combining characters, however.
2022-07-30Improve error message for invalid colours.Phil Jones
2022-07-29Make a selection-padding of -1 be infinite.Phil Jones
2022-07-29Add --selection-padding option.Phil Jones
This adds some extra padding in the selection background, rather than tightly wrapping the selection text.
2022-07-29Redraw prompt each frame.Phil Jones
This fixes some slanted fonts being cut off if they extend back towards the prompt too far.
2022-07-29Fix drun mode when args come after a field code.Phil Jones
2022-07-27Fix window workspaces in drun mode.Phil Jones
Previously, tofi-drun would print the filename of the selected .desktop file to stdout. This could then be passed to `xargs swaymsg exec gio launch` to be executed. The problem is that this ends up defeating the purpose of passing the command to swaymsg exec, and the workspace the command was selected on may not be the one that it starts up on, if for example it takes a long time and the user switches workspaces in the meantime. The solution is to instead print the Exec= line from the .desktop file, and pass that directly to `xargs swaymsg exec --` for execution. To avoid too much breaking of configs for the few people who use tofi currently, this commit adds a new option, --drun-print-exec, to enable the fixed behaviour. A future release will change this to be the default, however.
2022-07-27Fix drun mode when history is enabled.Phil Jones
2022-07-26Add keyword matching for drun searches.Phil Jones
There's starting to be a fair amount of duplicated code between the drun and normal run modes. At some point in the future, it's likely to be worth combining them, such that there's only a single `struct search_item` or similar, and just handle the different modes at the start and end of execution.
2022-07-26Add automatic detection of number of results.Phil Jones
Tofi will now try to autodetect how many results can be drawn if --num-results=0 is specified, which is now the default.
2022-07-26Fix percentage values on rotated monitors.Phil Jones
2022-07-25Change keyboard interactivity to exclusive mode.Phil Jones
This should fix tofi not grabbing keyboard focus on River.
2022-07-25Fix margin being scaled by scale factor.Phil Jones
2022-07-24Add drun mode.Phil Jones
This is a pretty simple implementation, but it should work for most use cases. Notably, generic application names aren't used (though that could be added without too much hassle), and neither are keywords (that would be more difficult).
2022-07-05Fix typo.Phil Jones
Probably a good idea to allow more than 128 runs of a program.
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-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-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-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 option.Phil Jones
2022-06-26Remove spurious debug log.Phil Jones
2022-06-26Add bash completions.Phil Jones
Also change --font-name option to just --font.
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.