Giter Club home page Giter Club logo

xstarter's Introduction

xstarter

xstarter is an application launcher for Linux

It lives in terminal and works well with tiling window managers (e.g. xmonad, i3 etc).

Current version: 0.8.2

Branch Build
master Build Status
dev Build Status

Check out Emacs interface for xstarter

xstarter screenshot

Installation

See installation guide

Features

  • a clean, simple interface that works on various terminals
  • able to search for applications using environment variables (e.g. $PATH) and user-provided list of directories
  • can be configured to launch via a key-binding
  • can optionally open an application in terminal (see key shortcuts)
  • allows to provide arguments to applications (see key shortcuts)
  • remembers previously launched applications allowing to find them more quickly
  • allows fuzzy search (parts of the query can be separated with a space)
  • applications can be launched with 1, 2, ..., 0 keys, depending on their position in the search results
  • fast, uses cache by default
  • easy to configure via a single text file
  • is able to run an application and detach it from terminal (e.g. xstarter -e firefox)
  • can provide contents of the cache to outside programs (xstarter -P)

Running xstarter

xstarter needs to be launched from a terminal ($ xstarter). It is useful to run it using a key binding, preferably by binding your preferred key to a command starting xstarter from a terminal of your choice, e.g. xterm -e xstarter. Alternatively, you can simply bind it to xstarter in which case xstarter will open itself in a terminal.

You can also create an alias in your shell (e.g. bash, zsh): alias xs=xstarter.

It should run on any modern terminal. It is tested on: xterm, rxvt, gnome-terminal, xfce4-terminal, konsole. In case of any problems please report it.

Configuration

Configuration file is available and includes comments that explain configuration variables. It is located in the ~/.xstarter.d/ directory.

Providing arguments to applications

You can provide arguments to applications you wish to open.

  • If the number of search results is equal to 1, you can provide arguments the selected application should be started with, e.g. surf gnu.org
  • You can provide multiple arguments, e.g. emacs -nw -Q
  • You can select the application you want to provide arguments for by pressing Tab key
  • This feature works both with GUI (press Enter to start) and terminal applications (press C-o to start)

Key shortcuts

Use numbers 1..9 and 0 to open an application from the list.

By default, the following shortcuts are available:

Shortcut Action
Return (enter) Open selected application
C-o Open selected application in terminal (defined by "terminal" variable in the config file, xterm by default)
C-n Move down the list
C-p Move up the list
C-g Quit
C-d Delete entered character
C-w Delete entire query
Tab Auto-complete using current selection; allow to provide arguments

License

GPL

xstarter's People

Contributors

lchsk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

xstarter's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.