Home

Awesome

via is a more efficient way to interact with your computer.

Concept

Everything should be at most a few keystrokes away.

Once you get used to it, the time from when you decide to open a file (or application or website) to when you have it open in front of you will easily be less than one second.

Nobody should ever:

If you have a document at ~/docs/work/drafts/letter.odt you should not hunt for it in your file manager and open it. You should run via (Alt-space), type "let" (or "work odt", or any combination of substrings), press ENTER and do what you wanted to do with that document.

Usage

via can:

It is advisable to bind via to a hotkey such as Alt-Space.

When run, via-menu will be displayed. Type a few characters to select the entry you want to open and press ENTER. via will know if that's a file to open, program to launch, website or shell command.

To search the web, assuming your search engine is via's first entry, just launch via, press TAB, type your query and press ENTER.

With appropriate URLs (such as https://en.wikipedia.org/wiki/Special:Search?search=) you will also be able to use via to run custom web searches and have your browser open the result directly.

Configuration

via is made up of three parts:

However, via is a concept and as such it is implementation-independent.

via-feed, via-menu, and via-open are all configurable. To do so, copy them to $HOME/.config/via and edit them to your liking. Your version will automatically be used.

via-feed

via-feed writes the menu options to standard output.

If you use the default via-feed, you can tweak it by editing the shortcuts and websites files, but you are encouraged to edit via-feed itself. In particular, the find command may be tweaked to exclude big folders that shouldn't be indexed (such as hidden folders, source code directories, and anything you are unlikely to open with via).

via-menu

via-menu reads options on standard input, presents them to you, and outputs your choice(s) to standard output.

By default, dmenu is used. However, you can use fzf, rofi, or even a combination of these (for example, fzf when run in a terminal and dmenu when run in a graphical environment).

via-open

via-open reads newline-separated strings and: