branches: front col
Clone
clone: git://shithub.us/phil9/fm gits://shithub.us/phil9/fm
push: hjgit://shithub.us/phil9/fm
patches to: telephil9@gmail.com
Last commit
fa802d92
– phil9 <telephil9@gmail.com>
authored
on 2023/08/13 01:32
ensure selection has a valid index before redrawing it
About
fm
===
fm provides a gui to select an item from a list using a fuzzy matching algorithm.
When an item is selected, it is sent to the plumber `send` port unless the `-p` option
is used in which case the item name is printed on standard output and the application exits.
![fm](fm.png)
Left-click an item to select it.
Right-click to activate the selected item.
Keyboard shortcuts:
- Arrow up / down change selection
- Enter activate selection
- Page up / down scroll by one screen page
- Home go to first item in the list
- End go to last item in the list
- Ctrl-U clears the input line
- Esc clears the input line unless input is empty in which case it exits fm
- Del to exit fm
Usage:
-------
Install with usual ``mk install``
Run: ``... | fm [-p]``
The provided `b` script gives a usage example.
Credits:
---------
The fuzzy matching algorithm has been ported from:
* https://github.com/forrestthewoods/lib_fts/
Bugs:
------
Obviously!