Onagre logo

GitHub Actions workflow status GitHub Actions workflow status
Conventional commits Repository license

Website · Get Started

A general purpose application launcher for X and wayland inspired
by rofi/wofi and alfred,
build with iced and pop-launcher.

--- https://user-images.githubusercontent.com/24563836/170211716-7822ec0b-94d1-414e-a131-cf91af540ca4.mp4 Onagre is build on top of [pop-launcher](https://github.com/pop-os/launcher) which makes it very versatile. The pop-launcher plugin system allow you to extend Onagre with plugins from the community or even write your own using any programming language. ## Features - Works on x11 and wayland. - Fully customizable theme. - Default plugins: calc, files, pop_shell, recent, terminal, desktop entries, find, pulse, scripts, web. - Can be extended with [pop-launcher](https://github.com/pop-os/launcher) plugins. ## Install **Dependencies:** - ⚠️ [pop-launcher](https://github.com/pop-os/launcher) > 1.2.4 **Rust 1.8 introduced a breaking change in the way sorting is handled, onagre will unexpectedly crash with older version of pop launcher.** **Currently, for arch users, the only way to get the latest version of pop-launcher is to build it from source.** - [Qalculate](http://qalculate.github.io/) (optional) [![Packaging status](https://repology.org/badge/vertical-allrepos/onagre.svg)](https://repology.org/project/onagre/versions) If there is no distro package available for Onagre in your preferred manager, you need Rust and [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html) to build it. **From source:** ```bash git clone https://github.com/oknozor/onagre.git cd onagre cargo build --release --locked sudo mv target/release/onagre /usr/bin/onagre ``` **Latest release with cargo:** ```bash cargo install --git https://github.com/onagre-launcher/onagre --tag 1.0.0 ``` **Latest upstream with cargo:** ```bash cargo install --git https://github.com/onagre-launcher/onagre ``` ## Usage **1. Key bindings:** | Key | Action | |:----------------|:-----------------------------| | `Arrow up/down` | Change selection | | `Tab` | Autocomplete (in files mode) | | `Esc` | Quit without launching | | `Enter` | Launch selection | **2. Plugins:** To use a plugin simply match its regex when typing your query. For instance the `file` plugin will match `^(/|~).*`, typing `~/` would enable the plugin and start the file navigation. Plugin with no prefix are enabled by default, there entry will be mixed in the search results. **Default plugins:** | Mode | Description | Prefix | Configuration | |:------------|:--------------------------------------------------------------|:-----------------|:---------------------------------------------------------| | History | Display the most used desktop entries on start | | | | PopLauncher | Search for desktop entries | | | | Pulse | Control PulseAudio devices and volume | | | | Script | Shell scripts as launcher options | | `$HOME/.local/share/pop-launcher/scripts` | | Terminal | Terminal or background commands | 'run ' | | | Web | Web search | 'ddg ', 'g', ... | `$HOME/.local/share/pop-launcher/plugins/web/config.ron` | | Files | Find files using fd/find | 'find ' | | | Recent | Recently-opened document search | 'recent ' | | | Calc | Calculator with unit conversion (uses Qalculate! expressions) | '= ' | | | Help | List available pop-launcher modes | '?' | | ## Theming Onagre will look for a theme file in `$XDG_CONFIG_HOME/onagre/theme.scss` and will fallback to the default theme if none is found or if your theme contains syntax errors. To ensure your theme is correctly formatted run `onagre` from the terminal. For a detailed guide refer to [wiki -> theming](https://github.com/oknozor/onagre/wiki/Theming) , or take a look at the [theme examples directory](docs/theme_examples). ## Gallery --- default-theme-screenshot *Default theme* --- murz-theme-screenshot [*Murz*](docs/theme_examples/murz.scss) (credit to [murz](https://github.com/Murzchnvok/rofi-collection)) --- simple-theme-screenshot [*Nord*](docs/theme_examples/nord-rounded.scss) --- not-adwaita-theme-screenshot [*Not-Adwaita*](docs/theme_examples/not-adwaita.scss) --- solarized-theme-screenshot [*Solarized*](docs/theme_examples/solarized.scss) --- darcula-theme-screenshot *Darcula* --- darcula-theme-screenshot *Hollow* ___ ## Related projects - [pop-launcher](https://github.com/pop-os/launcher) - [pop-shell](https://github.com/pop-os/shell/) - [cosmic-launcher](https://github.com/pop-os/cosmic-launcher) ## Code of conduct This project is bound by a [code of conduct](CODE_OF_CONDUCT.md) based on the [contributor covenant](https://www.contributor-covenant.org/) if you are not familiar with it, and want to contribute please, read it before going further. ## Contributing Having a question or suggestion for a new feature ? Feel free to open an issue or submit a PR. Currently, what we need the most is feedback from users using different window managers and hardware. If Onagre does not work out of the box for you *please let us know*, so we can fix it. ## License All the code in this repository is released under the MIT License, for more information take a look at the [LICENSE](LICENSE) file. ## Thanks Credit to [@themou3ad](https://github.com/themou3ad) for the logo!