Commits


switch to raw mode


add pledge


bind arrow up/down


add cd up/down and home


re-add jump top/bottom (g/G and </>)


fix quit type


rewrite the keybindings management use a table to define all the keys and split actions into separate functions. It's cleaner to support multiple keys bound to the same action this way (like for e.g. PAGE_DOWN and C-v.)


const-ify


bind ? to spawn `man fm'


zero the whole argv array to avoid surprises


rewrite spawn to use varargs it's seems neater than packing an array on the spot, we just do that inside spawn before calling execvp. If we get too many arguments, just abort. This also changes how the forking is handled: I set RVSEL only for the child and call disable_handlers() and endwin() preemptively to avoid possible races with our children.


starting to rewrite the input loop


pedantic prototypes


const-ify message fmt string


typo