Gmrun - ArchWiki

Jump to content

Gmrun (Gnome Completion-Run) is an lightweight application launcher similar to GNOME Run, Application Finder, KRunner, etc.

## Installation

Gmrun can be installed with the package gmrun. A multihead aware version can be installed with the gmrun-multiheadAUR package.

## Usage

- GUI applications can just be typed in and run by pressing `Enter`, terminal applications can be run by using `Ctrl+Enter`. Pressing `Ctrl+Enter` with an empty input box will open up a terminal window.
- Gmrun features tab completion: pressing tab will bring up a scrollable list of possible matches.
- Web addresses entered into Gmrun will launch a web browser automatically.
- The same goes for email addresses, using the `mailto:` prefix e.g. `mailto:foo@bar.com`, will launch your email client.
- More shortcuts can be added to `~/.gmrunrc` (See #Configuration below) or you can modify the system-wide file at `/etc/gmrunc`.
- You can enter search mode by entering `!` as the first letter, the title should change from Run program to Search, letters you input will then automatically come up with suggestions from your command history.
- `Ctrl-r` will allow you to search backwards through that history.
- `Ctrl-s` will search forward through the history.
- `Ctrl-g` will cancel the search.
- If an extension has been defined in the configuration file, files can be launched by the correct program just by typing the file name.
- Press `Esc` to close Gmrun, without running anything.

## Configuration

The configuration file is located at `/etc/gmrunrc` but you can create a per-user configuration (recommended) in `~/.gmrunrc`. Please note that `%u` is expanded to the full command entered, `%s` is the last part after the shortcut (e.g. if you enter the URL `https://archlinux.org`, `%u` would keep `https://archlinux.org` and `%s` would shorten to `//archlinux.org`. )

Here is an example configuration file.

    ~/.gmrunrc

    # gmrun configuration file
    # gmrun is (C) Mihai Bazon, <mishoo@infoiasi.ro>
    # GPL v2.0 applies

    # Set terminal
    Terminal = urxvt
    TermExec = ${Terminal} -e
    AlwaysInTerm = ssh telnet ftp lynx mc vi vim pine centericq perldoc man

    # Set window geometry (except height)
    Width = 400
    Top = 300
    Left = 450

    # History size
    History = 256

    # Shows last history line selected when invoked
    ShowLast = 1

    # Show files starting with '.'
    # Default is 0 (off), set it to 1 if you want "hidden" files to show up
    # in the completion window
    ShowDotFiles = 0

    # Timeout (in milliseconds) after which gmrun will simulate a TAB press
    # Set this to NULL if do not like this feature.
    TabTimeout = 0

    # URL handlers
    # If the entered text is "http://www.google.com" then:
    #   - %u gets replaced with the whole URL ("http://www.google.com")
    #   - %s gets replaced with "//www.google.com".  This is useful for URL-s
    #     like "man:printf" --> %s will get replaced with "printf"
    URL_http = firefox %u
    URL_mailto = firefox -remote "mailto(%s)"
    URL_man = ${TermExec} 'man %s'
    URL_info = ${TermExec} 'info %s'
    URL_pd = ${TermExec} 'perldoc %s'
    URL_file = pcmanfm %s
    URL_readme = ${TermExec} 'less /usr/doc/%s/README'
    URL_info = ${TermExec} 'info %s'
    URL_sh = sh -c '%s'
    URL_paci = ${TermExec} 'pacman -S %s'
    URL_pacs = ${TermExec} 'pacman -Ss %s'

    # extension handlers
    EXT:doc,rtf = AbiWord %s
    EXT:txt,cc,cpp,h,java,html,htm,epl,tex,latex,js,css,xml,xsl,am,php,css,js,py,rb = gedit %s
    EXT:mpeg,mpg,avi,mkv,flv = vlc %s
    EXT:mp3,ogg,m4a,wmv,wma = deadbeef %s
    EXT:ps = gv %s
    EXT:pdf = epdfview %s

ShowDotFiles (1 or 0)
  whether to show dotfiles (e.g. `.gmrunrc`) in the auto-complete menu.
TabTimeout (1 or 0)
  Whether to show the tab complete menu automatically when something is inputted.
Terminal
  The command to run when `Ctrl+Enter` is pressed without other input.
TermExec
  The command to run when running a specific command in the terminal (e.g. `ls ~`).
URL_http
  The command to run when a web address is entered.
URL_mailto
  The command to run when an email address is entered.
EXT
  extension: The application to open files with a certain extension.
Top and Left
  The placement of the Gmrun window (in pixels from the respective edge).
Width
  The width in pixels of the window.
History
  Length of command history that is stored.

### Adding custom shortcuts

Shortcuts can easily be added. For example, to use g as a shortcut for Google searches, add:

    URL_g = firefox 'https://www.google.com/search?q=%25s'

Which is then used like this:

    g:Arch

## Key bindings

You can use your desktop environment's or window manager's keybinding settings to set one for Gmrun.

Category:

- Application launchers