OneFinger is a GUI for composing CLI commands with the mouse.
It increases your productivity over classical hand-typing by caching commands typed into terminals, which tend to be highly repetitive.
Repeated commands can be selected from a list, ordered by last usage time. It includes an integrated file browser that helps you insert filenames without typing them. and allows you to see only those programs that make sense with a given file.
Here are some key features of "OneFinger":
· OneFinger has a dynamic panel which can contain files from multiple directories. It is called the "history panel". Depending on the situation, this panel can become:
· a list of recently/frequently visited directories;
· a list of favourite files or directories;
· a list of files (and other options) used with a given program;
· a list of the documents most recently/frequently used with any program, and much more. With the history panel you have the important things always at hand when you need them.
· OneFinger has a feature called "narrowing", which allows you to see:
· only those programs that make sense with a given file. This replaces the context-sensitive menu in traditional file-managers;
· only those files that make sense with a given program. This feature is unique to OneFinger.
· How does OneFinger know these informations? As time passes, OneFinger learns them by watching the way you work; it can also use the MIME informations in the system.
· OneFinger collects statistics of your work: it can sort practically everything by recent usage, frequent usage, name, date and size. Some examples:
· The files in a directory can be ordered by recent usage. This is surprisingly useful, because you tend to use only a small fraction of the files in most directories.
· You can have a list of recently used files, and these files need not have been opened with OneFinger: OneFinger knows the files you opened with any KDE application.
· Select a program and you will see a list of recent arguments passed to it.
· OneFinger has an always visible search box which lets you quickly narrow the visible files or programs to only those matching a keyword. This features allows you to
· keep directories with many files, yet instantly shrink them to show the files you need, and nothing else. This is useful because, very often, there is no good way to organize your data into directories. For example, you may think to organize your music by author, then by opera, then by director. But, this way, it is difficult to get a list of all the performances made by a given director. The solution is not to organize your music into subfolders, and use OneFinger to dynamically locate the items you need.
· search for programs by keywords. For example, type "networking" and you get a list of programs related to networking. Type "appearance" and you get a list of all KDE control center modules dealing with appearance.
· Furthemore, you only need to type a search keyword once; later you can find it in a list of recent keywords.
· OneFinger has a user-friendly approach for dragging files to another window. Most of the time, the target window (the one you have to drag to) is hidden. The traditional solution is to drag to the taskbar, wait a second, and the target window is shown. This is
· Not discoverable;
· Difficult because it is a point-and-wait process, where timing and dexterity are essential. Furthermore, the area to point is very small.
· Even more difficult if you have taskbar grouping.
· OneFinger's solution is discoverable and easy to use: click the files, click the "drag" action, and OneFinger presents you with a full-screen list of open windows; then you click the target window. Then the window is brought on top, and finally you have to click the exact spot in the target window you want to drag to.
· Throughout this process, you never have to hold the mouse button pressed and never have to click in a small area.
· OneFinger is easy to use: you only work by single-clicking on buttons, with only the left mouse button.
· OneFinger is completely discoverable: since each functionality has a button, you cannot fail to discover it; it is very unlikely that you fail to notice a button (whereas you could fail to realize that you can use the right mouse button on something or that you can drag something).
· A side-effect is that, when you know the meaning of all the buttons, you are sure to know everything about OneFinger.
· Each button explains its purpose with a tooltip.
· OneFinger is more expressive than traditional file-managers: it has a "shell mode" that lets you compose shell commands with the mouse. This lets you compose much more precise commands, which wouldn't be possible with traditional file managers. For example, you can invoke
· scp -r /dat/pub/web-site email@example.com/htdocs
· chmod -r g+a *
· mplayer -vo sdl -subfont arial.ttf -sub file.srt movie.avi
· , all without typing anything (neither the program name, nor the options, nor any filename or other argument).
· Why not using the terminal instead? While at first it may seem inappropriate to use the mouse to compose textual commands, OneFinger's "shell mode" increases your productivity over textual shells, for the following reasons:
· The file browser and the history panel can be used to insert filenames without typing them. This is much faster than the feature known as "bash-completion" (for a number of reasons).
· Also, imagine clicking a program and having a list of the files recently used with it, ready to be inserted in your command. This is more powerful than the CONTROL-r bash feature.
· The commands you execute in shells or in graphical file managers tend to be highly repetitive, but not exactly the same. OneFinger improves your productivity by caching parts of your commands (which can be files, directories, or other options); later, you can select them from a list (usually ordered by last usage time), and compose new commands.
· While bash is a task-oriented only language, OneFinger is also document-oriented: you can select a document and see the programs/actions that make sense with it.
· Other than using the mouse, OneFinger allows you to type any piece of the command by hand---although in practice you will only do this when typing a program name for the first time.
· OneFinger bridges the gap between CLI and graphical interfaces by giving you the best of both worlds: you can have total control over your system, without renouncing to the comfort of a point-and-click interface.