GithubHelp home page GithubHelp logo

wash2 / onagre Goto Github PK

View Code? Open in Web Editor NEW

This project forked from onagre-launcher/onagre

0.0 0.0 0.0 3.18 MB

A general purpose application launcher for X and wayland inspired by rofi/wofi and alfred

License: MIT License

Rust 100.00%

onagre's Introduction

Onagre

Onagre is a general purpose application launcher for X and wayland inspired by rofi/wofi and alfred and build with iced.

nord-theme-screenshot

Disclaimer

⚠️️ Onagre is currently unreleased. Until the roadmap is completed, expect breaking changes, bugs and performance issues. ⚠️

Difference with wofi/rofi

I built onagre for my main setup (sway/i3) as an alternative to wofi so it's worth mentioning there are a few differences :

  • Window transparency.
  • Rounded corners (even on sway).
  • Several default plugins (thanks to pop-launcher)
  • Change mode with prefix not rofi like modi.

Install

Dependencies :

Installation:

cargo install --git https://github.com/oknozor/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. Modes:

To change mode simply type the mode prefix followed by a space and a query. For example ddg onagre launcher will open a DuckDuckGo search query with your default browser.

Mode with no prefix are enabled by default, there entry will be mixed in the search results.

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) '='
External Shell command as launcher entries configurable $HOME/.config/onagre/config.toml
Help List available pop-launcher modes '?'

Configuration

External mode

1. Example:

You can add mode from external commands like so:

# Integrate `pass` password manager.
# Note that we need to run command in a subshell to escape double quotes and have env variables accessible.
[modes.pass]
source = "sh -c \"cd $HOME/.password-store && fd -t f . | sed s/\\.gpg//\""
# Execute this command on `enter` `%` will be replaced with the selected entry
target = "sh -c \"pass -c %\""

2. Alternate config:

You can provide alternate config and theme with the --config and --theme flags. For more info run onagre --help.

Theming

Onagre will look for a theme file in $XDG_CONFIG_DIR/onagre/theme.toml and will fall back to the default theme if none is found.

⚠ Until the theming API is stabilized you can take a look at the examples

Screenshots

Murz theme (credit to murz) murz-theme-screenshot


Nord rounded screenshot

screenshot

History mode

screenshot

Terminal mode

screenshot

File mode

Roadmap

  • default desktop entries launcher.
  • optional desktop icons.
  • custom menu from external command.
  • configurable styling.
  • config from flag.
  • prefix mode search (ex: type "de" to search for desktop entries).
  • transparency
  • packaging
  • theme config stabilization

Code of conduct

This project is bound by a code of conduct based on the contributor covenant 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 file.

onagre's People

Contributors

oknozor avatar ammgws avatar wash2 avatar

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.