Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j0ru/kickoff
Minimalistic program launcher
https://github.com/j0ru/kickoff
launcher rust wayland
Last synced: 6 days ago
JSON representation
Minimalistic program launcher
- Host: GitHub
- URL: https://github.com/j0ru/kickoff
- Owner: j0ru
- License: gpl-3.0
- Created: 2020-12-21T14:45:53.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T19:19:43.000Z (12 days ago)
- Last Synced: 2024-10-25T03:56:56.900Z (11 days ago)
- Topics: launcher, rust, wayland
- Language: Rust
- Homepage:
- Size: 951 KB
- Stars: 402
- Watchers: 4
- Forks: 11
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust - j0ru/kickoff
- awesome-rust - j0ru/kickoff - Fast and snappy wayland program launcher [![build](https://github.com/j0ru/kickoff/actions/workflows/ci.yml/badge.svg)](https://github.com/j0ru/kickoff/actions) (Applications / System tools)
- awesome-rust - j0ru/kickoff - Fast and snappy wayland program launcher [![build](https://github.com/j0ru/kickoff/actions/workflows/ci.yml/badge.svg)](https://github.com/j0ru/kickoff/actions) (Applications / System tools)
- fucking-awesome-rust - j0ru/kickoff - Fast and snappy wayland program launcher [![build](https://github.com/j0ru/kickoff/actions/workflows/ci.yml/badge.svg)](https://github.com/j0ru/kickoff/actions) (Applications / System tools)
- fucking-awesome-rust - j0ru/kickoff - Fast and snappy wayland program launcher [![build](https://github.com/j0ru/kickoff/actions/workflows/ci.yml/badge.svg)](https://github.com/j0ru/kickoff/actions) (Applications / System tools)
README
Kickoff is heavily inspired by rofi, but not without changes made.
Like many programs, kickoff was born from an itch that no existing program seemed to relieve and my desire to learn a lower-level programming language.[![AUR version](https://img.shields.io/aur/version/kickoff?label=kickoff&logo=arch-linux&style=for-the-badge)](https://aur.archlinux.org/packages/kickoff/)
[![Crates Version](https://img.shields.io/crates/v/kickoff?style=for-the-badge)](https://crates.io/crates/kickoff)![screenshot](assets/screenshot.png)
## Install
#### Arch Linux
Use your favorite AUR manager, i.e. [blinky](https://github.com/cherti/blinky/):```bash
blinky -S kickoff
```#### Cargo
```bash
cargo install kickoff
```## Features
- Wayland native (only wlroots based compositors though)
- Fuzzy search
- Fast and snappy
- Remembers often used applications
- Argument support for launched programs
- Paste support
- Custom Input via stdin## How does it search
All programs found in $PATH are included in the search results.
This can include your additions to $PATH as long as they
are done before you launch kickoff or the program that launches kickoff
(i.e. your window manager)This list is then combined with your previous searches and sorted by the amount of usage
and how well it fits the query.## Configuration
A default configuration will be placed at `$XDG_CONFIG_HOME/kickoff/config.toml`
or can be found [here](https://github.com/j0ru/kickoff/blob/main/assets/default_config.toml).## Script integration
If you want to adapt kickoff for your use case, i.e. selecting an entry from a password manager,
you can use one of the `--from-*` options. If any of those options is defined, the default behavior of reading from `$PATH` is disabled as well as
saving the history. The latter can easily be reactivated by setting `--history `.|Option|Argument|Usage|
|------|--------|-----|
|`--from-stdin`|None| Reads a list of items from stdin |
|`--from-file`|Path| Reads a list of items from a file |
|`--from-path`|None| Walks all `$PATH` directories and adds all executables as selectable items |
|`--stdout`|None| Prints the selected result to stdout instead of trying to execute it |These can also be combined, for example, if you want to add custom commands to your usual list of programs.
```bash
echo 'Big kitty = kitty -o "font_size=20"' | kickoff --from-stdin --from-path --history ".cache/kickoff/custom_history.csv"
```### Input Format
Reading from file or stdin follows a very simple format,
spaces around the equals sign can be dropped:
```
Small kitty = kitty -o "font_size=5"
Big kitty = kitty -o "font_size=20"
^=======^ ^=====================^
| |
Displayed Name |
|
Executed Command
```### Magic Words
When reading from a file or stdin, you can use magic words to influence the generated items.
Currently, there is only one, but more might be added someday:|Word|Argument|Usage|Default|
|----|--------|-----|-------|
|%base_score| number | Sets the base score for all following entries, can be overwritten later | 0 |In this example, `Small kitty` has a base score of 0, while the others have a score of 5.
```
Small kitty = kitty -o "font_size=5"
%base_score = 5
Big kitty = kitty -o "font_size=20"
Medium kitty = kitty -o "font_size=12"
```