Age | Commit message (Collapse) | Author |
|
All text handling should now be explicitly UTF-8 or UTF-32, removing the
ambiguity around wchar_t and related functions.
|
|
|
|
|
|
|
|
Fuzzy matching could previously take a very long time for long input
lines, as the number of possible matches quickly explodes. This commit
sets a line length limit of 100 characters - longer lines will only
return the first fuzzy match, rather than the best one.
|
|
Also changed keyboard shortcuts to use physical keycodes, rather than
XKB keysyms. This means shortcuts don't shift when keyboard layout is
changed.
|
|
|
|
Just contains a couple of very simple UTF-8 tests for now.
|
|
This should allow case-insensitive matching for non-Latin characters,
and fix matching for characters with diacritics.
|
|
|
|
|
|
The `install_symlink` was only introduced in version 0.61 of meson
https://mesonbuild.com/Release-notes-for-0-61-0.html#install_symlink-function
|
|
|
|
This allows tofi to show up on top of fullscreen windows.
|
|
Also fix unbound keys and modifiers resetting the selection.
|
|
|
|
|
|
|
|
This isn't a great workaround, but the "correct" solution (implement
proper resizing logic and don't parse the config until our window is
shown) would incur significant extra complexity.
|
|
This allows config files to include other files, so you can e.g. split
style and behaviour options into different files.
|
|
|
|
|
|
|
|
This also stops font sizes from scaling when --scale=false is set.
|
|
|
|
|
|
This was caused by an unused (but included) function not being linked.
LTO was able to determine that the missing function didn't need to be
linked, so didn't complain, leading to this bug being missed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ctrl-u is just a whole line delete for now, as there's no sense of a
cursor position in tofi (so the whole line is "left" of the cursor).
|
|
Previously, tofi wouldn't scale pixel values by the output's scale
factor. This allows pixel-perfect sizes on displays with scale factors
>1, but means that configs need to be changed on a per-monitor basis,
and is at odds with how other applications (notable Sway) behave.
This commit adds a new option, --scale, to scale pixel values by the
output's scale factor. For backwards compatibility, this currently
defaults to false, and font scaling is performed regardless (the
existing behaviour). In the next release, this will default to true, and
font scaling will follow the same behaviour as everything else.
|
|
It will now always find the best score possible.
|
|
|
|
This enables some simple fuzzy matching logic for searches.
|
|
|
|
When not highlighting matches or drawing a selection background box, we
can skip a bunch of slow code to improve performance.
|
|
Currently, this is unlikely to be enabled for shared memory mappings on
any user's system, so will not make a difference. If
`/sys/kernel/mm/transparent_hugepage/shmem_enabled` is set to `advise`
or higher, however, this commit should enable the use of hugepages. This
can greatly speed up startup for large windows - for a 2880x1800
fullscreen window on my laptop, enabling hugepages halves startup time.
From the kernel mailing lists, it looks like there's some work towards
allowing applications to opt-in to THP support regardless of whether
they're enabled, via `madvise(MADV_COLLAPSE)`, so this may be more
useful in future.
|
|
|
|
|
|
The config file code now delays calculation of percentage values until
`config_fix_percentages()` is called. This allows the config file to be
parsed before output configuration is complete, thus allowing `--output`
and `--late-keyboard-init` to be specified in the config file.
|
|
Previously the selection background didn't really wrap text correctly,
especially if the font was very slanted. This fixes that, so the width
is tightly wrapped around any font.
|
|
Pagination was broken in horizontal mode before, and in general tried to
render too many results (leading to a cut-off last result). This commit
fixes both of those, with the minor caveat that you can no longer scroll
straight to the last result.
|
|
The option is now deprecated, and a warning will be printed if it's
used. It may be removed in a future version of tofi, so it should be
removed from any configs now.
|
|
|
|
|
|
|