Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lchsk/xstarter
Application launcher for Linux
https://github.com/lchsk/xstarter
application-launcher c dmenu dmenu-replacement launcher linux ncurses terminal unix
Last synced: 3 months ago
JSON representation
Application launcher for Linux
- Host: GitHub
- URL: https://github.com/lchsk/xstarter
- Owner: lchsk
- License: gpl-3.0
- Created: 2016-01-18T23:20:20.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-09-13T18:25:02.000Z (about 2 years ago)
- Last Synced: 2024-06-18T07:32:50.540Z (5 months ago)
- Topics: application-launcher, c, dmenu, dmenu-replacement, launcher, linux, ncurses, terminal, unix
- Language: C
- Homepage: https://xstarter.lchsk.com
- Size: 1.65 MB
- Stars: 49
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://travis-ci.org/lchsk/xstarter.svg?branch=master)](https://travis-ci.org/lchsk/xstarter)|
|`dev`|[![Build Status](https://travis-ci.org/lchsk/xstarter.svg?branch=dev)](https://travis-ci.org/lchsk/xstarter)|**Check out [Emacs interface](https://github.com/lchsk/helm-xstarter) for xstarter**
![xstarter screenshot](./docs_source/xstarter/source/data/xstarter_2.png "xstarter application launcher")
## Installation
See [installation guide](INSTALL.md)
## 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](https://github.com/lchsk/xstarter/issues/new).
## Configuration
[Configuration file](./xstarter.conf) 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