shithub: fm


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!