features online-demo download

SnappyFinder - a fast comfortable keyboard file browser

linux version: 2.13.0

About me

I developed SnappyFinder because it seems to me that most user interfaces are inefficient and unnatural. And I want to create a useful commonly-used tool that follows a different UI design, one that is keyboard-only but which provides the advantages typically associated with mouse input.

The ideas that would eventually be put into SnappyFinder began when I was first learning to use a keyboard-only text editor named vim. Vim is fantastic but learning to use it takes a while; Nothing is immediately visible, so you need to memorize every single shortcut that you want to use. It seemed odd that learning to use it would take so much more work than normal mouse-oriented text editors. Computers process language, and keyboards are the natural way to express language...
read more...
Just about everything on your computer is represented by a nice human-readable name: filenames, urls, database tables, links in your dock, apps in your application-launcher, and the menus and operations of just about absolutely every program have names, yet we interact with them using the slow and absurd method of position-based input. Why!? Because the thing is just right there I can just poke it like this BOOP. Because you don't have to memorize anything in order to poke it, the information to poke anything is provided by the position of the thing itself once you see it.

In order to make keyboard-only input intuitive, the steps required to poke any "pokeable" thing needs to be immediately available. I've found a way to do that, by choosing and highlighting part of the pokeable's name; that way if you know what you're looking for you don't need to visually find it, and if you visually find a pokeable that you want to poke you can do so immediately.

Even poor typists can express more per second via keyboard than they can via mouse. And with keyboard actions one can mentally queue up their next actions while they're performing other ones, and can just let the actions flow without breaking the flow by visually hunting for the position of the widgets they're interacting with. I think that all GUIs should be designed following this design philosophy. And a file browser seems like a good place to start, as it's a frequently used tool and a maximally-efficient file browser has the potential to save many people a lot of time.

The aesthetic is designed to somewhat mimic Windows Aero in it's colorscheme and 3d looking buttons, which I find far more attractive than Windows10's flat look. And I'm guessing that Windows will go back to that style eventually.


TRY THE ONLINE DEMO!
Want to try it out before you decide to buy? Download a trial version, which will expire in 28 days, no registration required.
DOWNLOAD

loading session...

feedback


SnappyFinder is an efficient and comfortable keyboard file browser. Provides the efficiency of the keyboard without sacrificing intuition. Currently supported operating systems:
----Windows 7
----Windows 8? (untested)
----Windows 10
----Windows 11? (untested)
----Ubuntu 18.04-22.04
----other Linux distros? (untested)
----MacOS (no longer supported)

youtube demo

SnappyFinder

Here's what my home directory looks like when opened with SnappyFinder.

You'll immediately see some similarities and differences from most file browsers.
Like most file browsers: It can display and sort by the properties of files and directories. It has bookmarks and common locations like trash and the home directory, you can add more if you like, such as a Pictures folder or Desktop. It's able to access other partitions and flash drives.

You'll find a lot of familiar keyboard shortcuts work for it as well. Ctrl+Shift+N, Ctrl+Z, Ctrl+Shift+Z, Ctrl+X, Ctrl+C, and Ctrl+V all do what you would expect them to do.
----Ctrl+c/Ctrl+x/Ctrl+v: cut/copy/paste
----Ctrl+z/Ctrl+shift+z: undo/redo up to 128 actions

Selection

SnappyFinder

Now onto what makes it different. You'll probably have noticed the blue highlighting of some characters, those are paths, type them to activate them. For example: to select the "roads" folder in this picture you would type "roa". That's a lot faster than dragging your mouse to click on it, especially when your hands are already over the keyboard.

Protection Against Mistakes

SnappyFinder

Perhaps the idea of typing everything makes you nervous. When dangerous actions are just a few keystrokes away it's easy to imagine accidentally doing a lot of damage in a short period of time. What if a cat walks on your keyboard and deletes a bunch of files?
The solution to this problem is to guard dangerous/permanent actions with longer paths. You might accidentally type "d" or even "de", but you're not accidentally going to type "delete", by making you type the whole word it's forcing you to think about what you're doing.

Hierarchical Navigation

SnappyFinder

hierarchical navigation: widgets that can be interacted with are organized in a hierarchy. This is useful for logically grouping certain widgets together, for example: by putting shortcut buttons inside of a frame, you insure that those paths will always be the same, regardless of what files you're looking at. By hitting Ctrl+b you can focus in on the bookmarks pane. To back out of any node in the hierarchy, use Alt+Backspace.

Jump-To

initial SnappyFinder

type T SnappyFinder

type r SnappyFinder


Like many file browsers, hitting the first letter of a file will jump to that file, for example, I'm scrolled up at the top in the left image, If I want to jump to a folder named "Trenchbroom", I can type "T", and it'll jump to the first file/folder with that name.

IJKL Scrolling

SnappyFinder

SnappyFinder

In order to make this sort of keyboard-oriented interface practical, I've made it able to support keyboard combinations containing multiple non-meta keys. One example of such a combination is the scrolling combos, see how both buttons in "sk" in the lower right are highlighted red? That means that activating the button requires holding down both at the same time. There are also shortcuts for faster scrolling: {sfk} and {sfi} scroll faster, the 's' stands for "scroll", the 'f' stands for "fast", and 'k' is in the relative position of the "down" arrow, so {sfk} translates to "scroll fast down", and {sfi} translates to "scroll fast up"

Multi-Item Selection

SnappyFinder

shift click equivalent: select a range of items: hit the "drag" button, select the first, then select the last.

SnappyFinder

control click: select multiple items: turn on the "multi-select" toggle button, then select items, switch it off afterwards if you want.

Other Convenient Features

find, recursive find, open current directory in terminal, change view layout, preview images, location history, macros